From c0c1576bf20e9cb61265c8332fcf981c72459426 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 10 Jul 2024 01:32:11 +0900 Subject: [PATCH 001/132] (#24567) libjxl: add version 0.10.3 --- recipes/libjxl/all/conandata.yml | 3 +++ recipes/libjxl/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/libjxl/all/conandata.yml b/recipes/libjxl/all/conandata.yml index 431db14e7df517..a7d688f285681d 100644 --- a/recipes/libjxl/all/conandata.yml +++ b/recipes/libjxl/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.10.3": + url: "https://github.com/libjxl/libjxl/archive/v0.10.3.zip" + sha256: "a9e2103f61ab79f5561b506ad03fcba33207263284b1a796eba3ca826ab0a75f" "0.10.2": url: "https://github.com/libjxl/libjxl/archive/v0.10.2.zip" sha256: "910ab4245eebe0fba801a057f5fbc4fe96dad7c9979880bb49ad3e2623a911a2" diff --git a/recipes/libjxl/config.yml b/recipes/libjxl/config.yml index e16cb400c4480c..efc7447d069436 100644 --- a/recipes/libjxl/config.yml +++ b/recipes/libjxl/config.yml @@ -1,4 +1,6 @@ versions: + "0.10.3": + folder: all "0.10.2": folder: all "0.8.2": From 4438cde95f3fdc7bf7338d607d66100d89d6f98b Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 10 Jul 2024 16:13:22 +0900 Subject: [PATCH 002/132] (#24568) libcoro: add version 0.12 --- recipes/libcoro/all/conandata.yml | 3 +++ recipes/libcoro/all/conanfile.py | 2 +- recipes/libcoro/config.yml | 2 ++ 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/recipes/libcoro/all/conandata.yml b/recipes/libcoro/all/conandata.yml index 1587140b431f7b..4568b8acd64074 100644 --- a/recipes/libcoro/all/conandata.yml +++ b/recipes/libcoro/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.12": + url: "https://github.com/jbaldwin/libcoro/archive/refs/tags/v0.12.tar.gz" + sha256: "9a89f329e12fda7d6425523fb2cbd1ebaf41e0e1d41e210d93ad4f3a196333a2" "0.11.1": url: "https://github.com/jbaldwin/libcoro/archive/refs/tags/v0.11.1.tar.gz" sha256: "c7eb1bf133519ec0e0bc2e3e018ac4d1447a143e5e7385dab19204277d7c7671" diff --git a/recipes/libcoro/all/conanfile.py b/recipes/libcoro/all/conanfile.py index 60b120e4f9dc5d..0e6a519c861240 100644 --- a/recipes/libcoro/all/conanfile.py +++ b/recipes/libcoro/all/conanfile.py @@ -13,10 +13,10 @@ class LibcoroConan(ConanFile): name = "libcoro" description = "C++20 coroutine library" - topics = ("coroutines", "concurrency", "tasks", "executors", "networking") license = "Apache-2.0" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/jbaldwin/libcoro" + topics = ("coroutines", "concurrency", "tasks", "executors", "networking") package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { diff --git a/recipes/libcoro/config.yml b/recipes/libcoro/config.yml index a682e35c6d452b..2dd41938c3d099 100644 --- a/recipes/libcoro/config.yml +++ b/recipes/libcoro/config.yml @@ -1,4 +1,6 @@ versions: + "0.12": + folder: all "0.11.1": folder: all "0.10": From 22eb723c0e5589615d9a68b8b990cde2c7a1765f Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Wed, 10 Jul 2024 10:52:37 +0200 Subject: [PATCH 003/132] (#24563) openexr 2.x: avoid conflict in PkgConfigDeps PkgConfigDeps generate OpenEXR.pc for openexr_ilmimf component , while an unwanted openexr.pc file is generated by default by "global" component. To avoid conflict on case-insensitive file systems like Windows, we enforce an another custom pkg_config_name for this global component. --- recipes/openexr/2.x/conanfile.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/recipes/openexr/2.x/conanfile.py b/recipes/openexr/2.x/conanfile.py index 564b19b00cd64f..8cf1e63318981e 100644 --- a/recipes/openexr/2.x/conanfile.py +++ b/recipes/openexr/2.x/conanfile.py @@ -141,6 +141,9 @@ def package_info(self): # waiting an implementation of https://github.com/conan-io/conan/issues/9000 self.cpp_info.set_property("cmake_file_name", "OpenEXR") + # Avoid conflict in PkgConfigDeps with OpenEXR.pc file coming from openexr_ilmimf component + self.cpp_info.set_property("pkg_config_name", "openexr_conan_full_package") + lib_suffix = "" if not self.options.shared or self.settings.os == "Windows": openexr_version = Version(self.version) From d2c702f13cf5ee574348c47d65576d42eef7b2ba Mon Sep 17 00:00:00 2001 From: Uilian Ries Date: Wed, 10 Jul 2024 13:19:37 +0200 Subject: [PATCH 004/132] (#24573) config: Update Conan client version to 2.5.0 Signed-off-by: Uilian Ries --- .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 de3c880433421b..7866aab966417a 100644 --- a/.c3i/config_v2.yml +++ b/.c3i/config_v2.yml @@ -3,7 +3,7 @@ id: 'conan-io/conan-center-index' conan: - version: 2.3.1 + version: 2.5.0 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 cb05d4b36538b408b8d5d7ca7ce40dba9d7ab568 Mon Sep 17 00:00:00 2001 From: Raziel Alphadios <64050682+RazielXYZ@users.noreply.github.com> Date: Wed, 10 Jul 2024 05:31:50 -0700 Subject: [PATCH 005/132] (#24570) meshoptimizer: add version 0.21 --- recipes/meshoptimizer/all/conandata.yml | 3 +++ recipes/meshoptimizer/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/meshoptimizer/all/conandata.yml b/recipes/meshoptimizer/all/conandata.yml index 123647cd81c5f6..94a9a85900a6d5 100644 --- a/recipes/meshoptimizer/all/conandata.yml +++ b/recipes/meshoptimizer/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.21": + url: "https://github.com/zeux/meshoptimizer/archive/refs/tags/v0.21.tar.gz" + sha256: "050A5438E4644833FF69F35110FCF4E37038A89C5FDC8AED45D8CD848ECB3A20" "0.20": url: "https://github.com/zeux/meshoptimizer/archive/refs/tags/v0.20.tar.gz" sha256: "CF1077A83958BED3D8DA28A841CA53A6A42D871E49023EDCE64E37002A0F5A48" diff --git a/recipes/meshoptimizer/config.yml b/recipes/meshoptimizer/config.yml index 31e2badfe4c2f6..bb6c09f07b3de1 100644 --- a/recipes/meshoptimizer/config.yml +++ b/recipes/meshoptimizer/config.yml @@ -1,4 +1,6 @@ versions: + "0.21": + folder: all "0.20": folder: all "0.17": From 483c5dfa23eb8273c67c57eed7096523757702e5 Mon Sep 17 00:00:00 2001 From: Uilian Ries Date: Wed, 10 Jul 2024 14:42:48 +0200 Subject: [PATCH 006/132] (#24576) docs: Changelog 2024 July 10 * Update changelog with Conan 2.5.0 Signed-off-by: Uilian Ries * Update changelog with Conan 2.5.0 Signed-off-by: Uilian Ries * Update docs/changelog.md --------- 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 b1227371013416..97b4bcc886c5cb 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -1,5 +1,10 @@ # Changelog +### 10-Jul-2024 - 13:22 CEST + +- [feature] Add support for Conan 2.5.0 in the CI +- [fix] Invalid configuration from tool requirement in Conan 1.x + ### 22-May-2024 - 12:04 CEST - [feature] Add support for Conan 2.3.1 in the CI From dfdacfc892b77aed16efb99146b7b1e772905a67 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 10 Jul 2024 21:53:05 +0900 Subject: [PATCH 007/132] (#24572) yyjson: add version 0.10.0 --- recipes/yyjson/all/conandata.yml | 3 +++ recipes/yyjson/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/yyjson/all/conandata.yml b/recipes/yyjson/all/conandata.yml index 856586629c80e6..bd4149d8226884 100644 --- a/recipes/yyjson/all/conandata.yml +++ b/recipes/yyjson/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.10.0": + url: "https://github.com/ibireme/yyjson/archive/refs/tags/0.10.0.tar.gz" + sha256: "0d901cb2c45c5586e3f3a4245e58c2252d6b24bf4b402723f6179523d389b165" "0.9.0": url: "https://github.com/ibireme/yyjson/archive/refs/tags/0.9.0.tar.gz" sha256: "59902bea55585d870fd7681eabe6091fbfd1a8776d1950f859d2dbbd510c74bd" diff --git a/recipes/yyjson/config.yml b/recipes/yyjson/config.yml index b8cc90950df516..b53dac867c374d 100644 --- a/recipes/yyjson/config.yml +++ b/recipes/yyjson/config.yml @@ -1,4 +1,6 @@ versions: + "0.10.0": + folder: all "0.9.0": folder: all "0.8.0": From a264caad00d59efd8f82aedb8c4e61f913a5b610 Mon Sep 17 00:00:00 2001 From: Uilian Ries Date: Wed, 10 Jul 2024 15:01:38 +0200 Subject: [PATCH 008/132] (#24576) docs: Changelog 2024 July 10 * Update changelog with Conan 2.5.0 Signed-off-by: Uilian Ries * Update changelog with Conan 2.5.0 Signed-off-by: Uilian Ries * Update docs/changelog.md --------- Signed-off-by: Uilian Ries From efd720ca6e8ac24f62d59ee73a43452d4a832fe0 Mon Sep 17 00:00:00 2001 From: Ingmar Rieger Date: Wed, 10 Jul 2024 22:27:31 +0200 Subject: [PATCH 009/132] (#23086) metal-cpp: Add header only library metal-cpp from Apple * metal-cpp - Add library metal-cpp is a library to use Metal (Apple GPU programing language) on Apple systems. This is header only and doesn't link a framework, as not all requirements are equal. * Add a temporary note * Add options for header only or building a library * Allow buildable library as well as header only and add test package * Cleanup and test package fixes * Change to pure header only * Check C++ version for test_package * Enforce C++17 standard * Fix typo in project name * Try to add better check for compatible target OS/SDK version * metal-cpp refactor logic to determine sdk * Fix * Small fixes & cleanups --------- Co-authored-by: Luis Caro Campos <3535649+jcar87@users.noreply.github.com> --- recipes/metal-cpp/all/conandata.yml | 30 ++++++ recipes/metal-cpp/all/conanfile.py | 92 +++++++++++++++++++ .../metal-cpp/all/test_package/CMakeLists.txt | 8 ++ .../metal-cpp/all/test_package/conanfile.py | 32 +++++++ .../all/test_package/test_package.cpp | 18 ++++ recipes/metal-cpp/config.yml | 9 ++ 6 files changed, 189 insertions(+) create mode 100644 recipes/metal-cpp/all/conandata.yml create mode 100644 recipes/metal-cpp/all/conanfile.py create mode 100644 recipes/metal-cpp/all/test_package/CMakeLists.txt create mode 100644 recipes/metal-cpp/all/test_package/conanfile.py create mode 100644 recipes/metal-cpp/all/test_package/test_package.cpp create mode 100644 recipes/metal-cpp/config.yml diff --git a/recipes/metal-cpp/all/conandata.yml b/recipes/metal-cpp/all/conandata.yml new file mode 100644 index 00000000000000..2fd6dd33feee7b --- /dev/null +++ b/recipes/metal-cpp/all/conandata.yml @@ -0,0 +1,30 @@ +sources: + "14.2": + url: "https://developer.apple.com/metal/cpp/files/metal-cpp_macOS14.2_iOS17.2.zip" + sha256: "d800ddbc3fccabce3a513f975eeafd4057e07a29e905ad5aaef8c1f4e12d9ada" + "14": + url: "https://developer.apple.com/metal/cpp/files/metal-cpp_macOS14_iOS17-beta.zip" + sha256: "2009a339ecbd56b36601435fe08c415749f8ad09145755472bb637b319003367" + "13.3": + url: "https://developer.apple.com/metal/cpp/files/metal-cpp_macOS13.3_iOS16.4.zip" + sha256: "0afd87ca851465191ae4e3980aa036c7e9e02fe32e7c760ac1a74244aae6023b" + "13": + url: "https://developer.apple.com/metal/cpp/files/metal-cpp_macOS13_iOS16.zip" + sha256: "6f741894229e9c750add1afc3797274fc008c7507e2ae726370c17c34b7c6a68" +minimum_os_version: + "14.2": + "Macos": "14.2" + "iOS": "17.2" + "tvOS": "17.2" + "14": + "Macos": "14" + "iOS": "17" + "tvOS": "17" + "13.3": + "Macos": "13.3" + "iOS": "16.4" + "tvOS": "16.4" + "13": + "Macos": "13" + "iOS": "16" + "tvOS": "16" diff --git a/recipes/metal-cpp/all/conanfile.py b/recipes/metal-cpp/all/conanfile.py new file mode 100644 index 00000000000000..2efbdaef9686f5 --- /dev/null +++ b/recipes/metal-cpp/all/conanfile.py @@ -0,0 +1,92 @@ +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.apple import XCRun +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 +import platform + +required_conan_version = ">=1.53.0" + + +class MetalcppConan(ConanFile): + name = "metal-cpp" + description = ( + "Library for the usage of Apple Metal GPU programming in C++ applications - " + "Header-only library to wrap Metal in C++ classes" + ) + license = "Apache-2.0" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://developer.apple.com/metal/cpp/" + topics = ("metal", "gpu", "apple", "header-only") + + 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() + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def validate(self): + os_name = str(self.settings.os) + if not os_name in ["Macos", "iOS", "tvOS"]: + raise ConanInvalidConfiguration("Metal can only be used on an Macos, iOS or tvOS platform.") + + if self.settings.compiler.get_safe("cppstd"): + min_cppstd = "17" + check_min_cppstd(self, min_cppstd) + + minimum_os_version = self.conan_data["minimum_os_version"][self.version][os_name] + + xcrun = XCRun(self) + os_version = self.settings.get_safe("os.version") + sdk_version = self.settings.get_safe("os.sdk_version") + visible_sdk_version = xcrun.sdk_version if platform.system() == "Darwin" else None + + sdk_version = sdk_version or os_version or visible_sdk_version + + if sdk_version is None: + # Will raise when `os.version` or `os.sdk_version` are not defined + # and we are *NOT* running this on macOS + raise ConanInvalidConfiguration(f"metal-cpp {self.version} requires the os.version or sdk.version settings, but the are not defined") + + if sdk_version < Version(minimum_os_version): + raise ConanInvalidConfiguration(f"metal-cpp {self.version} requires {os_name} SDK version {minimum_os_version} but {sdk_version} is the target.") + + def package(self): + copy( + self, + pattern="LICENSE.txt", + dst=os.path.join(self.package_folder, "licenses"), + src=os.path.join(self.source_folder) + ) + copy( + self, + pattern="**.hpp", + dst=os.path.join(self.package_folder, "include"), + src=os.path.join(self.source_folder), + keep_path=True + ) + + def package_info(self): + self.cpp_info.set_property("cmake_file_name", "metal-cpp") + self.cpp_info.set_property("cmake_target_name", "metal-cpp::metal-cpp") + self.cpp_info.set_property("pkg_config_name", "metal-cpp") + self.cpp_info.bindirs = [] + self.cpp_info.frameworkdirs = [] + self.cpp_info.libdirs = [] + self.cpp_info.resdirs = [] + + self.cpp_info.frameworks = ["Foundation", "Metal", "MetalKit", "QuartzCore"] + if self.version >= Version('14'): + self.cpp_info.frameworks.append("MetalFX") diff --git a/recipes/metal-cpp/all/test_package/CMakeLists.txt b/recipes/metal-cpp/all/test_package/CMakeLists.txt new file mode 100644 index 00000000000000..640984ec9c7f05 --- /dev/null +++ b/recipes/metal-cpp/all/test_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.12) +project(test_package LANGUAGES CXX) + +find_package(metal-cpp REQUIRED) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE metal-cpp::metal-cpp) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) diff --git a/recipes/metal-cpp/all/test_package/conanfile.py b/recipes/metal-cpp/all/test_package/conanfile.py new file mode 100644 index 00000000000000..e28de31d33b1c1 --- /dev/null +++ b/recipes/metal-cpp/all/test_package/conanfile.py @@ -0,0 +1,32 @@ +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.apple import is_apple_os +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 validate(self): + if not is_apple_os(self): + raise ConanInvalidConfiguration("Metal can only be used on an Apple OS.") + + 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/metal-cpp/all/test_package/test_package.cpp b/recipes/metal-cpp/all/test_package/test_package.cpp new file mode 100644 index 00000000000000..bb32b01f0db926 --- /dev/null +++ b/recipes/metal-cpp/all/test_package/test_package.cpp @@ -0,0 +1,18 @@ +#include + +#define NS_PRIVATE_IMPLEMENTATION +#define MTL_PRIVATE_IMPLEMENTATION + +#include +#include + + +int main() +{ + // Create a metal device to check the library functions + MTL::Device* metalDevice = MTL::CreateSystemDefaultDevice(); + + std::cout << "Metal device detected: " << metalDevice->name()->cString(NS::ASCIIStringEncoding) << std::endl; + + return EXIT_SUCCESS; +} diff --git a/recipes/metal-cpp/config.yml b/recipes/metal-cpp/config.yml new file mode 100644 index 00000000000000..1f484bca5aa179 --- /dev/null +++ b/recipes/metal-cpp/config.yml @@ -0,0 +1,9 @@ +versions: + "14.2": + folder: all + "14": + folder: all + "13.3": + folder: all + "13": + folder: all From 99c8d12205f73ff32e6e61c9c519b86f14a2d8a5 Mon Sep 17 00:00:00 2001 From: Oleksandr Koval <37271580+OleksandrKvl@users.noreply.github.com> Date: Thu, 11 Jul 2024 00:52:22 +0300 Subject: [PATCH 010/132] (#24579) sbepp: add version 1.4.0 --- recipes/sbepp/all/conandata.yml | 3 +++ recipes/sbepp/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/sbepp/all/conandata.yml b/recipes/sbepp/all/conandata.yml index 8308d9f0765f6d..e2b77352008d8e 100644 --- a/recipes/sbepp/all/conandata.yml +++ b/recipes/sbepp/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.4.0": + url: "https://github.com/OleksandrKvl/sbepp/archive/refs/tags/1.4.0.tar.gz" + sha256: "64112ed22d6c82debc70a4c097f3fcd05a4bd280dca7e2013edbd6bebfd1da56" "1.3.0": url: "https://github.com/OleksandrKvl/sbepp/archive/refs/tags/1.3.0.tar.gz" sha256: "44caa61681c7f94c840a2f2a247a0385e9e61c6e8639b9f7561c9d62125f9486" diff --git a/recipes/sbepp/config.yml b/recipes/sbepp/config.yml index 2fb2f4162d6a39..60f8f892f1bc0d 100644 --- a/recipes/sbepp/config.yml +++ b/recipes/sbepp/config.yml @@ -1,4 +1,6 @@ versions: + "1.4.0": + folder: all "1.3.0": folder: all "1.2.0": From a951d754697c07ee39080b3df64ea2a284cd21f2 Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 11 Jul 2024 17:31:08 +0900 Subject: [PATCH 011/132] (#24580) meson: add version 1.5.0, remove older versions --- recipes/meson/all/conandata.yml | 50 ++++++--------------------------- recipes/meson/config.yml | 30 ++------------------ 2 files changed, 10 insertions(+), 70 deletions(-) diff --git a/recipes/meson/all/conandata.yml b/recipes/meson/all/conandata.yml index 57f4fedf15a32d..ff346a78a0f7da 100644 --- a/recipes/meson/all/conandata.yml +++ b/recipes/meson/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.5.0": + url: "https://github.com/mesonbuild/meson/archive/1.5.0.tar.gz" + sha256: "781913826fb6f478eb7d77e1942ab3df39444e4c90e9a3523737e215171db469" "1.4.1": url: "https://github.com/mesonbuild/meson/archive/1.4.1.tar.gz" sha256: "a7efc72ecb873c5a62031ade1921a7177b67cfdcb2e9410a7ab023f9e8192f4b" @@ -29,60 +32,23 @@ sources: "1.1.1": url: "https://github.com/mesonbuild/meson/releases/download/1.1.1/meson-1.1.1.tar.gz" sha256: "d04b541f97ca439fb82fab7d0d480988be4bd4e62563a5ca35fadb5400727b1c" + # qt requires 1.1.0 "1.1.0": url: "https://github.com/mesonbuild/meson/archive/1.1.0.tar.gz" sha256: "f29a3e14062043d75e82d16f1e41856e6b1ed7a7c016e10c7b13afa7ee6364cc" - "1.0.1": - url: "https://github.com/mesonbuild/meson/archive/1.0.1.tar.gz" - sha256: "4ab3a5c0060dc22bdefb04507efc6c38acb910e91bcd467a38e1fa211e5a6cfe" + # wayland-protocols requires 1.0.0 "1.0.0": url: "https://github.com/mesonbuild/meson/releases/download/1.0.0/meson-1.0.0.tar.gz" sha256: "aa50a4ba4557c25e7d48446abfde857957dcdf58385fffbe670ba0e8efacce05" - "0.64.1": - url: "https://github.com/mesonbuild/meson/archive/0.64.1.tar.gz" - sha256: "1d12a4bc1cf3ab18946d12cf0b6452e5254ada1ad50aacc97f87e2cccd7da315" - "0.64.0": - url: "https://github.com/mesonbuild/meson/archive/0.64.0.tar.gz" - sha256: "6477993d781b6efea93091616a6d6a0766c0e026076dbeb11249bf1c9b49a347" - "0.63.3": - url: "https://github.com/mesonbuild/meson/archive/0.63.3.tar.gz" - sha256: "7c516c2099b762203e8a0a22412aa465b7396e6f9b1ab728bad6e6db44dc2659" - "0.63.2": - url: "https://github.com/mesonbuild/meson/archive/0.63.2.tar.gz" - sha256: "023a3f7c74e68991154c3205a6975705861eedbf8130e013d15faa1df1af216e" - "0.63.1": - url: "https://github.com/mesonbuild/meson/archive/0.63.1.tar.gz" - sha256: "f355829f0e8c714423f03a06604c04c216d4cbe3586f3154cb2181076b19207a" - "0.63.0": - url: "https://github.com/mesonbuild/meson/archive/0.63.0.tar.gz" - sha256: "77808d47fa05875c2553d66cb6c6140c2f687b46256dc537eeb8a63889e0bea2" + # gtk requires 0.62.2 "0.62.2": url: "https://github.com/mesonbuild/meson/archive/0.62.2.tar.gz" sha256: "97108f4d9bb16bc758c44749bd25ec7d42c6a762961efbed8b7589a2a3551ea6" - "0.62.1": - url: "https://github.com/mesonbuild/meson/archive/0.62.1.tar.gz" - sha256: "9fb52e66dbc613479a5f70e46cc2e8faf5aa65e09313f2c71fa63b8afd018107" - "0.62.0": - url: "https://github.com/mesonbuild/meson/archive/0.62.0.tar.gz" - sha256: "72ac3bab701dfd597604de29cc74baaa1cc0ad8ca26ae23d5288de26abfe1c80" + # gst-plugins-base requires 0.61.2 "0.61.2": url: "https://github.com/mesonbuild/meson/archive/0.61.2.tar.gz" sha256: "33cd555314a94d52acfbb3f6f44d4e61c4ad0bfec7acf4301be7e40bb969b3a8" - "0.60.2": - url: "https://github.com/mesonbuild/meson/archive/0.60.2.tar.gz" - sha256: "fc7c2f315b5b63fee0414b0b94b5a7d0e9c71c8c9bb8487314eb5a9a33984b8d" + # gobject-introspection requires 0.59.3 "0.59.3": url: "https://github.com/mesonbuild/meson/archive/0.59.3.tar.gz" sha256: "b2c5bfd5032189a66cf6a32d98ba82d94d7d314577d8efe4d9dc159c4073f282" - "0.58.1": - url: "https://github.com/mesonbuild/meson/archive/0.58.1.tar.gz" - sha256: "78e0f553dd3bc632d5f96ab943b1bbccb599c2c84ff27c5fb7f7fff9c8a3f6b4" - "0.57.2": - url: "https://github.com/mesonbuild/meson/archive/0.57.2.tar.gz" - sha256: "cd3773625253df4fd1c380faf03ffae3d02198d6301e7c8bc7bba6c66af66096" - "0.56.2": - url: "https://github.com/mesonbuild/meson/archive/0.56.2.tar.gz" - sha256: "aaae961c3413033789248ffe6762589e80b6cf487c334d0b808e31a32c48f35f" - "0.55.3": - url: "https://github.com/mesonbuild/meson/archive/0.55.3.tar.gz" - sha256: "2b276df50c5b13ccdbfb14d3333141e9e7985aca31b60400b3f3e0be2ee6897e" diff --git a/recipes/meson/config.yml b/recipes/meson/config.yml index 7d388efa3e5aee..ef65493e12e2f5 100644 --- a/recipes/meson/config.yml +++ b/recipes/meson/config.yml @@ -1,4 +1,6 @@ versions: + "1.5.0": + folder: all "1.4.1": folder: all "1.4.0": @@ -21,39 +23,11 @@ versions: folder: all "1.1.0": folder: all - "1.0.1": - folder: all "1.0.0": folder: all - "0.64.1": - folder: all - "0.64.0": - folder: all - "0.63.3": - folder: all - "0.63.2": - folder: all - "0.63.1": - folder: all - "0.63.0": - folder: all "0.62.2": folder: all - "0.62.1": - folder: all - "0.62.0": - folder: all "0.61.2": folder: all - "0.60.2": - folder: all "0.59.3": folder: all - "0.58.1": - folder: all - "0.57.2": - folder: all - "0.56.2": - folder: all - "0.55.3": - folder: all From 04c33a88780b6850e1892606fcd738b9526a5282 Mon Sep 17 00:00:00 2001 From: trns1997 <17682846+trns1997@users.noreply.github.com> Date: Thu, 11 Jul 2024 12:28:58 +0200 Subject: [PATCH 012/132] (#23663) azure-sdk-for-cpp/1.11.3:new recipe * azure-sdk-for-cpp/1.11.3:new recipe * rmdir share folder * create a cmake wrapper to build modules seperately * add openssl as requirement * build all modules as default and add individual tests * add new line * fix linking problems * fix linter warning * simplified cmake.configure() for azure-sdk --------- Co-authored-by: trns1997 Co-authored-by: memsharded --- recipes/azure-sdk-for-cpp/all/CMakeLists.txt | 18 +++ recipes/azure-sdk-for-cpp/all/conandata.yml | 4 + recipes/azure-sdk-for-cpp/all/conanfile.py | 110 ++++++++++++++++++ .../all/test_package/CMakeLists.txt | 17 +++ .../all/test_package/conanfile.py | 33 ++++++ .../all/test_package/test_azure-core.cc | 10 ++ .../test_package/test_azure-storage-blobs.cc | 10 ++ .../test_package/test_azure-storage-common.cc | 10 ++ .../test_azure-storage-files-shares.cc | 10 ++ recipes/azure-sdk-for-cpp/config.yml | 3 + 10 files changed, 225 insertions(+) create mode 100644 recipes/azure-sdk-for-cpp/all/CMakeLists.txt create mode 100644 recipes/azure-sdk-for-cpp/all/conandata.yml create mode 100644 recipes/azure-sdk-for-cpp/all/conanfile.py create mode 100644 recipes/azure-sdk-for-cpp/all/test_package/CMakeLists.txt create mode 100644 recipes/azure-sdk-for-cpp/all/test_package/conanfile.py create mode 100644 recipes/azure-sdk-for-cpp/all/test_package/test_azure-core.cc create mode 100644 recipes/azure-sdk-for-cpp/all/test_package/test_azure-storage-blobs.cc create mode 100644 recipes/azure-sdk-for-cpp/all/test_package/test_azure-storage-common.cc create mode 100644 recipes/azure-sdk-for-cpp/all/test_package/test_azure-storage-files-shares.cc create mode 100644 recipes/azure-sdk-for-cpp/config.yml diff --git a/recipes/azure-sdk-for-cpp/all/CMakeLists.txt b/recipes/azure-sdk-for-cpp/all/CMakeLists.txt new file mode 100644 index 00000000000000..46e5bc05a5d705 --- /dev/null +++ b/recipes/azure-sdk-for-cpp/all/CMakeLists.txt @@ -0,0 +1,18 @@ +cmake_minimum_required(VERSION 3.15) +project(cmake_wrapper) + +# The cmake_wrapper allows users to build only modules they want and not the entire sdk, +# the CMakeLists.txt from source does not provide this modularity to users (it's all or nothing). + +foreach(sdk ${BUILD_LIST}) + if(${sdk} STREQUAL azure-core) + # Always build Core + add_subdirectory("src/sdk/core") + elseif(${sdk} STREQUAL azure-storage-common) + add_subdirectory("src/sdk/storage/azure-storage-common") + elseif(${sdk} STREQUAL azure-storage-blobs) + add_subdirectory("src/sdk/storage/azure-storage-blobs") + elseif(${sdk} STREQUAL azure-storage-files-shares) + add_subdirectory("src/sdk/storage/azure-storage-files-shares") + endif() +endforeach() diff --git a/recipes/azure-sdk-for-cpp/all/conandata.yml b/recipes/azure-sdk-for-cpp/all/conandata.yml new file mode 100644 index 00000000000000..62ba6f53644b15 --- /dev/null +++ b/recipes/azure-sdk-for-cpp/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "1.11.3": + url: "https://github.com/Azure/azure-sdk-for-cpp/archive/refs/tags/azure-core_1.11.3.tar.gz" + sha256: "c67e42622bf1ebafee29aa09f333e41adc24712b0c993ada5dd97c9265b444cc" diff --git a/recipes/azure-sdk-for-cpp/all/conanfile.py b/recipes/azure-sdk-for-cpp/all/conanfile.py new file mode 100644 index 00000000000000..48f2abf1a5de9d --- /dev/null +++ b/recipes/azure-sdk-for-cpp/all/conanfile.py @@ -0,0 +1,110 @@ +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 get, copy, rmdir +from conan.tools.scm import Version +import os + +required_conan_version = ">=1.54.0" + +AZURE_SDK_MODULES = ( + "azure-storage-common", + "azure-storage-blobs", + "azure-storage-files-shares" +) + +class AzureSDKForCppConan(ConanFile): + name = "azure-sdk-for-cpp" + description = "Microsoft Azure Storage Client Library for C++" + license = "Apache-2.0" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/Azure/azure-sdk-for-cpp" + topics = ("azure", "cpp", "cross-platform", "microsoft", "cloud") + package_type = "library" + settings = "os", "arch", "compiler", "build_type" + options = {"shared": [True, False], "fPIC": [True, False]} + options.update({_name: [True, False] for _name in AZURE_SDK_MODULES}) + default_options = {"shared": False, "fPIC": True} + default_options.update({_name: True for _name in AZURE_SDK_MODULES}) # Build all modules by default, let users pick what they do not want + + def export_sources(self): + copy(self, "CMakeLists.txt", src=self.recipe_folder, dst=self.export_sources_folder) + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def configure(self): + if self.options.get_safe("shared"): + self.options.rm_safe("fPIC") + + def requirements(self): + self.requires("openssl/[>=1.1 <4]") + self.requires("libcurl/[>=7.78 <9]") + self.requires("libxml2/[>=2.12.5 <3]") + + def layout(self): + cmake_layout(self, src_folder="src") + + def validate(self): + if self.settings.compiler.get_safe("cppstd"): + check_min_cppstd(self, 14) + + # Open to contributions for windows and apple + if self.settings.os != "Linux": + raise ConanInvalidConfiguration( + f"{self.ref} Conan recipe in ConanCenter still does not support {self.settings.os}, contributions to the recipe welcome.") + + if self.settings.compiler != "gcc": + raise ConanInvalidConfiguration( + f"{self.ref} Conan recipe in ConanCenter still does not support {self.settings.compiler}, contributions to the recipe welcome.") + + if self.settings.compiler == 'gcc' and Version(self.settings.compiler.version) < "6": + raise ConanInvalidConfiguration("Building requires GCC >= 6") + + def generate(self): + tc = CMakeToolchain(self) + + build_list = ["azure-core"] + for sdk in AZURE_SDK_MODULES: + if self.options.get_safe(sdk): + build_list.append(sdk) + tc.cache_variables["BUILD_LIST"] = ";".join(build_list) + + tc.variables["AZ_ALL_LIBRARIES"] = "ON" + tc.variables["FETCH_SOURCE_DEPS"] = "OFF" + tc.cache_variables["BUILD_TESTING"] = "OFF" + tc.cache_variables["BUILD_WINDOWS_UWP"] = "ON" + tc.cache_variables["DISABLE_AZURE_CORE_OPENTELEMETRY"] = "ON" + tc.cache_variables["BUILD_TRANSPORT_CURL"] = "ON" + tc.generate() + + deps = CMakeDeps(self) + 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, "share")) + + def package_info(self): + self.cpp_info.set_property("cmake_file_name", "AzureSDK") + + # core component + self.cpp_info.components["azure-core"].set_property("cmake_target_name", "Azure::azure-core") + self.cpp_info.components["azure-core"].libs = ["azure-core"] + self.cpp_info.components["azure-core"].requires.extend(["openssl::openssl", "libcurl::curl", "libxml2::libxml2"]) + + enabled_sdks = [sdk for sdk in AZURE_SDK_MODULES if self.options.get_safe(sdk)] + for sdk in enabled_sdks: + self.cpp_info.components[sdk].set_property("cmake_target_name", f"Azure::{sdk}") + self.cpp_info.components[sdk].libs = [sdk] diff --git a/recipes/azure-sdk-for-cpp/all/test_package/CMakeLists.txt b/recipes/azure-sdk-for-cpp/all/test_package/CMakeLists.txt new file mode 100644 index 00000000000000..8347b50cbb47de --- /dev/null +++ b/recipes/azure-sdk-for-cpp/all/test_package/CMakeLists.txt @@ -0,0 +1,17 @@ +cmake_minimum_required(VERSION 3.8) + +project(test_package LANGUAGES CXX) + +find_package(AzureSDK CONFIG REQUIRED) + +add_executable(test_azure-core test_azure-core.cc) +target_link_libraries(test_azure-core PRIVATE Azure::azure-core) + +add_executable(test_azure-storage-common test_azure-storage-common.cc) +target_link_libraries(test_azure-storage-common PRIVATE Azure::azure-core Azure::azure-storage-common) + +add_executable(test_azure-storage-blobs test_azure-storage-blobs.cc) +target_link_libraries(test_azure-storage-blobs PRIVATE Azure::azure-core Azure::azure-storage-common Azure::azure-storage-blobs) + +add_executable(test_azure-storage-files-shares test_azure-storage-files-shares.cc) +target_link_libraries(test_azure-storage-files-shares PRIVATE Azure::azure-core Azure::azure-storage-common Azure::azure-storage-files-shares) diff --git a/recipes/azure-sdk-for-cpp/all/test_package/conanfile.py b/recipes/azure-sdk-for-cpp/all/test_package/conanfile.py new file mode 100644 index 00000000000000..2dfe88d001d054 --- /dev/null +++ b/recipes/azure-sdk-for-cpp/all/test_package/conanfile.py @@ -0,0 +1,33 @@ +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 = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + + @property + def _tested_modules(self): + return ["azure-core", + "azure-storage-common", + "azure-storage-blobs", + "azure-storage-files-shares"] + + 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): + for module in self._tested_modules: + bin_path = os.path.join(self.cpp.build.bindirs[0], f"test_{module}") + self.run(bin_path, env="conanrun") diff --git a/recipes/azure-sdk-for-cpp/all/test_package/test_azure-core.cc b/recipes/azure-sdk-for-cpp/all/test_package/test_azure-core.cc new file mode 100644 index 00000000000000..bfd5501b811412 --- /dev/null +++ b/recipes/azure-sdk-for-cpp/all/test_package/test_azure-core.cc @@ -0,0 +1,10 @@ +#include +#include + +int main() +{ + std::vector data = {1, 2, 3, 4}; + Azure::Core::IO::MemoryBodyStream stream(data); + + return 0; +} diff --git a/recipes/azure-sdk-for-cpp/all/test_package/test_azure-storage-blobs.cc b/recipes/azure-sdk-for-cpp/all/test_package/test_azure-storage-blobs.cc new file mode 100644 index 00000000000000..23cc6b485edbc1 --- /dev/null +++ b/recipes/azure-sdk-for-cpp/all/test_package/test_azure-storage-blobs.cc @@ -0,0 +1,10 @@ +#include + +using namespace Azure::Storage::Blobs; + +int main() +{ + BlobAudience audience{"TEST"}; + + return 0; +} diff --git a/recipes/azure-sdk-for-cpp/all/test_package/test_azure-storage-common.cc b/recipes/azure-sdk-for-cpp/all/test_package/test_azure-storage-common.cc new file mode 100644 index 00000000000000..5fdbe6d99f6dcf --- /dev/null +++ b/recipes/azure-sdk-for-cpp/all/test_package/test_azure-storage-common.cc @@ -0,0 +1,10 @@ +#include + +using namespace Azure::Storage; + +int main() +{ + ContentHash contentHash{}; + + return 0; +} diff --git a/recipes/azure-sdk-for-cpp/all/test_package/test_azure-storage-files-shares.cc b/recipes/azure-sdk-for-cpp/all/test_package/test_azure-storage-files-shares.cc new file mode 100644 index 00000000000000..00034be2a01195 --- /dev/null +++ b/recipes/azure-sdk-for-cpp/all/test_package/test_azure-storage-files-shares.cc @@ -0,0 +1,10 @@ +#include + +using namespace Azure::Storage::Files::Shares; + +int main() +{ + SetSharePropertiesOptions options; + + return 0; +} diff --git a/recipes/azure-sdk-for-cpp/config.yml b/recipes/azure-sdk-for-cpp/config.yml new file mode 100644 index 00000000000000..dc736edb410438 --- /dev/null +++ b/recipes/azure-sdk-for-cpp/config.yml @@ -0,0 +1,3 @@ +versions: + "1.11.3": + folder: "all" From 2bdb16f12e24c4ce9665689c8170a0442b924947 Mon Sep 17 00:00:00 2001 From: Luis Caro Campos <3535649+jcar87@users.noreply.github.com> Date: Fri, 12 Jul 2024 09:01:59 +0100 Subject: [PATCH 013/132] (#24590) msys2: conditionally prepend pkg_config_path --- recipes/msys2/all/conanfile.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/recipes/msys2/all/conanfile.py b/recipes/msys2/all/conanfile.py index 2606f171ddcec7..752c04acf11c3c 100644 --- a/recipes/msys2/all/conanfile.py +++ b/recipes/msys2/all/conanfile.py @@ -156,8 +156,9 @@ def _do_build(self): os.utime(tmp_name, None) # Prepend the PKG_CONFIG_PATH environment variable with an eventual PKG_CONFIG_PATH environment variable + # Note: this is no longer needed when we exclusively support Conan 2 integrations replace_in_file(self, os.path.join(self._msys_dir, "etc", "profile"), - 'PKG_CONFIG_PATH="', 'PKG_CONFIG_PATH="$PKG_CONFIG_PATH:') + 'PKG_CONFIG_PATH="', 'PKG_CONFIG_PATH="${PKG_CONFIG_PATH:+${PKG_CONFIG_PATH}:}') def package(self): excludes = None From ae128e455f568818312934bfa0a5504eaf05e838 Mon Sep 17 00:00:00 2001 From: Charles Cross Date: Fri, 12 Jul 2024 01:47:43 -0700 Subject: [PATCH 014/132] (#23087) Add libsndio recipe MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Adds libsndio recipe * Adds test package * Changes package to shared-library and adds support for passing conan dep info to sndio's configure script * Addesses linting issues * Adds v1 test package * Removes reversal of library elements in ldflags construction Co-authored-by: ericLemanissier * Patches out all targets from makefile.in except libsndio * Removes leftover pass from debugging * Downloads license file from github permalink, as it is not contained in any distributed source tar * Fixes linting issue * Fixes license file download * Improvementes * Addresses review feedback, adding contextual comments and extending support to FreeBSD * Adjust whitespace according to review feedback Co-authored-by: Martin Valgur --------- Co-authored-by: ericLemanissier Co-authored-by: Rubén Rincón Blanco Co-authored-by: Martin Valgur --- recipes/libsndio/all/conandata.yml | 8 + recipes/libsndio/all/conanfile.py | 157 ++++++++++++++++++ .../libsndio/all/test_package/CMakeLists.txt | 7 + .../libsndio/all/test_package/conanfile.py | 26 +++ .../libsndio/all/test_package/test_package.c | 24 +++ recipes/libsndio/config.yml | 3 + 6 files changed, 225 insertions(+) create mode 100644 recipes/libsndio/all/conandata.yml create mode 100644 recipes/libsndio/all/conanfile.py create mode 100644 recipes/libsndio/all/test_package/CMakeLists.txt create mode 100644 recipes/libsndio/all/test_package/conanfile.py create mode 100644 recipes/libsndio/all/test_package/test_package.c create mode 100644 recipes/libsndio/config.yml diff --git a/recipes/libsndio/all/conandata.yml b/recipes/libsndio/all/conandata.yml new file mode 100644 index 00000000000000..17fe5ab522e622 --- /dev/null +++ b/recipes/libsndio/all/conandata.yml @@ -0,0 +1,8 @@ +sources: + "1.9.0": + "source": + url: "https://github.com/ratchov/sndio/archive/refs/tags/v1.9.0.tar.gz" + sha256: "4e8d77069b651d7c4bb2a50ba49004bd7fcfdfec1516f88a76457f831c17a546" + "license": + url: "https://raw.githubusercontent.com/ratchov/sndio/e10e4f836b88f8d5ea2864845e3712f560e6bed6/LICENSE" + sha256: "4ae392ab9cfbf2d6ac8522f5f4b025685d60c824979fad783aaf72d55165730f" diff --git a/recipes/libsndio/all/conanfile.py b/recipes/libsndio/all/conanfile.py new file mode 100644 index 00000000000000..adf05fa3505c49 --- /dev/null +++ b/recipes/libsndio/all/conanfile.py @@ -0,0 +1,157 @@ +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.env import VirtualBuildEnv, VirtualRunEnv +from conan.tools.files import chdir, copy, get, rmdir, replace_in_file, download +from conan.tools.gnu import Autotools, AutotoolsToolchain, AutotoolsDeps +from conan.tools.scm import Version +from conan.tools.build import cross_building +import os + +required_conan_version = ">=1.53.0" + + +class LibsndioConan(ConanFile): + name = "libsndio" + license = "ISC" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://sndio.org/" + topics = ("sndio", "sound", "audio", "midi") + description = ("A small audio and MIDI framework that provides a lightweight audio & MIDI server " + "and a user-space API to access either the server or the hardware directly in a uniform way.") + package_type = "shared-library" + settings = "os", "arch", "compiler", "build_type" + options = { + "with_alsa": [True, False] + } + default_options = { + "with_alsa": True, + } + + def configure(self): + self.settings.rm_safe("compiler.libcxx") + self.settings.rm_safe("compiler.cppstd") + + def validate(self): + if self.settings.os not in ["Linux", "FreeBSD"]: + raise ConanInvalidConfiguration(f"Unsupported OS for {self.ref}") + + if self.options.with_alsa and not self.dependencies["libalsa"].options.get_safe("shared", False): + raise ConanInvalidConfiguration(f"{self.ref} requires libalsa to be built as a shared library") + + def requirements(self): + if self.options.get_safe("with_alsa"): + self.requires("libalsa/1.2.10", options={"shared": True}) + + def build_requirements(self): + self.tool_requires("libtool/2.4.7") + + def source(self): + get(self, **self.conan_data["sources"][self.version]["source"], strip_root=True) + download(self, **self.conan_data["sources"][self.version]["license"], filename="LICENSE") + + # Remove all targets other than libsndio + lines = [ + "cd sndiod && ${MAKE} install", + "cd sndioctl && ${MAKE} install", + "cd aucat && ${MAKE} install", + "cd midicat && ${MAKE} install", + "cd sndiod && ${MAKE}", + "cd sndioctl && ${MAKE}", + "cd aucat && ${MAKE}", + "cd midicat && ${MAKE}" + ] + for line in lines: + replace_in_file(self, os.path.join(self.source_folder, "Makefile.in"), line, "") + + def generate(self): + virtual_build_env = VirtualBuildEnv(self) + virtual_build_env.generate() + + # Inject requires env vars in build scope + # It's required in case of native build when there is AutotoolsDeps & at least one dependency which might be shared, because configure tries to run a test executable + if not cross_building(self): + env = VirtualRunEnv(self) + env.generate(scope="build") + + tc = AutotoolsToolchain(self) + + # Set expected config + tc.configure_args.append("--datadir=${prefix}/res") + + # Bundled `configure` script does not support these options, so remove + exclusions = ["--enable-shared", "--disable-shared", "--disable-static", "--enable-static", "--sbindir", "--oldincludedir"] + tc.configure_args = [arg for arg in tc.configure_args if not any(exclusion in arg for exclusion in exclusions)] + + # Add alsa support + if self.options.get_safe("with_alsa"): + tc.configure_args.append("--enable-alsa") + else: + tc.configure_args.append("--disable-alsa") + + # The original project source has a hand-written `configure` script that does not expose + # many hooks for specifying additional build flags and library dependencies. Because the script is + # not auto-generated with Autotools, the standard Conan workflow of using AutoolsDeps is not possible. + # The one hook the script does provide is a command line arg: `CC=*|CFLAGS=*|LDFLAGS=*|AR=*)`. + # We use this to inject the various flags, paths, and libraries that the Conan dependency tree specifies. + dep_cflags = [] + dep_ldflags = [] + for dependency in reversed(self.dependencies.host.topological_sort.values()): + deps_cpp_info = dependency.cpp_info.aggregated_components() + + dep_cflags.extend(deps_cpp_info.cflags + deps_cpp_info.defines) + for path in deps_cpp_info.includedirs: + dep_cflags.append(f"-I{path}") + + dep_ldflags.extend(deps_cpp_info.sharedlinkflags + deps_cpp_info.exelinkflags) + for path in deps_cpp_info.libdirs: + dep_ldflags.append(f"-L{path}") + for lib in deps_cpp_info.libs + deps_cpp_info.system_libs: + dep_ldflags.append(f"-l{lib}") + + cflags = ' '.join([flag for flag in dep_cflags]) + ldflags = ' '.join([flag for flag in dep_ldflags]) + tc.configure_args.extend([ + f"CFLAGS={cflags}", + f"LDFLAGS={ldflags}" + ]) + + tc.generate() + + tc = AutotoolsDeps(self) + tc.generate() + + def build(self): + autotools = Autotools(self) + if Version(self.version) > "1.2.4": + autotools.configure() + autotools.make() + else: + with chdir(self, self.source_folder): + autotools.configure() + autotools.make() + + def package(self): + copy(self, "LICENSE", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + if Version(self.version) > "1.2.4": + autotools = Autotools(self) + autotools.install() + else: + with chdir(self, self.source_folder): + autotools = Autotools(self) + autotools.install() + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) + rmdir(self, os.path.join(self.package_folder, "share")) + rmdir(self, os.path.join(self.package_folder, "bin")) + + def package_info(self): + self.cpp_info.set_property("cmake_find_mode", "both") + self.cpp_info.set_property("cmake_file_name", "sndio") + self.cpp_info.set_property("cmake_target_name", "sndio::sndio") + self.cpp_info.set_property("pkg_config_name", "sndio") + self.cpp_info.libs = ["sndio"] + self.cpp_info.system_libs = ["dl", "m", "rt"] + + # TODO: to remove in conan v2? + self.cpp_info.names["cmake_find_package"] = "sndio" + self.cpp_info.names["cmake_find_package_multi"] = "sndio" + self.cpp_info.names["pkg_config"] = "sndio" diff --git a/recipes/libsndio/all/test_package/CMakeLists.txt b/recipes/libsndio/all/test_package/CMakeLists.txt new file mode 100644 index 00000000000000..29d5d52c61281d --- /dev/null +++ b/recipes/libsndio/all/test_package/CMakeLists.txt @@ -0,0 +1,7 @@ +cmake_minimum_required(VERSION 3.1) +project(test_package LANGUAGES C) + +find_package(sndio REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.c) +target_link_libraries(${PROJECT_NAME} PRIVATE sndio::sndio) diff --git a/recipes/libsndio/all/test_package/conanfile.py b/recipes/libsndio/all/test_package/conanfile.py new file mode 100644 index 00000000000000..0a6bc68712d901 --- /dev/null +++ b/recipes/libsndio/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/libsndio/all/test_package/test_package.c b/recipes/libsndio/all/test_package/test_package.c new file mode 100644 index 00000000000000..03387869c0a9da --- /dev/null +++ b/recipes/libsndio/all/test_package/test_package.c @@ -0,0 +1,24 @@ +#include +#include +#include +#include +#include +#include +#include +#include + +int main(int argc, char *argv[]) { + int ch; + unsigned mode = SIO_PLAY | SIO_REC; + struct sio_hdl *hdl; + + hdl = sio_open(NULL, mode, 0); + if (hdl == NULL) { + fprintf(stderr, "sio_open() failed, but test is ok\n"); + exit(0); + } else { + printf("sio_open() success" ); + } + sio_close(hdl); + return 0; +} diff --git a/recipes/libsndio/config.yml b/recipes/libsndio/config.yml new file mode 100644 index 00000000000000..95efce85442dd6 --- /dev/null +++ b/recipes/libsndio/config.yml @@ -0,0 +1,3 @@ +versions: + "1.9.0": + folder: "all" From 7b5bbf2f5643895ffe243137931cc89f5702de35 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Fri, 12 Jul 2024 14:43:17 +0300 Subject: [PATCH 015/132] (#19058) swig: migrate to Conan v2, add v4.1.1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * swig: migrate to Conan v2, add v4.1.1 * swig: fix pcre dependency * swig: test the built Python modules directly from Python * swig: remove unused _swiglibdir property * swig: fix SWIG_DIR CMake var handling * swig: avoid using the system package accidentally * swig: use as tool_requires() in tests * swig: fix test_v1_package * Add required patches fields https://github.com/conan-io/conan-center-index/blob/master/docs/adding_packages/conandata_yml_format.md#patches-fields * Fix #15324 * Fix patches fields! * swig: fix SWIG_LIB envvar not being set correctly * swig: fix pylint false positive * swig: use importlib for import test * swig: require libgettext on macOS Can't think of a better solution for ld: library not found for -lintl when building test_package * swig: simplify test_package requires for Conan v1 * swig: disable macOS tests * swig: fix Windows build * swig: bump winflexbison * swig: do not use 'build-scripts' as package type * swig: do not print PATH * swig: prefer static linking for dependencies * swig: do not use pcre2-config * swig: add an extra -FS for MSVC * swig: -FS, attempt #3 * swig: don't need pcre as a build_tool anymore * swig: bump pcre * swig: set -DHAVE_PCRE=1 * swig: AutotoolsDeps workaround on Windows * swig: use to_apple_arch * swig: don't use tool_requires in test_package --------- Co-authored-by: Julien Marrec Co-authored-by: Rubén Rincón --- .../cmake/conan-official-swig-targets.cmake | 7 - .../swig/all/cmake/conan-swig-variables.cmake | 3 + recipes/swig/all/conandata.yml | 40 ++- recipes/swig/all/conanfile.py | 256 ++++++++++-------- recipes/swig/all/test_package/CMakeLists.txt | 59 +--- recipes/swig/all/test_package/conanfile.py | 66 ++++- .../swig/all/test_v1_package/CMakeLists.txt | 8 + recipes/swig/all/test_v1_package/conanfile.py | 53 ++++ recipes/swig/config.yml | 2 + 9 files changed, 303 insertions(+), 191 deletions(-) delete mode 100644 recipes/swig/all/cmake/conan-official-swig-targets.cmake create mode 100644 recipes/swig/all/cmake/conan-swig-variables.cmake create mode 100644 recipes/swig/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/swig/all/test_v1_package/conanfile.py diff --git a/recipes/swig/all/cmake/conan-official-swig-targets.cmake b/recipes/swig/all/cmake/conan-official-swig-targets.cmake deleted file mode 100644 index 8740b23580975a..00000000000000 --- a/recipes/swig/all/cmake/conan-official-swig-targets.cmake +++ /dev/null @@ -1,7 +0,0 @@ -find_program(SWIG_EXECUTABLE swig) -if(NOT SWIG_DIR) - execute_process(COMMAND ${SWIG_EXECUTABLE} -swiglib - OUTPUT_VARIABLE SWIG_lib_output OUTPUT_STRIP_TRAILING_WHITESPACE) - set(SWIG_DIR ${SWIG_lib_output} CACHE STRING "Location of SWIG library" FORCE) -endif() -mark_as_advanced(SWIG_DIR SWIG_EXECUTABLE) diff --git a/recipes/swig/all/cmake/conan-swig-variables.cmake b/recipes/swig/all/cmake/conan-swig-variables.cmake new file mode 100644 index 00000000000000..3421127d0076f4 --- /dev/null +++ b/recipes/swig/all/cmake/conan-swig-variables.cmake @@ -0,0 +1,3 @@ +find_program(SWIG_EXECUTABLE swig) +# CMakeDeps sets SWIG_DIR to the generators folder, override it to the correct value +get_filename_component(SWIG_DIR "${SWIG_EXECUTABLE}/../swiglib" ABSOLUTE) diff --git a/recipes/swig/all/conandata.yml b/recipes/swig/all/conandata.yml index 7c4f531b134a38..5daf69357f98bf 100644 --- a/recipes/swig/all/conandata.yml +++ b/recipes/swig/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "4.1.1": + url: "https://github.com/swig/swig/archive/refs/tags/v4.1.1.tar.gz" + sha256: "4d97f9528dda8ced8b762e405dff2da38cc4603ef5f868f7287c94872f693265" "4.1.0": url: "https://github.com/swig/swig/archive/refs/tags/v4.1.0.tar.gz" sha256: "5b9313b1af5edfcea158a389520be266f013bc9be4ce933d79a30c5659ba99fe" @@ -9,18 +12,31 @@ sources: url: "https://github.com/swig/swig/archive/rel-4.0.1.tar.gz" sha256: "2eaf6fb89d071d1be280bf995c63360b3729860c0da64948123b5d7e4cfb6cb7" patches: + "4.1.1": + - patch_file: "patches/0001-4.1.0-swig-linux-library-path.patch" + patch_type: "portability" + patch_description: "swig -swiglib should return the correct path next to the binary even when relocated" + - patch_file: "patches/0002-4.1.0-do-not-define-SWIG_LIB_WIN_UNIX.patch" + patch_type: "portability" + patch_description: "swig -swiglib should return the correct path next to the binary even when relocated" "4.1.0": - - base_path: "source_subfolder" - patch_file: "patches/0001-4.1.0-swig-linux-library-path.patch" - - base_path: "source_subfolder" - patch_file: "patches/0002-4.1.0-do-not-define-SWIG_LIB_WIN_UNIX.patch" + - patch_file: "patches/0001-4.1.0-swig-linux-library-path.patch" + patch_type: "portability" + patch_description: "swig -swiglib should return the correct path next to the binary even when relocated" + - patch_file: "patches/0002-4.1.0-do-not-define-SWIG_LIB_WIN_UNIX.patch" + patch_type: "portability" + patch_description: "swig -swiglib should return the correct path next to the binary even when relocated" "4.0.2": - - base_path: "source_subfolder" - patch_file: "patches/0001-swig-linux-library-path.patch" - - base_path: "source_subfolder" - patch_file: "patches/0002-4.0.2-do-not-define-SWIG_LIB_WIN_UNIX.patch" + - patch_file: "patches/0001-swig-linux-library-path.patch" + patch_type: "portability" + patch_description: "swig -swiglib should return the correct path next to the binary even when relocated" + - patch_file: "patches/0002-4.0.2-do-not-define-SWIG_LIB_WIN_UNIX.patch" + patch_type: "portability" + patch_description: "swig -swiglib should return the correct path next to the binary even when relocated" "4.0.1": - - base_path: "source_subfolder" - patch_file: "patches/0001-swig-linux-library-path.patch" - - base_path: "source_subfolder" - patch_file: "patches/0002-4.0.1-do-not-define-SWIG_LIB_WIN_UNIX.patch" + - patch_file: "patches/0001-swig-linux-library-path.patch" + patch_type: "portability" + patch_description: "swig -swiglib should return the correct path next to the binary even when relocated" + - patch_file: "patches/0002-4.0.1-do-not-define-SWIG_LIB_WIN_UNIX.patch" + patch_type: "portability" + patch_description: "swig -swiglib should return the correct path next to the binary even when relocated" diff --git a/recipes/swig/all/conanfile.py b/recipes/swig/all/conanfile.py index 432bfb37aeca53..d1ed51bb5b9372 100644 --- a/recipes/swig/all/conanfile.py +++ b/recipes/swig/all/conanfile.py @@ -1,170 +1,192 @@ -from conan import ConanFile -from conan.tools.files import get -from conans import AutoToolsBuildEnvironment, tools -import contextlib -import functools import os -required_conan_version = ">=1.33.0" +from conan import ConanFile +from conan.tools.apple import is_apple_os, to_apple_arch +from conan.tools.env import VirtualBuildEnv, Environment +from conan.tools.files import apply_conandata_patches, chdir, copy, export_conandata_patches, get, rmdir, replace_in_file +from conan.tools.gnu import Autotools, AutotoolsDeps, AutotoolsToolchain +from conan.tools.layout import basic_layout +from conan.tools.microsoft import is_msvc, unix_path +from conan.tools.scm import Version + +required_conan_version = ">=1.53.0" class SwigConan(ConanFile): name = "swig" description = "SWIG is a software development tool that connects programs written in C and C++ with a variety of high-level programming languages." + license = "GPL-3.0-or-later" url = "https://github.com/conan-io/conan-center-index" homepage = "http://www.swig.org" - license = "GPL-3.0-or-later" - topics = ("swig", "python", "java", "wrapper") - exports_sources = "patches/**", "cmake/*" - settings = "os", "arch", "compiler", "build_type" + topics = ("python", "java", "wrapper") - @property - def _source_subfolder(self): - return "source_subfolder" + package_type = "static-library" + settings = "os", "arch", "compiler", "build_type" @property def _settings_build(self): return getattr(self, "settings_build", self.settings) + def configure(self): + # SWIG prefers static linking + self.options["pcre"].shared = False + self.options["pcre2"].shared = False + self.options["libgettext"].shared = False + + def export_sources(self): + copy(self, "cmake/*", src=self.recipe_folder, dst=self.export_sources_folder) + export_conandata_patches(self) + + def layout(self): + basic_layout(self, src_folder="src") + @property def _use_pcre2(self): - return self.version not in ['4.0.1', '4.0.2'] - + return Version(self.version) >= "4.1" def requirements(self): if self._use_pcre2: - self.requires("pcre2/10.40") + self.requires("pcre2/10.43") else: self.requires("pcre/8.45") - - 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("winflexbison/2.5.24") - else: - self.build_requires("bison/3.8.2") - self.build_requires("automake/1.16.5") + if is_apple_os(self): + self.requires("libgettext/0.22") 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) - - @property - def _user_info_build(self): - # If using the experimental feature with different context for host and - # build, the 'user_info' attributes of the 'build_requires' packages - # will be located into the 'user_info_build' object. In other cases they - # will be located into the 'deps_user_info' object. - return getattr(self, "user_info_build", self.deps_user_info) - - @contextlib.contextmanager - def _build_context(self): - env = {} - if self.settings.compiler != "Visual Studio": - env["YACC"] = self._user_info_build["bison"].YACC - if self.settings.compiler == "Visual Studio": - with tools.vcvars(self): - env.update({ - "CC": "{} cl -nologo".format(tools.unix_path(self._user_info_build["automake"].compile)), - "CXX": "{} cl -nologo".format(tools.unix_path(self._user_info_build["automake"].compile)), - "AR": "{} link".format(self._user_info_build["automake"].ar_lib), - "LD": "link", - }) - with tools.environment_append(env): - yield + 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 is_msvc(self): + self.tool_requires("cccl/1.3") + if is_msvc(self): + self.tool_requires("winflexbison/2.5.25") else: - with tools.environment_append(env): - yield - - @functools.lru_cache(1) - def _configure_autotools(self): - autotools = AutoToolsBuildEnvironment(self, win_bash=tools.os_info.is_windows) - deps_libpaths = autotools.library_paths - deps_libs = autotools.libs - deps_defines = autotools.defines - if self.settings.os == "Windows" and self.settings.compiler != "Visual Studio": - autotools.link_flags.append("-static") - - libargs = list("-L\"{}\"".format(p) for p in deps_libpaths) + list("-l\"{}\"".format(l) for l in deps_libs) - args = [ - "{}_LIBS={}".format("PCRE2" if self._use_pcre2 else "PCRE", " ".join(libargs)), - "{}_CPPFLAGS={}".format("PCRE2" if self._use_pcre2 else "PCRE", " ".join("-D{}".format(define) for define in deps_defines)), - "--host={}".format(self.settings.arch), - "--with-swiglibdir={}".format(self._swiglibdir), - ] - if self.settings.os == "Linux": - args.append("LIBS=-ldl") - - host, build = None, None + self.tool_requires("bison/3.8.2") + self.tool_requires("automake/1.16.5") - if self.settings.compiler == "Visual Studio": - self.output.warn("Visual Studio compiler cannot create ccache-swig. Disabling ccache-swig.") - args.append("--disable-ccache") - autotools.flags.append("-FS") - # MSVC canonical names aren't understood - host, build = False, False - - if self.settings.os == "Macos" and self.settings.arch == "armv8": - # FIXME: Apple ARM should be handled by build helpers - autotools.flags.append("-arch arm64") - autotools.link_flags.append("-arch arm64") + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) - autotools.libs = [] - autotools.library_paths = [] + def generate(self): + build_env = VirtualBuildEnv(self) + build_env.generate() - if self.settings.os == "Windows" and self.settings.compiler != "Visual Studio": - autotools.libs.extend(["mingwex", "ssp"]) + tc = AutotoolsToolchain(self) + env = tc.environment() - autotools.configure(args=args, configure_dir=self._source_subfolder, - host=host, build=build) - return autotools + pcre = "pcre2" if self._use_pcre2 else "pcre" + tc.configure_args += [ + f"--host={self.settings.arch}", + "--with-swiglibdir=${prefix}/bin/swiglib", + f"--with-{pcre}-prefix={self.dependencies[pcre].package_folder}", + ] + tc.extra_cflags.append("-DHAVE_PCRE=1") + if self._use_pcre2: + env.define("PCRE2_LIBS", " ".join("-l" + lib for lib in self.dependencies["pcre2"].cpp_info.libs)) + + if self.settings.os in ["Linux", "FreeBSD"]: + tc.configure_args.append("LIBS=-ldl") + tc.extra_defines.append("HAVE_UNISTD_H=1") + elif self.settings.os == "Windows": + if is_msvc(self): + env.define("CC", "cccl -FS") + env.define("CXX", "cccl -FS") + tc.configure_args.append("--disable-ccache") + else: + tc.extra_ldflags.append("-static") + tc.configure_args.append("LIBS=-lmingwex -lssp") + elif is_apple_os(self): + tc.extra_cflags.append(f"-arch {to_apple_arch(self)}") + tc.extra_cxxflags.append(f"-arch {to_apple_arch(self)}") + tc.extra_ldflags.append(f"-arch {to_apple_arch(self)}") + tc.generate(env) + + 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") + else: + deps = AutotoolsDeps(self) + deps.generate() def _patch_sources(self): - for patch in self.conan_data.get("patches", {}).get(self.version, []): - tools.patch(**patch) + apply_conandata_patches(self) + # Rely on AutotoolsDeps instead of pcre2-config + # https://github.com/swig/swig/blob/v4.1.1/configure.ac#L70-L92 + # https://github.com/swig/swig/blob/v4.0.2/configure.ac#L65-L86 + replace_in_file(self, os.path.join(self.source_folder, "configure.ac"), + 'AS_IF([test "x$with_pcre" != xno],', 'AS_IF([false],') def build(self): self._patch_sources() - with tools.chdir(os.path.join(self._source_subfolder)): - self.run("./autogen.sh", win_bash=tools.os_info.is_windows) - with self._build_context(): - autotools = self._configure_autotools() + with chdir(self, self.source_folder): + autotools = Autotools(self) + self.run("./autogen.sh") + autotools.configure() autotools.make() def package(self): - self.copy(pattern="LICENSE*", dst="licenses", src=self._source_subfolder) - self.copy(pattern="COPYRIGHT", dst="licenses", src=self._source_subfolder) - self.copy("*", src="cmake", dst=self._module_subfolder) - with self._build_context(): - autotools = self._configure_autotools() + copy(self, "LICENSE*", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + copy(self, "COPYRIGHT", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + copy(self, "*.cmake", + dst=os.path.join(self.package_folder, self._module_subfolder), + src=os.path.join(self.export_sources_folder, "cmake")) + with chdir(self, self.source_folder): + autotools = Autotools(self) autotools.install() - - @property - def _swiglibdir(self): - return os.path.join(self.package_folder, "bin", "swiglib").replace("\\", "/") + for path in self.package_path.iterdir(): + if path.is_dir() and path.name not in ["bin", "lib", "licenses"]: + rmdir(self, path) @property def _module_subfolder(self): return os.path.join("lib", "cmake") @property - def _module_file(self): - return "conan-official-{}-targets.cmake".format(self.name) + def _cmake_module_rel_path(self): + return os.path.join(self._module_subfolder, "conan-swig-variables.cmake") def package_info(self): - self.cpp_info.includedirs=[] + self.cpp_info.includedirs = [] + self.cpp_info.set_property("cmake_file_name", "SWIG") + self.cpp_info.set_property("cmake_target_name", "SWIG::SWIG") + self.cpp_info.set_property("cmake_build_modules", [self._cmake_module_rel_path]) + + self.buildenv_info.define_path("SWIG_LIB", os.path.join(self.package_folder, "bin", "swiglib")) + + # TODO: to remove in conan v2 once cmake_find_package_* generators removed self.cpp_info.names["cmake_find_package"] = "SWIG" self.cpp_info.names["cmake_find_package_multi"] = "SWIG" - self.cpp_info.builddirs = [self._module_subfolder] - self.cpp_info.build_modules["cmake_find_package"] = \ - [os.path.join(self._module_subfolder, self._module_file)] - self.cpp_info.build_modules["cmake_find_package_multi"] = \ - [os.path.join(self._module_subfolder, self._module_file)] + self.cpp_info.build_modules["cmake_find_package"] = [self._cmake_module_rel_path] + self.cpp_info.build_modules["cmake_find_package_multi"] = [self._cmake_module_rel_path] bindir = os.path.join(self.package_folder, "bin") - self.output.info("Appending PATH environment variable: {}".format(bindir)) self.env_info.PATH.append(bindir) + self.env_info.SWIG_LIB = os.path.join(self.package_folder, "bin", "swiglib") diff --git a/recipes/swig/all/test_package/CMakeLists.txt b/recipes/swig/all/test_package/CMakeLists.txt index 3f3a1aa9d18210..767943c116ceec 100644 --- a/recipes/swig/all/test_package/CMakeLists.txt +++ b/recipes/swig/all/test_package/CMakeLists.txt @@ -1,51 +1,20 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(PackageTest C) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS NO_OUTPUT_DIRS) - -set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY $<1:${CMAKE_BINARY_DIR}>) -set(CMAKE_LIBRARY_OUTPUT_DIRECTORY $<1:${CMAKE_BINARY_DIR}>) -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY $<1:${CMAKE_BINARY_DIR}>) - -find_package(SWIG REQUIRED) +find_package(SWIG REQUIRED CONFIG) include(UseSWIG) -set(Python_ADDITIONAL_VERSIONS 3) -find_package(PythonInterp) -find_package(PythonLibs 3) - -enable_testing() - -if(PYTHONINTERP_FOUND AND PYTHONLIBS_FOUND) - swig_add_library(${PROJECT_NAME} - LANGUAGE python - SOURCES - test.i - test_package.c - ) - - get_filename_component(PYTHON_LIBRARY_DIR "${PYTHON_LIBRARIES}" DIRECTORY) - - message(STATUS "PYTHON_INCLUDE_DIRS: ${PYTHON_INCLUDE_DIRS}") - message(STATUS "PYTHON_LIBRARIES: ${PYTHON_LIBRARIES}") - message(STATUS "PYTHON_LIBRARY_DIR: ${PYTHON_LIBRARY_DIR}") +find_package(Python REQUIRED COMPONENTS Interpreter Development) - #target_compile_definitions(_${PROJECT_NAME} PRIVATE MS_NO_COREDLL) - target_include_directories(_${PROJECT_NAME} PRIVATE ${PYTHON_INCLUDE_DIRS}) - target_link_directories(_${PROJECT_NAME} PRIVATE ${PYTHON_LIBRARY_DIR}) - target_link_libraries(_${PROJECT_NAME} PRIVATE ${PYTHON_LIBRARIES}) +swig_add_library(${PROJECT_NAME} + LANGUAGE python + SOURCES test.i test_package.c + OUTPUT_DIR ${CMAKE_BINARY_DIR} +) +target_link_libraries(${PROJECT_NAME} PRIVATE Python::Python) - add_test( - NAME gcd_test - COMMAND ${PYTHON_EXECUTABLE} -c "import PackageTest; assert PackageTest.gcd(12, 16) == 4" - WORKING_DIRECTORY "${CMAKE_BINARY_DIR}" - ) - add_test( - NAME foo_test - COMMAND ${PYTHON_EXECUTABLE} -c "import PackageTest; assert PackageTest.cvar.foo == 3.14159265359" - WORKING_DIRECTORY "${CMAKE_BINARY_DIR}" - ) -else() - message(STATUS "Not building swig python module") -endif() +# Note: this does not copy the generated *.py file +install(TARGETS ${PROJECT_NAME} + LIBRARY DESTINATION ${CMAKE_BINARY_DIR} + RUNTIME DESTINATION ${CMAKE_BINARY_DIR} +) diff --git a/recipes/swig/all/test_package/conanfile.py b/recipes/swig/all/test_package/conanfile.py index 5059612e70e169..f305f9b713d22a 100644 --- a/recipes/swig/all/test_package/conanfile.py +++ b/recipes/swig/all/test_package/conanfile.py @@ -1,27 +1,73 @@ -from conans import CMake, ConanFile, tools +import importlib +import os +import sys +from pathlib import PurePath + +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake, CMakeToolchain, CMakeDeps +from conan.tools.env import VirtualRunEnv +from conan.tools.microsoft import is_msvc 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, visible=False, run=True) + + def layout(self): + cmake_layout(self) @property def _can_build(self): # FIXME: Python does not distribute debug libraries (use cci CPython recipe) - return not (self.settings.compiler == "Visual Studio" and self.settings.build_type == "Debug") + if is_msvc(self) and self.settings.build_type == "Debug": + return False + # FIXME: apple-clang fails with 'ld: library not found for -lintl' in CI, despite working ok locally + if self.settings.compiler == "apple-clang": + return False + return True + + @property + def _python_interpreter(self): + if getattr(sys, "frozen", False): + return "python" + return sys.executable + + def generate(self): + venv = VirtualRunEnv(self) + venv.generate(scope="build") + venv.generate(scope="run") + tc = CMakeToolchain(self) + tc.variables["Python_EXECUTABLE"] = PurePath(self._python_interpreter).as_posix() + tc.generate() + deps = CMakeDeps(self) + deps.generate() def build(self): - if not tools.cross_building(self, skip_x64_x86=True): - self.run("swig -swiglib", run_environment=True) + if can_run(self): + self.run("swig -swiglib") if self._can_build: cmake = CMake(self) - cmake.verbose = True cmake.configure() cmake.build() + def _test_swig_module(self): + sys.path.append(self.build_folder) + sys.path.append(os.path.join(self.build_folder, str(self.settings.build_type))) + # Could also simply use 'import PackageTest' but this makes pylint angry + PackageTest = importlib.import_module("PackageTest") + assert PackageTest.gcd(12, 16) == 4 + self.output.info("PackageTest.gcd(12, 16) ran successfully") + assert PackageTest.cvar.foo == 3.14159265359 + self.output.info("PackageTest.cvar.foo == 3.14159265359 ran successfully") + sys.path.pop() + def test(self): - if not tools.cross_building(self): + if can_run(self): if self._can_build: - cmake = CMake(self) - cmake.test(output_on_failure=True) - self.run("swig -version", run_environment=True) + self._test_swig_module() + self.run("swig -version") + self.run("swig -swiglib") diff --git a/recipes/swig/all/test_v1_package/CMakeLists.txt b/recipes/swig/all/test_v1_package/CMakeLists.txt new file mode 100644 index 00000000000000..91630d79f4abb3 --- /dev/null +++ b/recipes/swig/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/swig/all/test_v1_package/conanfile.py b/recipes/swig/all/test_v1_package/conanfile.py new file mode 100644 index 00000000000000..e7dbf9e47271ce --- /dev/null +++ b/recipes/swig/all/test_v1_package/conanfile.py @@ -0,0 +1,53 @@ +import importlib +import sys +from pathlib import PurePath + +from conans import CMake, ConanFile, tools + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "cmake", "cmake_find_package_multi" + + @property + def _can_build(self): + # FIXME: Python does not distribute debug libraries (use cci CPython recipe) + if self.settings.compiler == "Visual Studio" and self.settings.build_type == "Debug": + return False + # FIXME: apple-clang fails with 'ld: library not found for -lintl' in CI, despite working ok locally + if self.settings.compiler == "apple-clang": + return False + return True + + @property + def _python_interpreter(self): + if getattr(sys, "frozen", False): + return "python" + return sys.executable + + def build(self): + if not tools.cross_building(self, skip_x64_x86=True): + self.run("swig -swiglib", run_environment=True) + if self._can_build: + cmake = CMake(self) + cmake.verbose = True + cmake.definitions["Python_EXECUTABLE"] = PurePath(self._python_interpreter).as_posix() + cmake.configure() + cmake.build() + cmake.install() + + def _test_swig_module(self): + sys.path.append(self.build_folder) + # Could also simply use 'import PackageTest' but this makes pylint angry + PackageTest = importlib.import_module("PackageTest") + assert PackageTest.gcd(12, 16) == 4 + self.output.info("PackageTest.gcd(12, 16) ran successfully") + assert PackageTest.cvar.foo == 3.14159265359 + self.output.info("PackageTest.cvar.foo == 3.14159265359 ran successfully") + sys.path.pop() + + def test(self): + if not tools.cross_building(self): + if self._can_build: + self._test_swig_module() + self.run("swig -version", run_environment=True) diff --git a/recipes/swig/config.yml b/recipes/swig/config.yml index 543f01b80f5367..e4181f963c4e18 100644 --- a/recipes/swig/config.yml +++ b/recipes/swig/config.yml @@ -1,4 +1,6 @@ versions: + "4.1.1": + folder: "all" "4.1.0": folder: "all" "4.0.2": From 025b78a38a83401637d3c8b3a661485e1450cb19 Mon Sep 17 00:00:00 2001 From: Ernesto de Gracia Herranz Date: Fri, 12 Jul 2024 15:14:33 +0200 Subject: [PATCH 016/132] (#24591) glib: support python 3.12 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * patches * fix * Update recipes/glib/all/conanfile.py Co-authored-by: Abril Rincón Blanco --------- Co-authored-by: Luis Caro Campos <3535649+jcar87@users.noreply.github.com> Co-authored-by: Abril Rincón Blanco --- recipes/glib/all/conandata.yml | 43 ++++++++++++++++ recipes/glib/all/conanfile.py | 2 +- .../all/patches/remove-distutils-2.77.0.patch | 51 +++++++++++++++++++ .../glib/all/patches/remove-distutils.patch | 51 +++++++++++++++++++ 4 files changed, 146 insertions(+), 1 deletion(-) create mode 100644 recipes/glib/all/patches/remove-distutils-2.77.0.patch create mode 100644 recipes/glib/all/patches/remove-distutils.patch diff --git a/recipes/glib/all/conandata.yml b/recipes/glib/all/conandata.yml index 826e4f114106f2..dde2abd5932220 100644 --- a/recipes/glib/all/conandata.yml +++ b/recipes/glib/all/conandata.yml @@ -27,13 +27,56 @@ sources: url: "https://download.gnome.org/sources/glib/2.75/glib-2.75.3.tar.xz" sha256: "7c517d0aff456c35a039bce8a8df7a08ce95a8285b09d1849f8865f633f7f871" patches: + "2.78.3": + - patch_file: "patches/remove-distutils-2.77.0.patch" + patch_type: bugfix + patch_description: remove distutils + patch_source: https://gitlab.gnome.org/GNOME/glib/-/merge_requests/4133 + "2.78.1": + - patch_file: "patches/remove-distutils-2.77.0.patch" + patch_type: bugfix + patch_description: remove distutils + patch_source: https://gitlab.gnome.org/GNOME/glib/-/merge_requests/4133 + "2.78.0": + - patch_file: "patches/remove-distutils-2.77.0.patch" + patch_type: bugfix + patch_description: remove distutils + patch_source: https://gitlab.gnome.org/GNOME/glib/-/merge_requests/4133 + "2.77.3": + - patch_file: "patches/remove-distutils-2.77.0.patch" + patch_type: bugfix + patch_description: remove distutils + patch_source: https://gitlab.gnome.org/GNOME/glib/-/merge_requests/4133 + "2.77.2": + - patch_file: "patches/remove-distutils-2.77.0.patch" + patch_type: bugfix + patch_description: remove distutils + patch_source: https://gitlab.gnome.org/GNOME/glib/-/merge_requests/4133 + "2.77.1": + - patch_file: "patches/remove-distutils-2.77.0.patch" + patch_type: bugfix + patch_description: remove distutils + patch_source: https://gitlab.gnome.org/GNOME/glib/-/merge_requests/4133 + "2.77.0": + - patch_file: "patches/remove-distutils-2.77.0.patch" + patch_type: bugfix + patch_description: remove distutils + patch_source: https://gitlab.gnome.org/GNOME/glib/-/merge_requests/4133 "2.76.3": - patch_file: "patches/libintl-discovery.patch" patch_type: bugfix patch_description: fix libintl discovery patch_source: https://gitlab.gnome.org/GNOME/glib/-/merge_requests/3352 + - patch_file: "patches/remove-distutils.patch" + patch_type: bugfix + patch_description: remove distutils + patch_source: https://gitlab.gnome.org/GNOME/glib/-/merge_requests/4133 "2.75.3": - patch_file: "patches/libintl-discovery-2.75.3.patch" patch_type: bugfix patch_description: fix libintl discovery patch_source: https://gitlab.gnome.org/GNOME/glib/-/merge_requests/3352 + - patch_file: "patches/remove-distutils.patch" + patch_type: bugfix + patch_description: remove distutils + patch_source: https://gitlab.gnome.org/GNOME/glib/-/merge_requests/4133 diff --git a/recipes/glib/all/conanfile.py b/recipes/glib/all/conanfile.py index 6ccdcc81fb42ae..2ab322c38bc8df 100644 --- a/recipes/glib/all/conanfile.py +++ b/recipes/glib/all/conanfile.py @@ -81,7 +81,7 @@ def requirements(self): self.requires("libiconv/1.17") def build_requirements(self): - self.tool_requires("meson/1.2.2") + self.tool_requires("meson/[>=1.2.3 <2]") if not self.conf.get("tools.gnu:pkg_config", check_type=str): self.tool_requires("pkgconf/2.0.3") diff --git a/recipes/glib/all/patches/remove-distutils-2.77.0.patch b/recipes/glib/all/patches/remove-distutils-2.77.0.patch new file mode 100644 index 00000000000000..ba054b959ca4f4 --- /dev/null +++ b/recipes/glib/all/patches/remove-distutils-2.77.0.patch @@ -0,0 +1,51 @@ +diff --git a/gio/gdbus-2.0/codegen/utils.py b/gio/gdbus-2.0/codegen/utils.py +index 0204610..f8d758c 100644 +--- a/gio/gdbus-2.0/codegen/utils.py ++++ b/gio/gdbus-2.0/codegen/utils.py +@@ -19,7 +19,7 @@ + # + # Author: David Zeuthen + +-import distutils.version ++import re + import os + import sys + +@@ -159,11 +159,35 @@ def lookup_brief_docs(annotations): + def version_cmp_key(key): + # If the 'since' version is 'UNRELEASED', compare higher than anything else + # If it is empty put a 0 in its place as this will +- # allow LooseVersion to work and will always compare lower. ++ # allow _parse_version() to work and will always compare lower. + if key[0] == "UNRELEASED": + v = "9999" + elif key[0]: + v = str(key[0]) + else: + v = "0" +- return (distutils.version.LooseVersion(v), key[1]) ++ return (_parse_version(v), key[1]) ++ ++ ++def _parse_version(version): ++ """ ++ Parse a version string into a list of integers and strings. ++ ++ This function takes a version string and breaks it down into its component parts. ++ It separates numeric and non-numeric segments, converting numeric segments to integers. ++ ++ Args: ++ version (str): The version string to parse. ++ ++ Returns: ++ list: A list where each element is either an integer (for numeric parts) ++ or a string (for non-numeric parts). ++ ++ Example: ++ >>> parseversion("1.2.3a") ++ [1, 2, 3, 'a'] ++ >>> parseversion("2.0.0-rc1") ++ [2, 0, 0, 'rc1'] ++ """ ++ blocks = re.findall(r"(\d+|\w+)", version) ++ return [int(b) if b.isdigit() else b for b in blocks] diff --git a/recipes/glib/all/patches/remove-distutils.patch b/recipes/glib/all/patches/remove-distutils.patch new file mode 100644 index 00000000000000..3096261030b0d6 --- /dev/null +++ b/recipes/glib/all/patches/remove-distutils.patch @@ -0,0 +1,51 @@ +diff --git a/gio/gdbus-2.0/codegen/utils.py b/gio/gdbus-2.0/codegen/utils.py +index 95559d3..2b7a176 100644 +--- a/gio/gdbus-2.0/codegen/utils.py ++++ b/gio/gdbus-2.0/codegen/utils.py +@@ -19,7 +19,7 @@ + # + # Author: David Zeuthen + +-import distutils.version ++import re + import os + import sys + +@@ -155,11 +155,35 @@ def lookup_brief_docs(annotations): + def version_cmp_key(key): + # If the 'since' version is 'UNRELEASED', compare higher than anything else + # If it is empty put a 0 in its place as this will +- # allow LooseVersion to work and will always compare lower. ++ # allow _parse_version() to work and will always compare lower. + if key[0] == "UNRELEASED": + v = "9999" + elif key[0]: + v = str(key[0]) + else: + v = "0" +- return (distutils.version.LooseVersion(v), key[1]) ++ return (_parse_version(v), key[1]) ++ ++ ++def _parse_version(version): ++ """ ++ Parse a version string into a list of integers and strings. ++ ++ This function takes a version string and breaks it down into its component parts. ++ It separates numeric and non-numeric segments, converting numeric segments to integers. ++ ++ Args: ++ version (str): The version string to parse. ++ ++ Returns: ++ list: A list where each element is either an integer (for numeric parts) ++ or a string (for non-numeric parts). ++ ++ Example: ++ >>> parseversion("1.2.3a") ++ [1, 2, 3, 'a'] ++ >>> parseversion("2.0.0-rc1") ++ [2, 0, 0, 'rc1'] ++ """ ++ blocks = re.findall(r"(\d+|\w+)", version) ++ return [int(b) if b.isdigit() else b for b in blocks] From d558a303e2b5874f8c344a4ea0de4e9c2640f086 Mon Sep 17 00:00:00 2001 From: Luis Caro Campos <3535649+jcar87@users.noreply.github.com> Date: Fri, 12 Jul 2024 16:22:24 +0100 Subject: [PATCH 017/132] (#24610) add glib 2.81 * add glib 2.81 * Trigger Build --- recipes/glib/all/conandata.yml | 65 +------- .../dont-use-python-packaging-2.81.0.patch | 148 ++++++++++++++++++ .../patches/libintl-discovery-2.75.3.patch | 49 ------ recipes/glib/config.yml | 14 +- 4 files changed, 158 insertions(+), 118 deletions(-) create mode 100644 recipes/glib/all/patches/dont-use-python-packaging-2.81.0.patch delete mode 100644 recipes/glib/all/patches/libintl-discovery-2.75.3.patch diff --git a/recipes/glib/all/conandata.yml b/recipes/glib/all/conandata.yml index dde2abd5932220..9723a1277a5c11 100644 --- a/recipes/glib/all/conandata.yml +++ b/recipes/glib/all/conandata.yml @@ -1,63 +1,23 @@ sources: + "2.81.0": + url: "https://download.gnome.org/sources/glib/2.81/glib-2.81.0.tar.xz" + sha256: "1665188ed9cc941c0a189dc6295e6859872523d1bfc84a5a84732a7ae87b02e4" "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" - "2.78.0": - url: "https://download.gnome.org/sources/glib/2.78/glib-2.78.0.tar.xz" - sha256: "44eaab8b720877ce303c5540b657b126f12dc94972d9880b52959f43fb537b30" "2.77.3": url: "https://download.gnome.org/sources/glib/2.77/glib-2.77.3.tar.xz" sha256: "1753f963bb680b28a83d6e2095f63d0d4b94244675bcd2603850b2ebc1ac6a61" - "2.77.2": - url: "https://download.gnome.org/sources/glib/2.77/glib-2.77.2.tar.xz" - sha256: "16279739e4d30ec47be3e82909f5aeaaa41a8206bae3bead10a23fb2deff02a6" - "2.77.1": - url: "https://download.gnome.org/sources/glib/2.77/glib-2.77.1.tar.xz" - sha256: "dce8d0c9e916d8c81a64436bd4ee4d6515a52dd3d157c994e1cdb9b3d6300a03" - "2.77.0": - url: "https://download.gnome.org/sources/glib/2.77/glib-2.77.0.tar.xz" - sha256: "1897fd8ad4ebb523c32fabe7508c3b0b039c089661ae1e7917df0956a320ac4d" "2.76.3": url: "https://download.gnome.org/sources/glib/2.76/glib-2.76.3.tar.xz" sha256: "c0be444e403d7c3184d1f394f89f0b644710b5e9331b54fa4e8b5037813ad32a" - "2.75.3": - url: "https://download.gnome.org/sources/glib/2.75/glib-2.75.3.tar.xz" - sha256: "7c517d0aff456c35a039bce8a8df7a08ce95a8285b09d1849f8865f633f7f871" patches: - "2.78.3": - - patch_file: "patches/remove-distutils-2.77.0.patch" - patch_type: bugfix - patch_description: remove distutils - patch_source: https://gitlab.gnome.org/GNOME/glib/-/merge_requests/4133 - "2.78.1": - - patch_file: "patches/remove-distutils-2.77.0.patch" - patch_type: bugfix - patch_description: remove distutils - patch_source: https://gitlab.gnome.org/GNOME/glib/-/merge_requests/4133 - "2.78.0": - - patch_file: "patches/remove-distutils-2.77.0.patch" - patch_type: bugfix - patch_description: remove distutils - patch_source: https://gitlab.gnome.org/GNOME/glib/-/merge_requests/4133 - "2.77.3": - - patch_file: "patches/remove-distutils-2.77.0.patch" - patch_type: bugfix - patch_description: remove distutils - patch_source: https://gitlab.gnome.org/GNOME/glib/-/merge_requests/4133 - "2.77.2": - - patch_file: "patches/remove-distutils-2.77.0.patch" + "2.81.0": + - patch_file: "patches/dont-use-python-packaging-2.81.0.patch" patch_type: bugfix - patch_description: remove distutils - patch_source: https://gitlab.gnome.org/GNOME/glib/-/merge_requests/4133 - "2.77.1": - - patch_file: "patches/remove-distutils-2.77.0.patch" - patch_type: bugfix - patch_description: remove distutils - patch_source: https://gitlab.gnome.org/GNOME/glib/-/merge_requests/4133 - "2.77.0": + patch_description: replace package.version.Version by internal code + patch_source: https://gitlab.gnome.org/GNOME/glib/-/merge_requests/3352 + "2.78.3": - patch_file: "patches/remove-distutils-2.77.0.patch" patch_type: bugfix patch_description: remove distutils @@ -71,12 +31,3 @@ patches: patch_type: bugfix patch_description: remove distutils patch_source: https://gitlab.gnome.org/GNOME/glib/-/merge_requests/4133 - "2.75.3": - - patch_file: "patches/libintl-discovery-2.75.3.patch" - patch_type: bugfix - patch_description: fix libintl discovery - patch_source: https://gitlab.gnome.org/GNOME/glib/-/merge_requests/3352 - - patch_file: "patches/remove-distutils.patch" - patch_type: bugfix - patch_description: remove distutils - patch_source: https://gitlab.gnome.org/GNOME/glib/-/merge_requests/4133 diff --git a/recipes/glib/all/patches/dont-use-python-packaging-2.81.0.patch b/recipes/glib/all/patches/dont-use-python-packaging-2.81.0.patch new file mode 100644 index 00000000000000..a97c9a79ae1330 --- /dev/null +++ b/recipes/glib/all/patches/dont-use-python-packaging-2.81.0.patch @@ -0,0 +1,148 @@ +diff --git a/gio/gdbus-2.0/codegen/gdbus-codegen.in b/gio/gdbus-2.0/codegen/gdbus-codegen.in +index 9c409e6..1913b6d 100755 +--- a/gio/gdbus-2.0/codegen/gdbus-codegen.in ++++ b/gio/gdbus-2.0/codegen/gdbus-codegen.in +@@ -1,4 +1,4 @@ +-#!@PYTHON@ ++#!/usr/bin/env @PYTHON@ + + # GDBus - GLib D-Bus Library + # +diff --git a/gio/gdbus-2.0/codegen/meson.build b/gio/gdbus-2.0/codegen/meson.build +index 67ea9f2..2ee1fc8 100644 +--- a/gio/gdbus-2.0/codegen/meson.build ++++ b/gio/gdbus-2.0/codegen/meson.build +@@ -31,7 +31,7 @@ gdbus_codegen_conf = configuration_data() + gdbus_codegen_conf.set('VERSION', glib_version) + gdbus_codegen_conf.set('MAJOR_VERSION', major_version) + gdbus_codegen_conf.set('MINOR_VERSION', minor_version) +-gdbus_codegen_conf.set('PYTHON', python.full_path()) ++gdbus_codegen_conf.set('PYTHON', python_name) + gdbus_codegen_conf.set('DATADIR', glib_datadir) + + # Install gdbus-codegen executable +diff --git a/gio/gdbus-2.0/codegen/utils.py b/gio/gdbus-2.0/codegen/utils.py +index 6399945..86024d7 100644 +--- a/gio/gdbus-2.0/codegen/utils.py ++++ b/gio/gdbus-2.0/codegen/utils.py +@@ -21,10 +21,9 @@ + # + # Author: David Zeuthen + +-import packaging.version + import os + import sys +- ++import re + + # pylint: disable=too-few-public-methods + class Color: +@@ -161,11 +160,35 @@ def lookup_brief_docs(annotations): + def version_cmp_key(key): + # If the 'since' version is 'UNRELEASED', compare higher than anything else + # If it is empty put a 0 in its place as this will +- # allow LooseVersion to work and will always compare lower. ++ # allow _parse_version() to work and will always compare lower. + if key[0] == "UNRELEASED": + v = "9999" + elif key[0]: + v = str(key[0]) + else: + v = "0" +- return (packaging.version.Version(v), key[1]) ++ return (_parse_version(v), key[1]) ++ ++ ++def _parse_version(version): ++ """ ++ Parse a version string into a list of integers and strings. ++ ++ This function takes a version string and breaks it down into its component parts. ++ It separates numeric and non-numeric segments, converting numeric segments to integers. ++ ++ Args: ++ version (str): The version string to parse. ++ ++ Returns: ++ list: A list where each element is either an integer (for numeric parts) ++ or a string (for non-numeric parts). ++ ++ Example: ++ >>> parseversion("1.2.3a") ++ [1, 2, 3, 'a'] ++ >>> parseversion("2.0.0-rc1") ++ [2, 0, 0, 'rc1'] ++ """ ++ blocks = re.findall(r"(\d+|\w+)", version) ++ return [int(b) if b.isdigit() else b for b in blocks] +diff --git a/glib/gtester-report.in b/glib/gtester-report.in +index 0745d53..b8291d2 100644 +--- a/glib/gtester-report.in ++++ b/glib/gtester-report.in +@@ -1,4 +1,4 @@ +-#!@PYTHON@ ++#! /usr/bin/env @PYTHON@ + # GLib Testing Framework Utility -*- Mode: python; -*- + # Copyright (C) 2007 Imendio AB + # Authors: Tim Janik +diff --git a/glib/meson.build b/glib/meson.build +index b2dd569..5c29bb7 100644 +--- a/glib/meson.build ++++ b/glib/meson.build +@@ -502,7 +502,7 @@ endif + + report_conf = configuration_data() + report_conf.set('GLIB_VERSION', glib_version) +-report_conf.set('PYTHON', python.full_path()) ++report_conf.set('PYTHON', python_name) + configure_file( + input: 'gtester-report.in', + output: 'gtester-report', +diff --git a/gobject/glib-genmarshal.in b/gobject/glib-genmarshal.in +index 0578b74..aa5af43 100755 +--- a/gobject/glib-genmarshal.in ++++ b/gobject/glib-genmarshal.in +@@ -1,4 +1,4 @@ +-#!@PYTHON@ ++#!/usr/bin/env @PYTHON@ + + # pylint: disable=too-many-lines, missing-docstring, invalid-name + +diff --git a/gobject/glib-mkenums.in b/gobject/glib-mkenums.in +index 7e794e9..e10b910 100755 +--- a/gobject/glib-mkenums.in ++++ b/gobject/glib-mkenums.in +@@ -1,4 +1,4 @@ +-#!@PYTHON@ ++#!/usr/bin/env @PYTHON@ + + # If the code below looks horrible and unpythonic, do not panic. + # +diff --git a/gobject/meson.build b/gobject/meson.build +index 78b732b..2129aaf 100644 +--- a/gobject/meson.build ++++ b/gobject/meson.build +@@ -87,7 +87,7 @@ python_tools = [ + + python_tools_conf = configuration_data() + python_tools_conf.set('VERSION', glib_version) +-python_tools_conf.set('PYTHON', python.full_path()) ++python_tools_conf.set('PYTHON', python_name) + + foreach tool: python_tools + tool_bin = configure_file( +diff --git a/meson.build b/meson.build +index bcc2887..6cca73d 100644 +--- a/meson.build ++++ b/meson.build +@@ -2457,7 +2457,9 @@ endif + + glib_conf.set('HAVE_PROC_SELF_CMDLINE', have_proc_self_cmdline) + +-python = import('python').find_installation(modules: ['packaging']) ++python = import('python').find_installation() ++# used for '#!/usr/bin/env ' ++python_name = 'python3' + + python_version = python.language_version() + python_version_req = '>=3.7' diff --git a/recipes/glib/all/patches/libintl-discovery-2.75.3.patch b/recipes/glib/all/patches/libintl-discovery-2.75.3.patch deleted file mode 100644 index 0df94096d06153..00000000000000 --- a/recipes/glib/all/patches/libintl-discovery-2.75.3.patch +++ /dev/null @@ -1,49 +0,0 @@ -From 32249a22fc39319651e7c23442d37ec837f05764 Mon Sep 17 00:00:00 2001 -From: Nirbheek Chauhan -Date: Thu, 8 Sep 2022 02:36:33 +0530 -Subject: [PATCH] meson: Fix detection of a system-provided proxy-libintl - -proxy-libintl defines ngettext() as a define in the header that points -to the actual symbol in the library which is g_libintl_ngettext(). -Same with bind_textdomain_codeset(). ---- - meson.build | 7 ++++--- - 1 file changed, 4 insertions(+), 3 deletions(-) - -diff --git a/meson.build b/meson.build -index 0cbc9689f5..de0bee5a39 100644 ---- a/meson.build -+++ b/meson.build -@@ -2088,6 +2088,7 @@ libz_dep = dependency('zlib') - # FIXME: glib-gettext.m4 has much more checks to detect broken/uncompatible - # implementations. This could be extended if issues are found in some platforms. - libintl_deps = [] -+libintl_prefix = '#include ' - libintl = dependency('intl', required: false, allow_fallback: false) - if libintl.found() - # libintl supports different threading APIs, which may not -@@ -2099,11 +2100,11 @@ if libintl.found() - # - # Meson's builtin dependency lookup as of 0.60.0 doesn't check for - # pthread, so we do this manually here. -- if cc.has_function('ngettext', dependencies : libintl) -+ if cc.has_function('ngettext', dependencies : libintl, prefix: libintl_prefix) - libintl_deps += [libintl] - else - libintl_pthread = cc.find_library('pthread', required : false) -- if libintl_pthread.found() and cc.has_function('ngettext', dependencies : [libintl, libintl_pthread]) -+ if libintl_pthread.found() and cc.has_function('ngettext', dependencies : [libintl, libintl_pthread], prefix: libintl_prefix) - libintl_deps += [libintl, libintl_pthread] - else - libintl = disabler() -@@ -2112,7 +2113,7 @@ if libintl.found() - endif - - if libintl.found() -- have_bind_textdomain_codeset = cc.has_function('bind_textdomain_codeset', dependencies: libintl_deps) -+ have_bind_textdomain_codeset = cc.has_function('bind_textdomain_codeset', dependencies: libintl_deps, prefix: libintl_prefix) - else - libintl = dependency('intl', allow_fallback: true) - assert(libintl.type_name() == 'internal') --- -GitLab diff --git a/recipes/glib/config.yml b/recipes/glib/config.yml index f0bd1289c0ca6f..178cce999a6406 100644 --- a/recipes/glib/config.yml +++ b/recipes/glib/config.yml @@ -1,19 +1,9 @@ versions: - "2.78.3": - folder: all - "2.78.1": + "2.81.0": folder: all - "2.78.0": + "2.78.3": folder: all "2.77.3": folder: all - "2.77.2": - folder: all - "2.77.1": - folder: all - "2.77.0": - folder: all "2.76.3": folder: all - "2.75.3": - folder: all From eb5b21c434ef66df3e6f6915d06b6a3860aea158 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 15 Jul 2024 01:30:36 +0900 Subject: [PATCH 018/132] (#24616) thorvg: add version 0.14.2 --- recipes/thorvg/all/conandata.yml | 3 +++ recipes/thorvg/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/thorvg/all/conandata.yml b/recipes/thorvg/all/conandata.yml index 4bd29282ff03aa..1968085d2b1e58 100644 --- a/recipes/thorvg/all/conandata.yml +++ b/recipes/thorvg/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.14.2": + url: "https://github.com/thorvg/thorvg/archive/refs/tags/v0.14.2.tar.gz" + sha256: "04202e8f5e17b427c3b16ae3b3d4be5d3f3cdac96d5c64ed3efd7b6db3ad731f" "0.14.1": url: "https://github.com/thorvg/thorvg/archive/refs/tags/v0.14.1.tar.gz" sha256: "9c0346fda8b62a3b13a764dda5784e0465c8cab54fb5342d0240c7fb40e415bd" diff --git a/recipes/thorvg/config.yml b/recipes/thorvg/config.yml index 26adbfc52a4f85..448de784dc4da7 100644 --- a/recipes/thorvg/config.yml +++ b/recipes/thorvg/config.yml @@ -1,4 +1,6 @@ versions: + "0.14.2": + folder: all "0.14.1": folder: all "0.14.0": From 81206e88b536e8ebca7cc4171aea6dc1dc284939 Mon Sep 17 00:00:00 2001 From: nerix Date: Mon, 15 Jul 2024 11:12:52 +0200 Subject: [PATCH 019/132] (#24596) dav1d: add 1.4.3 --- 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 f8c452bd8a5e40..be4e7f8263cbcc 100644 --- a/recipes/dav1d/all/conandata.yml +++ b/recipes/dav1d/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.4.3": + url: "http://ftp.videolan.org/pub/videolan/dav1d/1.4.3/dav1d-1.4.3.tar.xz" + sha256: "42fe524bcc82ea3a830057178faace22923a79bad3d819a4962d8cfc54c36f19" "1.4.1": url: "http://ftp.videolan.org/pub/videolan/dav1d/1.4.1/dav1d-1.4.1.tar.xz" sha256: "8d407dd5fe7986413c937b14e67f36aebd06e1fa5cfec679d10e548476f2d5f8" diff --git a/recipes/dav1d/config.yml b/recipes/dav1d/config.yml index 9202e5ce9c4a9a..d5bc79ec13e97b 100644 --- a/recipes/dav1d/config.yml +++ b/recipes/dav1d/config.yml @@ -1,4 +1,6 @@ versions: + "1.4.3": + folder: "all" "1.4.1": folder: "all" "1.3.0": From 1365d7b70c363c3b50e5704712ebb2d65eedca5a Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 15 Jul 2024 18:31:55 +0900 Subject: [PATCH 020/132] (#24612) watcher: add version 0.11.0, remove older versions --- recipes/watcher/all/conandata.yml | 30 ++++--------------- recipes/watcher/all/conanfile.py | 10 ++----- .../all/patches/0.5.5-fix-limits_max.patch | 13 -------- recipes/watcher/config.yml | 14 ++------- 4 files changed, 9 insertions(+), 58 deletions(-) delete mode 100644 recipes/watcher/all/patches/0.5.5-fix-limits_max.patch diff --git a/recipes/watcher/all/conandata.yml b/recipes/watcher/all/conandata.yml index b164bc68a1b900..bda0c9f5ba9f90 100644 --- a/recipes/watcher/all/conandata.yml +++ b/recipes/watcher/all/conandata.yml @@ -1,7 +1,10 @@ sources: + "0.11.0": + url: "https://github.com/e-dant/watcher/archive/release/0.11.0.tar.gz" + sha256: "dd92496d77b6bc27e27ed28253faae4d81bc58b19407d154bb49504b2af73664" "0.10.1": - url: "https://github.com/e-dant/watcher/archive/release/0.10..tar.gz" - sha256: "3c2d3318f64d79437b1305a83382aa26e5054444ac4aed1821937cb97fedc03a" + url: "https://github.com/e-dant/watcher/archive/release/0.10.1.tar.gz" + sha256: "cc14b0adfc23ae90390cf8b4f20291abbc5bf0e358b5d12fa73f7e21d021ccd0" "0.10.0": url: "https://github.com/e-dant/watcher/archive/release/0.10.0.tar.gz" sha256: "c15f088ddc41b58100921ea0b630bcbde83c9960aefecf82221da997f4d4b4ec" @@ -17,26 +20,3 @@ sources: "0.8.7": url: "https://github.com/e-dant/watcher/archive/release/0.8.7.tar.gz" sha256: "e83eaf097f8ebe9b87bee2962e6e18f6f2597ae4e76d8d0258adc2c62fa545d2" - "0.8.0": - url: "https://github.com/e-dant/watcher/archive/release/0.8.0.tar.gz" - sha256: "74530f5f6c083ec0348ec41938ae43b02bed1d125125623394f31038fec6f9d1" - "0.6.0": - url: "https://github.com/e-dant/watcher/archive/release/0.6.0.tar.gz" - sha256: "156669c92f9119d658954e124fcd9fc640999fb8a45e2bd915ea8b05e15b925a" - "0.5.5": - url: "https://github.com/e-dant/watcher/archive/release/0.5.5.tar.gz" - sha256: "55da2b7a22cbdba836a405d5cab31a461e84e4e686a117f06399a806d33b2d09" - "0.5.4": - url: "https://github.com/e-dant/watcher/archive/release/0.5.4.tar.gz" - sha256: "0dac1d89886252bb0b999c2dad85aff283022a2b4393922a993459b180b8c663" - "0.5.2": - url: "https://github.com/e-dant/watcher/archive/release/0.5.2.tar.gz" - sha256: "e18e663f9a72a59fca3e7a9e125ca77823b03a3388aa569398965777c5671173" - "0.4.3": - url: "https://github.com/e-dant/watcher/archive/release/0.4.3.tar.gz" - sha256: "8603b45edfa5023752d9e2fdd731efe5a556a542aaf03f6be0e69c68f552b25a" -patches: - "0.5.5": - - patch_file: "patches/0.5.5-fix-limits_max.patch" - patch_description: "fix max macro error in windows" - patch_type: "portability" diff --git a/recipes/watcher/all/conanfile.py b/recipes/watcher/all/conanfile.py index e70c9cb544fb1a..167c9652d196e3 100644 --- a/recipes/watcher/all/conanfile.py +++ b/recipes/watcher/all/conanfile.py @@ -1,11 +1,10 @@ from conan import ConanFile from conan.errors import ConanInvalidConfiguration -from conan.tools.files import export_conandata_patches, apply_conandata_patches, get, copy +from conan.tools.files import get, copy from conan.tools.build import check_min_cppstd from conan.tools.apple import is_apple_os 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.49.0" @@ -19,6 +18,7 @@ class WatcherConan(ConanFile): topics = ("watch", "filesystem", "event", "header-only") package_type = "header-library" settings = "os", "arch", "compiler", "build_type" + no_copy_source = True @property def _min_cppstd(self): @@ -43,9 +43,6 @@ def _compilers_minimum_version(self): }, }.get(self._min_cppstd, {}) - def export_sources(self): - export_conandata_patches(self) - def layout(self): basic_layout(self, src_folder="src") @@ -71,9 +68,6 @@ def loose_lt_semver(v1, v2): 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/watcher/all/patches/0.5.5-fix-limits_max.patch b/recipes/watcher/all/patches/0.5.5-fix-limits_max.patch deleted file mode 100644 index aeed151aa95e03..00000000000000 --- a/recipes/watcher/all/patches/0.5.5-fix-limits_max.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/include/watcher/detail/adapter/adapter.hpp b/include/watcher/detail/adapter/adapter.hpp -index 3d43bb8..597c0bc 100644 ---- a/include/watcher/detail/adapter/adapter.hpp -+++ b/include/watcher/detail/adapter/adapter.hpp -@@ -23,7 +23,7 @@ namespace adapter { - - namespace { - inline constexpr size_t watch_count_max -- = std::numeric_limits::max() - 1; -+ = (std::numeric_limits::max)() - 1; - } /* namespace */ - - /* @brief wtr/watcher/detail/adapter/message diff --git a/recipes/watcher/config.yml b/recipes/watcher/config.yml index 573bce3b91e258..ed37614dda7ca1 100644 --- a/recipes/watcher/config.yml +++ b/recipes/watcher/config.yml @@ -1,4 +1,6 @@ versions: + "0.11.0": + folder: all "0.10.1": folder: all "0.10.0": @@ -11,15 +13,3 @@ versions: folder: all "0.8.7": folder: all - "0.8.0": - folder: all - "0.6.0": - folder: all - "0.5.5": - folder: all - "0.5.4": - folder: all - "0.5.2": - folder: all - "0.4.3": - folder: all From df7edcd7e00f89420a7404ebbdf651f1cd992b4a Mon Sep 17 00:00:00 2001 From: Hossein Moein <31854960+hosseinmoein@users.noreply.github.com> Date: Mon, 15 Jul 2024 05:51:09 -0400 Subject: [PATCH 021/132] (#24613) Upgrading C++ DataFrame to version 3.2.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 0b340ef68332fa..8c70c0dff65c4f 100644 --- a/recipes/dataframe/all/conandata.yml +++ b/recipes/dataframe/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.2.0": + url: "https://github.com/hosseinmoein/DataFrame/archive/refs/tags/3.2.0.tar.gz" + sha256: "ca0c27cddf7a77da008d4b85e620e65baf5fcdf107f5e523ec38e7c55d778f7e" "3.1.0": url: "https://github.com/hosseinmoein/DataFrame/archive/refs/tags/3.1.0.tar.gz" sha256: "09280a81f17d87d171062210c904c1acd94b1cdcf4c040eaa16cc9d224d526d4" diff --git a/recipes/dataframe/config.yml b/recipes/dataframe/config.yml index 7878d4c106a55a..b500f2488a1994 100644 --- a/recipes/dataframe/config.yml +++ b/recipes/dataframe/config.yml @@ -1,4 +1,6 @@ versions: + "3.2.0": + folder: all "3.1.0": folder: all "3.0.0": From b83d2c6cc1af685b9ef25db93da470f0f94bccba Mon Sep 17 00:00:00 2001 From: Jeremy Rifkin <51220084+jeremy-rifkin@users.noreply.github.com> Date: Mon, 15 Jul 2024 07:37:39 -0600 Subject: [PATCH 022/132] (#24620) cpptrace: Add version 0.6.3 --- 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 2bf854f46723a0..8d3de77ad0a970 100644 --- a/recipes/cpptrace/all/conandata.yml +++ b/recipes/cpptrace/all/conandata.yml @@ -1,5 +1,9 @@ sources: # Newer versions at the top + "0.6.3": + url: + - "https://github.com/jeremy-rifkin/cpptrace/archive/refs/tags/v0.6.3.tar.gz" + sha256: "665bf76645ec7b9e6d785a934616f0138862c36cdb58b0d1c9dd18dd4c57395a" "0.6.2": url: - "https://github.com/jeremy-rifkin/cpptrace/archive/refs/tags/v0.6.2.tar.gz" diff --git a/recipes/cpptrace/config.yml b/recipes/cpptrace/config.yml index 20e353f6ee5226..e38d73d503e6f9 100644 --- a/recipes/cpptrace/config.yml +++ b/recipes/cpptrace/config.yml @@ -1,5 +1,7 @@ versions: # Newer versions at the top + "0.6.3": + folder: all "0.6.2": folder: all "0.6.1": From 966e41b8f3caa3befa7bea4b7e1b685af381a5c6 Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Mon, 15 Jul 2024 15:05:42 +0100 Subject: [PATCH 023/132] (#24629) [bot] Update authorized users list (2024-07-15) 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 7ad19553c3a850..4b8d5fc088e08d 100644 --- a/.c3i/authorized_users.yml +++ b/.c3i/authorized_users.yml @@ -1382,3 +1382,6 @@ authorized_users: - RobinQu - MatthewRasa - jan-kelemen +- xiadnoring +- FeignClaims +- husitawi From e59713c9bc5da046a12819263ab881fa3471d6ed Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Mon, 15 Jul 2024 17:32:48 +0300 Subject: [PATCH 024/132] (#21139) lerc: fix linking as a C library * lerc: add C-only test * lerc: fix static linking as a C library * lerc: fix test_package.c MSVC compatibility * lerc: skip test_package_c run on MSVC * lerc: only add stdcpp to system_libs for static builds Co-authored-by: Uilian Ries * lerc: simplify tests * lerc: add v4.0.4 * lerc: can drop the define in test_package * lerc: fix test_package.c --------- Co-authored-by: Uilian Ries --- recipes/lerc/all/conandata.yml | 11 ++ recipes/lerc/all/conanfile.py | 4 +- .../4.0.4-add-missing-climits-include.patch | 21 +++ recipes/lerc/all/test_package/CMakeLists.txt | 13 +- recipes/lerc/all/test_package/conanfile.py | 4 +- recipes/lerc/all/test_package/test_package.c | 11 ++ .../lerc/all/test_package/test_package.cpp | 140 +----------------- recipes/lerc/all/test_v1_package/conanfile.py | 7 +- recipes/lerc/config.yml | 2 + 9 files changed, 69 insertions(+), 144 deletions(-) create mode 100644 recipes/lerc/all/patches/4.0.4-add-missing-climits-include.patch create mode 100644 recipes/lerc/all/test_package/test_package.c diff --git a/recipes/lerc/all/conandata.yml b/recipes/lerc/all/conandata.yml index 73b69372cf8f46..d53c3de3dfbc3a 100644 --- a/recipes/lerc/all/conandata.yml +++ b/recipes/lerc/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "4.0.4": + url: "https://github.com/Esri/lerc/archive/js_v4.0.4.tar.gz" + sha256: "1dc090218387ab8ca615eefd844207be64454e37868b396f3e965ed0dcf83947" "4.0.1": url: "https://github.com/Esri/lerc/archive/js_v4.0.1.tar.gz" sha256: "d771f45b90dd033187d5fad2b99159d0a98d46878d88d3236147c3df297dd544" @@ -12,6 +15,14 @@ sources: url: "https://github.com/Esri/lerc/archive/v2.1.tar.gz" sha256: "7c48de40cd5f09319de4b39c417ff4eec4ad4b6aa5d6144f6ffa9b10d18ec94e" patches: + "4.0.4": + - patch_file: "patches/4.0.0-include-algorithm.patch" + patch_description: "include algorithm header for std::min/max" + patch_type: "portability" + - patch_file: "patches/4.0.4-add-missing-climits-include.patch" + patch_description: "add missing #include " + patch_type: "bugfix" + patch_source: "https://github.com/Esri/lerc/commit/1fc73694263f53cf029c8cac2e632170880f56d4" "4.0.1": - patch_file: "patches/4.0.0-include-algorithm.patch" patch_description: "include algorithm header for std::min/max" diff --git a/recipes/lerc/all/conanfile.py b/recipes/lerc/all/conanfile.py index c64435c5746f73..02e1f24f77f3f0 100644 --- a/recipes/lerc/all/conanfile.py +++ b/recipes/lerc/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, stdcpp_library from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout from conan.tools.files import export_conandata_patches, apply_conandata_patches, copy, get, rmdir from conan.tools.scm import Version @@ -73,6 +73,8 @@ def package_info(self): self.cpp_info.libs = ["LercLib" if Version(self.version) < "4.0.0" else "Lerc"] if self.settings.os in ["Linux", "FreeBSD"]: self.cpp_info.system_libs.append("m") + if not self.options.shared and stdcpp_library(self): + self.cpp_info.system_libs.append(stdcpp_library(self)) if Version(self.version) >= "3.0": self.cpp_info.set_property("pkg_config_name", "Lerc") diff --git a/recipes/lerc/all/patches/4.0.4-add-missing-climits-include.patch b/recipes/lerc/all/patches/4.0.4-add-missing-climits-include.patch new file mode 100644 index 00000000000000..e65c9a909930e1 --- /dev/null +++ b/recipes/lerc/all/patches/4.0.4-add-missing-climits-include.patch @@ -0,0 +1,21 @@ +From 1fc73694263f53cf029c8cac2e632170880f56d4 Mon Sep 17 00:00:00 2001 +From: Thomas Maurer +Date: Wed, 8 Nov 2023 12:54:35 -0800 +Subject: [PATCH] add missing include + +--- + src/LercLib/fpl_Compression.cpp | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/LercLib/fpl_Compression.cpp b/src/LercLib/fpl_Compression.cpp +index bea9483..22773dd 100644 +--- a/src/LercLib/fpl_Compression.cpp ++++ b/src/LercLib/fpl_Compression.cpp +@@ -27,6 +27,7 @@ Original coding 2021 Yuriy Yakimenko + #include + #include + #include ++#include + + USING_NAMESPACE_LERC + diff --git a/recipes/lerc/all/test_package/CMakeLists.txt b/recipes/lerc/all/test_package/CMakeLists.txt index 50d07b3052d3e0..e4ae3c108dbd45 100644 --- a/recipes/lerc/all/test_package/CMakeLists.txt +++ b/recipes/lerc/all/test_package/CMakeLists.txt @@ -1,12 +1,11 @@ cmake_minimum_required(VERSION 3.8) -project(test_package LANGUAGES CXX) +project(test_package LANGUAGES C CXX) find_package(lerc REQUIRED CONFIG) -add_executable(test_package test_package.cpp) -target_link_libraries(test_package PRIVATE lerc::lerc) -target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) +add_executable(${PROJECT_NAME}_cxx test_package.cpp) +target_link_libraries(${PROJECT_NAME}_cxx PRIVATE lerc::lerc) +target_compile_features(${PROJECT_NAME}_cxx PRIVATE cxx_std_11) -if(lerc_VERSION VERSION_GREATER_EQUAL "3.0") - target_compile_definitions(${PROJECT_NAME} PRIVATE -DLERC_VER3_LATER) -endif() +add_executable(${PROJECT_NAME}_c test_package.c) +target_link_libraries(${PROJECT_NAME}_c PRIVATE lerc::lerc) diff --git a/recipes/lerc/all/test_package/conanfile.py b/recipes/lerc/all/test_package/conanfile.py index 0a6bc68712d901..f5c4345946223b 100644 --- a/recipes/lerc/all/test_package/conanfile.py +++ b/recipes/lerc/all/test_package/conanfile.py @@ -22,5 +22,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_cxx") + self.run(bin_path, env="conanrun") + bin_path = os.path.join(self.cpp.build.bindir, "test_package_c") self.run(bin_path, env="conanrun") diff --git a/recipes/lerc/all/test_package/test_package.c b/recipes/lerc/all/test_package/test_package.c new file mode 100644 index 00000000000000..193917ddd512bb --- /dev/null +++ b/recipes/lerc/all/test_package/test_package.c @@ -0,0 +1,11 @@ +#include + +#include + +int main() { + const uint32_t numBytesBlob = 275714; + uint8_t pLercBlob[1000000]; + uint32_t infoArr[10]; + double dataRangeArr[3]; + lerc_getBlobInfo(&pLercBlob[0], numBytesBlob, infoArr, dataRangeArr, 10, 3); +} diff --git a/recipes/lerc/all/test_package/test_package.cpp b/recipes/lerc/all/test_package/test_package.cpp index c399abcf8d2195..98eb0ea449f54e 100644 --- a/recipes/lerc/all/test_package/test_package.cpp +++ b/recipes/lerc/all/test_package/test_package.cpp @@ -1,140 +1,12 @@ #include -#include -#include -#include -#include +#include #include -typedef unsigned char Byte; // convenience -typedef unsigned int uint32; - -enum lerc_DataType { dt_char = 0, dt_uchar, dt_short, dt_ushort, dt_int, dt_uint, dt_float, dt_double }; - -void BlobInfo_Print(const uint32* infoArr) -{ - const uint32* ia = infoArr; - printf("version = %d, dataType = %d, nDim = %d, nCols = %d, nRows = %d, nBands = %d, nValidPixels = %d, blobSize = %d\n", - ia[0], ia[1], ia[2], ia[3], ia[4], ia[5], ia[6], ia[7]); -} - -bool BlobInfo_Equal(const uint32* infoArr, uint32 nDim, uint32 nCols, uint32 nRows, uint32 nBands, uint32 dataType) -{ - const uint32* ia = infoArr; - return ia[1] == dataType && ia[2] == nDim && ia[3] == nCols && ia[4] == nRows && ia[5] == nBands; -} - -// Sample 1: float image, 1 band, with some pixels set to invalid / void, maxZError = 0.1 -void sample1() { - const int h = 512; - const int w = 512; - - std::vector zImg(w * h); - std::vector maskByteImg(w * h); - for (int k = 0, i = 0; i < h; ++i) { - for (int j = 0; j < w; ++j, ++k) { - zImg[k] = std::sqrt(static_cast(i * i + j * j)); // smooth surface - zImg[k] += std::rand() % 20; // add some small amplitude noise - - if (j % 100 == 0 || i % 100 == 0) // set some void points - maskByteImg[k] = 0; - else - maskByteImg[k] = 1; - } - } - - - // compress into byte arr - - double maxZErrorWanted = 0.1; - double eps = 0.0001; // safety margin (optional), to account for finite floating point accuracy - double maxZError = maxZErrorWanted - eps; - - uint32 numBytesNeeded = 0; - uint32 numBytesWritten = 0; - - lerc_status hr = lerc_computeCompressedSize(reinterpret_cast(&zImg[0]), // raw image data, row by row, band by band - static_cast(dt_float), 1, w, h, 1, -#ifdef LERC_VER3_LATER - 1, -#endif - maskByteImg.data(), // can give nullptr if all pixels are valid - maxZError, // max coding error per pixel, or precision - &numBytesNeeded); // size of outgoing Lerc blob - - if (hr) - std::cout << "lerc_computeCompressedSize(...) failed" << std::endl; - - uint32 numBytesBlob = numBytesNeeded; - std::vector pLercBlob(numBytesBlob); - - hr = lerc_encode(reinterpret_cast(&zImg[0]), // raw image data, row by row, band by band - static_cast(dt_float), 1, w, h, 1, -#ifdef LERC_VER3_LATER - 1, -#endif - maskByteImg.data(), // can give nullptr if all pixels are valid - maxZError, // max coding error per pixel, or precision - &pLercBlob[0], // buffer to write to, function will fail if buffer too small - numBytesBlob, // buffer size - &numBytesWritten); // num bytes written to buffer - - if (hr) - std::cout << "lerc_encode(...) failed" << std::endl; - - double ratio = w * h * (0.125 + sizeof(float)) / numBytesBlob; - std::cout << "sample 1 compression ratio = " << ratio << std::endl; - - - // decompress - - uint32 infoArr[10]; - double dataRangeArr[3]; - hr = lerc_getBlobInfo(&pLercBlob[0], numBytesBlob, infoArr, dataRangeArr, 10, 3); - if (hr) - std::cout << "lerc_getBlobInfo(...) failed" << std::endl; - - BlobInfo_Print(infoArr); - - if (!BlobInfo_Equal(infoArr, 1, w, h, 1, static_cast(dt_float))) - std::cout << "got wrong lerc info" << std::endl; - - // new empty data storage - std::vector zImg3(w * h); - - std::vector maskByteImg3(w * h); - -#ifdef LERC_VER3_LATER - hr = lerc_decode(&pLercBlob[0], numBytesBlob, 1, maskByteImg3.data(), 1, w, h, 1, static_cast(dt_float), reinterpret_cast(&zImg3[0])); -#else - hr = lerc_decode(&pLercBlob[0], numBytesBlob, &maskByteImg3[0], 1, w, h, 1, static_cast(dt_float), reinterpret_cast(&zImg3[0])); -#endif - if (hr) - std::cout << "lerc_decode(...) failed" << std::endl; - - // compare to orig - - double maxDelta = 0; - for (int k = 0, i = 0; i < h; i++) - { - for (int j = 0; j < w; j++, k++) - { - if (maskByteImg3[k] != maskByteImg[k]) - std::cout << "Error in main: decoded valid bytes differ from encoded valid bytes" << std::endl; - - if (maskByteImg3[k]) - { - double delta = std::fabs(zImg3[k] - zImg[k]); - if (delta > maxDelta) - maxDelta = delta; - } - } - } - - std::cout << "max z error per pixel = " << maxDelta << std::endl; -} - int main() { - sample1(); - return 0; + uint32_t numBytesBlob = 275714; + std::vector pLercBlob(numBytesBlob); + uint32_t infoArr[10]; + double dataRangeArr[3]; + lerc_getBlobInfo(&pLercBlob[0], numBytesBlob, infoArr, dataRangeArr, 10, 3); } diff --git a/recipes/lerc/all/test_v1_package/conanfile.py b/recipes/lerc/all/test_v1_package/conanfile.py index 38f4483872d47f..b7e21a6312c342 100644 --- a/recipes/lerc/all/test_v1_package/conanfile.py +++ b/recipes/lerc/all/test_v1_package/conanfile.py @@ -1,3 +1,4 @@ +from conan.tools.microsoft import is_msvc from conans import ConanFile, CMake, tools import os @@ -13,5 +14,9 @@ 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_cxx") self.run(bin_path, run_environment=True) + if not is_msvc(self): + # lerc_computeCompressedSize() fails with a stack overflow on MSVC for some reason + bin_path = os.path.join("bin", "test_package_c") + self.run(bin_path, run_environment=True) diff --git a/recipes/lerc/config.yml b/recipes/lerc/config.yml index a09a8d0001ec66..471b2c25702d47 100644 --- a/recipes/lerc/config.yml +++ b/recipes/lerc/config.yml @@ -1,4 +1,6 @@ versions: + "4.0.4": + folder: all "4.0.1": folder: all "4.0.0": From 0964d75a5595813c4367f8e3872a2b6dca035460 Mon Sep 17 00:00:00 2001 From: Uilian Ries Date: Mon, 15 Jul 2024 17:17:19 +0200 Subject: [PATCH 025/132] (#24587) libx264: Fix Android build * Fix Android build for libx264 Signed-off-by: Uilian Ries * Fix package checksum Signed-off-by: Uilian Ries --------- Signed-off-by: Uilian Ries --- recipes/libx264/all/conandata.yml | 3 +++ recipes/libx264/all/conanfile.py | 38 +++++++++++++++++-------------- recipes/libx264/config.yml | 2 ++ 3 files changed, 26 insertions(+), 17 deletions(-) diff --git a/recipes/libx264/all/conandata.yml b/recipes/libx264/all/conandata.yml index 394a54354a73de..f92af6ff75c036 100644 --- a/recipes/libx264/all/conandata.yml +++ b/recipes/libx264/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "cci.20240224": + url: "https://code.videolan.org/videolan/x264/-/archive/7241d020118bb09cc0ad119d7bc9f630a1caad10/x264-7241d020118bb09cc0ad119d7bc9f630a1caad10.tar.bz2" + sha256: "5417c167a69cc19db044c227163f9b9b1dface9fca361a3e83d5417f8e304dd6" "cci.20220602": url: "https://code.videolan.org/videolan/x264/-/archive/baee400fa9ced6f5481a728138fed6e867b0ff7f/x264-baee400fa9ced6f5481a728138fed6e867b0ff7f.tar.bz2" sha256: "ce6623b8b289765daee04a297c2fd1a293cb2565a1749c76d66c8d72c7ddc1ab" diff --git a/recipes/libx264/all/conanfile.py b/recipes/libx264/all/conanfile.py index 3312e7972a7a4b..87ce8800e9d4e1 100644 --- a/recipes/libx264/all/conanfile.py +++ b/recipes/libx264/all/conanfile.py @@ -115,25 +115,29 @@ def generate(self): if cross_building(self): if self.settings.os == "Android": - # the as of ndk does not work well for building libx264 - env = Environment() + buildenv_vars = VirtualBuildEnv(self).vars() + ndk_root = self.conf.get("tools.android:ndk_path", buildenv_vars.get("NDK_ROOT")) + + # INFO: Conan package android-ndk does not expose toolchain path. Looks fragile but follows always same for Android NDK + build_os = {"Linux": "linux", "Macos": "darwin", "Windows": "windows"}.get(str(self._settings_build.os)) + toolchain = os.path.join(ndk_root, "toolchains", "llvm", "prebuilt", f"{build_os}-{self._settings_build.arch}") + + sysroot = self.conf.get("tools.build:sysroot", buildenv_vars.get("SYSROOT", f"{toolchain}/sysroot")) + # INFO: x264 will look for strings appended to the cross prefix + cross_prefix = os.path.join(toolchain, "bin", "llvm-") compilers_from_conf = self.conf.get("tools.build:compiler_executables", default={}, check_type=dict) - buildenv_vars = VirtualBuildEnv(self).vars() - cc = compilers_from_conf.get("c", buildenv_vars.get("CC", "clang-cl")) - env.define("AS", cc) - - ndk_root = self.conf.get("tools.android:ndk_path") - - arch = { - "armv7": "arm", - "armv8": "aarch64", - "x86": "i686", - "x86_64": "x86_64", - }.get(str(self.settings.arch)) - abi = "androideabi" if self.settings.arch == "armv7" else "android" - args["--cross-prefix"] = f"{ndk_root}/bin/{arch}-linux-{abi}-" - env.vars(self).save_script("conanbuild_android") + + args["--build"] = None # --build is not recognized + args["--cross-prefix"] = cross_prefix + args["--sysroot"] = sysroot + + # the as of ndk does not work well for building libx264 + env = Environment() + cc_as = compilers_from_conf.get("c", buildenv_vars.get("AS", "clang")) + env.define("AS", cc_as) + env_vars = env.vars(self, scope="build") + env_vars.save_script("conanbuild_android") if is_msvc(self): env = Environment() diff --git a/recipes/libx264/config.yml b/recipes/libx264/config.yml index be7607c4d1266a..cce887c4b4859c 100644 --- a/recipes/libx264/config.yml +++ b/recipes/libx264/config.yml @@ -1,4 +1,6 @@ versions: + "cci.20240224": + folder: all "cci.20220602": folder: all "20191217": From 6966ae15e344be12214b07adeb2d1f47b9cfb0f2 Mon Sep 17 00:00:00 2001 From: Uilian Ries Date: Mon, 15 Jul 2024 18:17:30 +0200 Subject: [PATCH 026/132] (#24583) libfdk_acc: Do not support building for Android when using NDK * fdk-aac do not build for Android Signed-off-by: Uilian Ries * use validate_build for ndk rule --------- Signed-off-by: Uilian Ries --- recipes/libfdk_aac/all/conanfile.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/recipes/libfdk_aac/all/conanfile.py b/recipes/libfdk_aac/all/conanfile.py index ea032fb6c5ddd4..63fd8a8038b158 100644 --- a/recipes/libfdk_aac/all/conanfile.py +++ b/recipes/libfdk_aac/all/conanfile.py @@ -6,7 +6,9 @@ from conan.tools.gnu import Autotools, AutotoolsToolchain from conan.tools.layout import basic_layout from conan.tools.microsoft import is_msvc, NMakeToolchain +from conan.tools.build import cross_building from conan.tools.scm import Version +from conan.errors import ConanInvalidConfiguration import os required_conan_version = ">=1.55.0" @@ -46,6 +48,12 @@ def configure(self): if self.options.shared: self.options.rm_safe("fPIC") + def validate_build(self): + if cross_building(self) and self.settings.os == "Android": + # https://github.com/mstorsjo/fdk-aac/issues/124#issuecomment-653473956 + # INFO: It's possible to inject a log.h to fix the error, but there is no official support. + raise ConanInvalidConfiguration(f"{self.ref} cross-building for Android is not supported. Please, try native build.") + def layout(self): if self._use_cmake: cmake_layout(self, src_folder="src") From d639625dd5083c90e04a1d15e5ff31d4a4853139 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Mon, 15 Jul 2024 20:09:25 +0300 Subject: [PATCH 027/132] (#21666) seqan3: add v3.3.0 * seqan3: add v3.3.0 * seqan3: bump min GCC version --- recipes/seqan3/all/conandata.yml | 7 +++++-- recipes/seqan3/all/conanfile.py | 11 +++++------ recipes/seqan3/config.yml | 2 ++ 3 files changed, 12 insertions(+), 8 deletions(-) diff --git a/recipes/seqan3/all/conandata.yml b/recipes/seqan3/all/conandata.yml index 7b4ddfdc76fc61..ee19f74eeca81c 100644 --- a/recipes/seqan3/all/conandata.yml +++ b/recipes/seqan3/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.3.0": + url: "https://github.com/seqan/seqan3/releases/download/3.3.0/seqan3-3.3.0-Source.tar.xz" + sha256: "da2fb621268ebc52b9cc26087e96f4a94109db1f4f28d363d19c7c9cdbd788b1" "3.1.0": - url: https://github.com/seqan/seqan3/releases/download/3.1.0/seqan3-3.1.0-Source.tar.xz - sha256: 0b37b1c3450e19c0ebe42c052c3f87babb8074bd772f10a553949c312c285726 + url: "https://github.com/seqan/seqan3/releases/download/3.1.0/seqan3-3.1.0-Source.tar.xz" + sha256: "0b37b1c3450e19c0ebe42c052c3f87babb8074bd772f10a553949c312c285726" diff --git a/recipes/seqan3/all/conanfile.py b/recipes/seqan3/all/conanfile.py index 10b57ed42fdf79..9ea0680d5bf455 100644 --- a/recipes/seqan3/all/conanfile.py +++ b/recipes/seqan3/all/conanfile.py @@ -28,7 +28,9 @@ def _min_cppstd(self): @property def _compilers_minimum_version(self): - return {"gcc": "10"} + if Version(self.version) < "3.3.0": + return {"gcc": "10"} + return {"gcc": "11"} def layout(self): basic_layout(self, src_folder="src") @@ -44,11 +46,8 @@ 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("SeqAn3 requires C++20, which your compiler does not fully support.") - else: - self.output.warning("SeqAn3 requires C++20. Your compiler is unknown. Assuming it supports C++20.") + if minimum_version and Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration("SeqAn3 requires C++20, which your compiler does not fully support.") if self.settings.compiler == "gcc" and self.settings.compiler.libcxx != "libstdc++11": self.output.warning("SeqAn3 does not actively support libstdc++, consider using libstdc++11 instead.") diff --git a/recipes/seqan3/config.yml b/recipes/seqan3/config.yml index 9370babb6565af..8d4de7c167625c 100644 --- a/recipes/seqan3/config.yml +++ b/recipes/seqan3/config.yml @@ -1,3 +1,5 @@ versions: + "3.3.0": + folder: "all" "3.1.0": folder: "all" From 5194f48e27d0e66f58b0dedbc9942abc56e3f05d Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Mon, 15 Jul 2024 21:04:13 +0300 Subject: [PATCH 028/132] (#22197) libxpm: add v3.5.17 * libxpm: add v3.5.17 * libxpm: use WINDOWS_EXPORT_ALL_SYMBOLS * libxpm: add missing CrPFr*.c source files * libxpm: add -DNO_ZPIPE * libxpm: fix Windows build --- recipes/libxpm/all/CMakeLists.txt | 30 +++++++++++++++++++-------- recipes/libxpm/all/conandata.yml | 5 ++++- recipes/libxpm/all/conanfile.py | 10 ++------- recipes/libxpm/all/windows/libXpm.def | 29 -------------------------- recipes/libxpm/config.yml | 2 ++ 5 files changed, 29 insertions(+), 47 deletions(-) delete mode 100644 recipes/libxpm/all/windows/libXpm.def diff --git a/recipes/libxpm/all/CMakeLists.txt b/recipes/libxpm/all/CMakeLists.txt index 681dd5c613eecc..94c9cd557b1f08 100644 --- a/recipes/libxpm/all/CMakeLists.txt +++ b/recipes/libxpm/all/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(libXpm VERSION "${CONAN_libXpm_VERSION}" LANGUAGES C) @@ -16,8 +16,7 @@ endif() # ---- Library ---- -add_library( - Xpm +add_library(Xpm src/Attrib.c src/CrBufFrI.c src/CrDatFrI.c @@ -41,15 +40,15 @@ add_library( src/WrFFrI.c ) -if(WIN32) - target_sources(Xpm PRIVATE windows/libXpm.def) - target_compile_definitions(Xpm PRIVATE FOR_MSW) -else() - target_sources( - Xpm PRIVATE +if(UNIX) + # Pixmap-related functions require X11 and are not available on Windows + target_sources(Xpm PRIVATE src/CrBufFrP.c src/CrDatFrP.c src/CrIFrP.c + src/CrPFrBuf.c + src/CrPFrDat.c + src/CrPFrI.c src/RdFToP.c src/WrFFrP.c ) @@ -57,6 +56,11 @@ else() target_link_libraries(Xpm PRIVATE "${X11_LIBRARY}") endif() +if(WIN32) + set_target_properties(Xpm PROPERTIES WINDOWS_EXPORT_ALL_SYMBOLS TRUE) + target_compile_definitions(Xpm PRIVATE FOR_MSW) +endif() + if(MSVC) target_compile_definitions( Xpm PRIVATE @@ -68,6 +72,14 @@ endif() target_include_directories(Xpm PRIVATE include/X11) +if(NOT WIN32) + target_compile_definitions(Xpm PRIVATE + # Build without the --enable-open-zfile option: + # https://gitlab.freedesktop.org/xorg/lib/libxpm/-/blob/libXpm-3.5.17/configure.ac?ref_type=tags#L67-88 + NO_ZPIPE + ) +endif() + set_target_properties( Xpm PROPERTIES VERSION "${PROJECT_VERSION}" diff --git a/recipes/libxpm/all/conandata.yml b/recipes/libxpm/all/conandata.yml index 3db82178c2eeba..0c9046c699ed9c 100644 --- a/recipes/libxpm/all/conandata.yml +++ b/recipes/libxpm/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.5.17": + url: "https://gitlab.freedesktop.org/xorg/lib/libxpm/-/archive/libXpm-3.5.17/libxpm-libXpm-3.5.17.tar.gz" + sha256: "c63123e2de511edac5df33425a3a3b292e06973198c94470c454a9c973f211f6" "3.5.13": + url: "https://gitlab.freedesktop.org/xorg/lib/libxpm/-/archive/libXpm-3.5.13/libxpm-libXpm-3.5.13.tar.gz" sha256: "516fcb7a3cc5b491ca2b95df29018b1643c40649d72473d3c62379d8fdc472ff" - url: https://gitlab.freedesktop.org/xorg/lib/libxpm/-/archive/libXpm-3.5.13/libxpm-libXpm-3.5.13.tar.gz diff --git a/recipes/libxpm/all/conanfile.py b/recipes/libxpm/all/conanfile.py index 0312deadc10a94..19a22b67425e08 100644 --- a/recipes/libxpm/all/conanfile.py +++ b/recipes/libxpm/all/conanfile.py @@ -26,15 +26,9 @@ class LibXpmConan(ConanFile): "shared": False, "fPIC": True, } - no_copy_source = True def export_sources(self): - copy(self, "CMakeLists.txt", - src=self.recipe_folder, - dst=os.path.join(self.export_sources_folder, "src")) - copy(self, "*", - src=os.path.join(self.recipe_folder, "windows"), - dst=os.path.join(self.export_sources_folder, "src", "windows")) + copy(self, "CMakeLists.txt", self.recipe_folder, os.path.join(self.export_sources_folder, "src")) def config_options(self): if self.settings.os == "Windows": @@ -62,7 +56,7 @@ def source(self): def generate(self): tc = CMakeToolchain(self) - tc.variables["CONAN_libXpm_VERSION"] = self.version + tc.cache_variables["CONAN_libXpm_VERSION"] = self.version tc.generate() def build(self): diff --git a/recipes/libxpm/all/windows/libXpm.def b/recipes/libxpm/all/windows/libXpm.def deleted file mode 100644 index 5381386ee75ee1..00000000000000 --- a/recipes/libxpm/all/windows/libXpm.def +++ /dev/null @@ -1,29 +0,0 @@ -EXPORTS - -XpmCreateImageFromData -XpmCreateDataFromImage -XpmReadFileToImage -XpmWriteFileFromImage -XpmCreateImageFromBuffer -XpmReadFileToBuffer -XpmWriteFileFromBuffer -XpmReadFileToData -XpmWriteFileFromData -XpmAttributesSize -XpmFreeAttributes -XpmFreeExtensions -XpmFreeXpmImage -XpmFreeXpmInfo -XpmGetErrorString -XpmLibraryVersion - -XpmReadFileToXpmImage -XpmWriteFileFromXpmImage -XpmCreateImageFromXpmImage -XpmCreateXpmImageFromImage -XpmCreateDataFromXpmImage -XpmCreateXpmImageFromData -XpmCreateXpmImageFromBuffer -XpmCreateBufferFromXpmImage - -XpmFree diff --git a/recipes/libxpm/config.yml b/recipes/libxpm/config.yml index 96f25a4bd1d23f..9876f217553304 100644 --- a/recipes/libxpm/config.yml +++ b/recipes/libxpm/config.yml @@ -1,3 +1,5 @@ versions: + "3.5.17": + folder: all "3.5.13": folder: all From b4675b0d39f6c338b32d393e11813f0adcd63cca Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 16 Jul 2024 03:55:22 +0900 Subject: [PATCH 029/132] (#24499) daw_json_link: add new version 3.24.1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * daw_json_link: add version 3.24.1 * use conan_data --------- Co-authored-by: Abril Rincón Blanco --- recipes/daw_json_link/all/conandata.yml | 35 ++++++++++++++++--------- recipes/daw_json_link/all/conanfile.py | 10 +++---- recipes/daw_json_link/config.yml | 10 ++----- 3 files changed, 29 insertions(+), 26 deletions(-) diff --git a/recipes/daw_json_link/all/conandata.yml b/recipes/daw_json_link/all/conandata.yml index 3284b09ee8d98b..35b1b14775dc9f 100644 --- a/recipes/daw_json_link/all/conandata.yml +++ b/recipes/daw_json_link/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.24.1": + url: "https://github.com/beached/daw_json_link/archive/refs/tags/v3.24.1.tar.gz" + sha256: "439b4678377950f165e3d49d472c0676f0ef2fae3c5e6e7febddd5633f6e4f39" "3.23.2": url: "https://github.com/beached/daw_json_link/archive/refs/tags/v3.23.2.tar.gz" sha256: "fd1234a14c126c79076e0b6e6eceae42afd465c419dc7a7393c69c28aa7f53d4" @@ -23,15 +26,23 @@ sources: "3.15.0": url: "https://github.com/beached/daw_json_link/archive/refs/tags/v3.15.0.tar.gz" sha256: "6f72c69944e33f56823d941b09c8d17ece44b224e802ae0a3416c32f2bdbec40" - "3.14.1": - url: "https://github.com/beached/daw_json_link/archive/refs/tags/v3.14.1.tar.gz" - sha256: "a761c594dabd14b7484f5d286db31e9272f633d2ad0dab44cdae5ff3f06db6fb" - "3.14.0": - url: "https://github.com/beached/daw_json_link/archive/refs/tags/v3.14.tar.gz" - sha256: "07171e1b8f09f525116627015b6618990dc9cfb32357ba821512c0508730c9a4" - "3.12.0": - url: "https://github.com/beached/daw_json_link/archive/v3.12.0.tar.gz" - sha256: "b32097954caae14071893232fd85febbfda1deec34bb939f6aad76c077c6c5d5" - "3.11.1": - url: "https://github.com/beached/daw_json_link/archive/v3.11.1.tar.gz" - sha256: "d2b5cb221892c6b1ecd30fd2e45d168d6b378e97d134e75349703104c5882309" +daw_headers_mapping: + "3.24.1": "2.106.0" + "3.23.2": "2.101.0" + "3.23.0": "2.97.0" + "3.20.1": "2.97.0" + "3.19.0": "2.97.0" + "3.17.2": "2.97.0" + "3.17.1": "2.97.0" + "3.16.0": "2.97.0" + "3.15.0": "2.97.0" +daw_utf_mapping: + "3.24.1": "2.2.5" + "3.23.2": "2.2.4" + "3.23.0": "2.2.3" + "3.20.1": "2.2.3" + "3.19.0": "2.2.3" + "3.17.2": "2.2.3" + "3.17.1": "2.2.3" + "3.16.0": "2.2.3" + "3.15.0": "2.2.3" diff --git a/recipes/daw_json_link/all/conanfile.py b/recipes/daw_json_link/all/conanfile.py index f75c692a8d93da..eeaf0710c5e7a6 100644 --- a/recipes/daw_json_link/all/conanfile.py +++ b/recipes/daw_json_link/all/conanfile.py @@ -39,12 +39,10 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - 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") + corresponding_daw_header_version = self.conan_data["daw_headers_mapping"][self.version] + self.requires(f"daw_header_libraries/{corresponding_daw_header_version}") + corresponding_daw_utf_version = self.conan_data["daw_utf_mapping"][self.version] + self.requires(f"daw_utf_range/{corresponding_daw_utf_version}") def package_id(self): self.info.clear() diff --git a/recipes/daw_json_link/config.yml b/recipes/daw_json_link/config.yml index e102478003a7f9..f518e618fe0e71 100644 --- a/recipes/daw_json_link/config.yml +++ b/recipes/daw_json_link/config.yml @@ -1,4 +1,6 @@ versions: + "3.24.1": + folder: "all" "3.23.2": folder: "all" "3.23.0": @@ -15,11 +17,3 @@ versions: folder: "all" "3.15.0": folder: "all" - "3.14.1": - folder: "all" - "3.14.0": - folder: "all" - "3.12.0": - folder: "all" - "3.11.1": - folder: "all" From dbf460d74c1c36af1628b4dd1b49689666941357 Mon Sep 17 00:00:00 2001 From: John M Daly Date: Mon, 15 Jul 2024 15:32:44 -0400 Subject: [PATCH 030/132] (#24614) ouster_sdk: add version 0.12.0 * ouster_sdk: add version 0.12.0 * fix: don't patch 0.12.0 --- recipes/ouster_sdk/all/conandata.yml | 3 +++ recipes/ouster_sdk/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/ouster_sdk/all/conandata.yml b/recipes/ouster_sdk/all/conandata.yml index 42f0c9762b0b94..ba54e961b9268e 100644 --- a/recipes/ouster_sdk/all/conandata.yml +++ b/recipes/ouster_sdk/all/conandata.yml @@ -1,5 +1,8 @@ sources: # The C++ library uses a separate versioning scheme from the overall releases + "0.12.0": + url: "https://github.com/ouster-lidar/ouster_example/archive/refs/tags/20240703.tar.gz" + sha256: "aac9f82d8b8376bd11366204a57ab4e2a27e92a1a758238f2d3859e570be4914" "0.11.0": url: "https://github.com/ouster-lidar/ouster_example/archive/refs/tags/20240425.tar.gz" sha256: "f4f38f6787021e697633f2c290c95b544af81d388a18cb9f790234d4f592caf0" diff --git a/recipes/ouster_sdk/config.yml b/recipes/ouster_sdk/config.yml index 9f9994bf80db1b..d87e034bb91603 100644 --- a/recipes/ouster_sdk/config.yml +++ b/recipes/ouster_sdk/config.yml @@ -1,4 +1,6 @@ versions: + "0.12.0": + folder: all "0.11.0": folder: all "0.10.0": From 8d03e8a1e76d1178e6daf06a291de837994ce6ea Mon Sep 17 00:00:00 2001 From: Luiz Feldmann Date: Mon, 15 Jul 2024 17:13:23 -0300 Subject: [PATCH 031/132] (#24625) atomic_queue: add recipe * New recipe for library atomic_queue/1.6.3 * The entire test_v1_package folder can be removed. It's no longer needed for new recipes in CCI. --- recipes/atomic_queue/all/conandata.yml | 4 ++ recipes/atomic_queue/all/conanfile.py | 46 +++++++++++++++++++ .../all/test_package/CMakeLists.txt | 8 ++++ .../all/test_package/conanfile.py | 26 +++++++++++ .../all/test_package/test_package.cpp | 13 ++++++ recipes/atomic_queue/config.yml | 3 ++ 6 files changed, 100 insertions(+) create mode 100644 recipes/atomic_queue/all/conandata.yml create mode 100644 recipes/atomic_queue/all/conanfile.py create mode 100644 recipes/atomic_queue/all/test_package/CMakeLists.txt create mode 100644 recipes/atomic_queue/all/test_package/conanfile.py create mode 100644 recipes/atomic_queue/all/test_package/test_package.cpp create mode 100644 recipes/atomic_queue/config.yml diff --git a/recipes/atomic_queue/all/conandata.yml b/recipes/atomic_queue/all/conandata.yml new file mode 100644 index 00000000000000..f19fe2ba05117e --- /dev/null +++ b/recipes/atomic_queue/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "1.6.3": + url: "https://github.com/max0x7ba/atomic_queue/archive/refs/tags/v1.6.3.tar.gz" + sha256: "0ad6e0203d90367f6a4e496449dfd9ad65b80168fadafef4eac08820c6bda79c" diff --git a/recipes/atomic_queue/all/conanfile.py b/recipes/atomic_queue/all/conanfile.py new file mode 100644 index 00000000000000..8e73409204f380 --- /dev/null +++ b/recipes/atomic_queue/all/conanfile.py @@ -0,0 +1,46 @@ +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.50.0" + +class CxxOptsConan(ConanFile): + name = "atomic_queue" + homepage = "https://github.com/max0x7ba/atomic_queue" + url = "https://github.com/conan-io/conan-center-index" + description = "Multiple-producer-multiple-consumer lock-free queues based on circular buffer and std::atomic." + license = "MIT" + topics = ("queue", "lockfree", "atomic") + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" + no_copy_source = True + + @property + def _min_cppstd(self): + return 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) + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def build(self): + pass + + def package(self): + copy(self, "LICENSE", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + copy(self, pattern="*", src=os.path.join(self.source_folder, "include"), dst=os.path.join(self.package_folder, "include")) + + def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] diff --git a/recipes/atomic_queue/all/test_package/CMakeLists.txt b/recipes/atomic_queue/all/test_package/CMakeLists.txt new file mode 100644 index 00000000000000..2935185362d0c1 --- /dev/null +++ b/recipes/atomic_queue/all/test_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.8) +project(test_package LANGUAGES CXX) + +find_package(atomic_queue REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE atomic_queue::atomic_queue) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_14) diff --git a/recipes/atomic_queue/all/test_package/conanfile.py b/recipes/atomic_queue/all/test_package/conanfile.py new file mode 100644 index 00000000000000..081c97abefb380 --- /dev/null +++ b/recipes/atomic_queue/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, cmake_layout + +required_conan_version = ">=1.50.0" + +class TestPackageConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + 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): + self.run(os.path.join(self.cpp.build.bindirs[0], "test_package"), env="conanrun") diff --git a/recipes/atomic_queue/all/test_package/test_package.cpp b/recipes/atomic_queue/all/test_package/test_package.cpp new file mode 100644 index 00000000000000..bdfe611442b891 --- /dev/null +++ b/recipes/atomic_queue/all/test_package/test_package.cpp @@ -0,0 +1,13 @@ +#include + +int main(int argc, char* argv[]) +{ + atomic_queue::AtomicQueue q; + + const int iPush = 42; + q.push(iPush); + + const int iPop = q.pop(); + + return (iPush - iPop); +} diff --git a/recipes/atomic_queue/config.yml b/recipes/atomic_queue/config.yml new file mode 100644 index 00000000000000..6a0b843662fca6 --- /dev/null +++ b/recipes/atomic_queue/config.yml @@ -0,0 +1,3 @@ +versions: + "1.6.3": + folder: "all" From 126014e3e46dd9d50012d6713e7c78124f49fbee Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Tue, 16 Jul 2024 02:22:02 +0100 Subject: [PATCH 032/132] (#24636) [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 20665bebe59ae8..05927569c3b218 100644 --- a/.c3i/conan_v2_ready_references.yml +++ b/.c3i/conan_v2_ready_references.yml @@ -81,6 +81,7 @@ required_for_references: - aws-lambda-cpp - aws-libfabric - aws-sdk-cpp +- azure-sdk-for-cpp - b2 - b64 - backport-cpp @@ -739,6 +740,7 @@ required_for_references: - libipt - libjpeg - libjpeg-turbo +- libjxl - libkml - libliftoff - liblsl @@ -809,6 +811,7 @@ required_for_references: - libslz - libsmacker - libsndfile +- libsndio - libsodium - libsolace - libspatialindex @@ -1404,6 +1407,7 @@ required_for_references: - svector - svgpp - svgwrite +- swig - symengine - systemc - systemc-cci From 2951f07531c537efd3fd16dda122dced7b932f6b Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 16 Jul 2024 09:45:56 +0300 Subject: [PATCH 033/132] (#22043) xapian-core: add v1.4.24 * xapian-core: add v1.4.24 * xapian-core: try to improve macOS build * xapian-core: simplify the macOS cross-compilation fix * Update recipes/xapian-core/all/conanfile.py Co-authored-by: Daniel --------- Co-authored-by: Daniel --- recipes/xapian-core/all/conandata.yml | 5 +++++ recipes/xapian-core/all/conanfile.py | 8 +++++++- recipes/xapian-core/config.yml | 2 ++ 3 files changed, 14 insertions(+), 1 deletion(-) diff --git a/recipes/xapian-core/all/conandata.yml b/recipes/xapian-core/all/conandata.yml index 4514bc0f40509d..18806738cffac2 100644 --- a/recipes/xapian-core/all/conandata.yml +++ b/recipes/xapian-core/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.4.24": + url: "https://oligarchy.co.uk/xapian/1.4.24/xapian-core-1.4.24.tar.xz" + sha256: "eda5ae6dcf6b0553a8676af64b1fd304e998cd20f779031ccaaf7ab9a373531a" "1.4.19": url: "https://oligarchy.co.uk/xapian/1.4.19/xapian-core-1.4.19.tar.xz" sha256: "1fca48fca6cc3526cc4ba93dd194fe9c1326857b78edcfb37e68d086d714a9c3" @@ -6,6 +9,8 @@ sources: url: "https://oligarchy.co.uk/xapian/1.4.18/xapian-core-1.4.18.tar.xz" sha256: "196ddbb4ad10450100f0991a599e4ed944cbad92e4a6fe813be6dce160244b77" patches: + "1.4.24": + - patch_file: "patches/0001-add-msvc-cl-sh.patch" "1.4.19": - patch_file: "patches/0001-add-msvc-cl-sh.patch" "1.4.18": diff --git a/recipes/xapian-core/all/conanfile.py b/recipes/xapian-core/all/conanfile.py index e5d0241981b9f7..fd5b09b5d2d5df 100644 --- a/recipes/xapian-core/all/conanfile.py +++ b/recipes/xapian-core/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 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, rename, rm, rmdir, save @@ -101,6 +101,12 @@ def generate(self): env.define("OBJDUMP", ":") env.define("RANLIB", ":") env.define("STRIP", ":") + + if is_apple_os(self) and self.settings.arch == "armv8": + # A fix for ./configure issues on armv8 + tc.configure_args.append("--host=aarch64-apple-darwin") + tc.extra_ldflags.append("-arch arm64") + tc.generate(env) if is_msvc(self): diff --git a/recipes/xapian-core/config.yml b/recipes/xapian-core/config.yml index bc4d571521f812..9a97cca3234771 100644 --- a/recipes/xapian-core/config.yml +++ b/recipes/xapian-core/config.yml @@ -1,4 +1,6 @@ versions: + "1.4.24": + folder: "all" "1.4.19": folder: "all" "1.4.18": From 739cf667d599a4d2dcd6a7b53bcc29dc019e38c0 Mon Sep 17 00:00:00 2001 From: Ingmar Rieger Date: Tue, 16 Jul 2024 10:54:58 +0200 Subject: [PATCH 034/132] (#24635) OpenImageIO: Add version 2.5.13.1 * Add OpenImageIO 2.5.13.1 * Remove a few old patch levels --- recipes/openimageio/all/conandata.yml | 29 +- .../all/patches/2.5.6.0-cmake-targets.patch | 515 ----------------- .../all/patches/2.5.9.0-cmake-targets.patch | 518 ------------------ recipes/openimageio/config.yml | 8 +- 4 files changed, 9 insertions(+), 1061 deletions(-) delete mode 100644 recipes/openimageio/all/patches/2.5.6.0-cmake-targets.patch delete 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 fff916ce447bb6..b5f547e3603401 100644 --- a/recipes/openimageio/all/conandata.yml +++ b/recipes/openimageio/all/conandata.yml @@ -5,24 +5,18 @@ sources: "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" - "2.5.9.0": - url: "https://github.com/AcademySoftwareFoundation/OpenImageIO/archive/refs/tags/v2.5.9.0.tar.gz" - sha256: "b6a68e369bc475525eb843bdc0cb8adc910cc71000825f8db9b5e136166cdc78" "2.5.10.1": url: "https://github.com/AcademySoftwareFoundation/OpenImageIO/archive/refs/tags/v2.5.10.1.tar.gz" sha256: "8f6a547f6a5d510737ba436f867043db537def65f0fdb14ec30e5a185b619f93" - "2.5.11.0": - url: "https://github.com/AcademySoftwareFoundation/OpenImageIO/archive/refs/tags/v2.5.11.0.tar.gz" - sha256: "ebf1945e36679be55519d9f42a8f029c4a53d4efb4aaee3b10af6cdc93fb614b" "2.5.12.0": url: "https://github.com/AcademySoftwareFoundation/OpenImageIO/archive/refs/tags/v2.5.12.0.tar.gz" sha256: "51ea3c309bad7381fd0d7ef793e93a72d8e0edaeff4ff329f4f21fb5de3d90bd" "2.5.13.0": url: "https://github.com/AcademySoftwareFoundation/OpenImageIO/archive/refs/tags/v2.5.13.0.tar.gz" sha256: "663d712e4623e5e083b4ad5c5046c7b8ba65dc73a5380e7cfc12f9950c90d217" + "2.5.13.1": + url: "https://github.com/AcademySoftwareFoundation/OpenImageIO/archive/refs/tags/v2.5.13.1.tar.gz" + sha256: "0fbaec6c15215e11cf4545128c4d64eaa97b461cb9b5fb8a76f9a7d35c99e3df" patches: "2.4.7.1": - patch_file: "patches/2.4.7.1-cmake-targets.patch" @@ -35,22 +29,10 @@ patches: - 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" - "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" "2.5.10.1": - patch_file: "patches/2.5.10.1-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.11.0": - - patch_file: "patches/2.5.10.1-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.12.0": - patch_file: "patches/2.5.12.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)" @@ -59,4 +41,7 @@ patches: - patch_file: "patches/2.5.12.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.13.1": + - patch_file: "patches/2.5.12.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.6.0-cmake-targets.patch b/recipes/openimageio/all/patches/2.5.6.0-cmake-targets.patch deleted file mode 100644 index 7d45a41ba65a6a..00000000000000 --- a/recipes/openimageio/all/patches/2.5.6.0-cmake-targets.patch +++ /dev/null @@ -1,515 +0,0 @@ -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 (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,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/patches/2.5.9.0-cmake-targets.patch b/recipes/openimageio/all/patches/2.5.9.0-cmake-targets.patch deleted file mode 100644 index 747b79bc8b544d..00000000000000 --- a/recipes/openimageio/all/patches/2.5.9.0-cmake-targets.patch +++ /dev/null @@ -1,518 +0,0 @@ -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 c3baaee7f7c7d9..4aae3708205a1b 100644 --- a/recipes/openimageio/config.yml +++ b/recipes/openimageio/config.yml @@ -3,15 +3,11 @@ versions: folder: all "2.4.17.0": folder: all - "2.5.6.0": - folder: all - "2.5.9.0": - folder: all "2.5.10.1": folder: all - "2.5.11.0": - folder: all "2.5.12.0": folder: all "2.5.13.0": folder: all + "2.5.13.1": + folder: all From 92364e78b1c3c5991a13380e6c7df1d73ce07617 Mon Sep 17 00:00:00 2001 From: Egor Tyuvaev Date: Tue, 16 Jul 2024 13:48:19 +0200 Subject: [PATCH 035/132] (#24565) Update openvino/2024.2.0 --- recipes/openvino/all/conandata.yml | 16 ++++++++++++++++ recipes/openvino/all/conanfile.py | 6 ++++-- .../all/dependencies/dependencies-2024.2.0.yml | 1 + recipes/openvino/config.yml | 2 ++ 4 files changed, 23 insertions(+), 2 deletions(-) create mode 100644 recipes/openvino/all/dependencies/dependencies-2024.2.0.yml diff --git a/recipes/openvino/all/conandata.yml b/recipes/openvino/all/conandata.yml index a47bfa540ad579..90b6177bbef9d6 100644 --- a/recipes/openvino/all/conandata.yml +++ b/recipes/openvino/all/conandata.yml @@ -1,4 +1,20 @@ sources: + "2024.2.0": + "openvino": + url: "https://github.com/openvinotoolkit/openvino/archive/refs/tags/2024.2.0.tar.gz" + sha256: "b624481efb7814cf2d98a29163c3b914fa2f23c1417289b13561d0b5e32fc67c" + "arm_compute": + url: "https://github.com/ARM-software/ComputeLibrary/archive/refs/tags/v24.04.tar.gz" + sha256: "6d7aebfa9be74d29ecd2dbeb17f69e00c667c36292401f210121bf26a30b38a5" + "onednn_cpu": + url: "https://github.com/openvinotoolkit/oneDNN/archive/373e65b660c0ba274631cf30c422f10606de1618.tar.gz" + sha256: "c205b81f9024952c742e765090556a18c9463fff245753a2afa42c344bd6379d" + "mlas": + url: "https://github.com/openvinotoolkit/mlas/archive/d1bc25ec4660cddd87804fcf03b2411b5dfb2e94.tar.gz" + sha256: "0a44fbfd4b13e8609d66ddac4b11a27c90c1074cde5244c91ad197901666004c" + "onednn_gpu": + url: "https://github.com/oneapi-src/oneDNN/archive/37f48519b87cf8b5e5ef2209340a1948c3e87d72.tar.gz" + sha256: "58131e094408460f88bf941977b5206232dc2bc8dbf227250d1e2236b43153a5" "2024.1.0": "openvino": url: "https://github.com/openvinotoolkit/openvino/archive/refs/tags/2024.1.0.tar.gz" diff --git a/recipes/openvino/all/conanfile.py b/recipes/openvino/all/conanfile.py index fca46b7f107365..362f2e5a309dd3 100644 --- a/recipes/openvino/all/conanfile.py +++ b/recipes/openvino/all/conanfile.py @@ -349,11 +349,13 @@ def package_info(self): openvino_runtime.libs.extend(["openvino_onnx_frontend", "openvino_onnx_common"]) openvino_runtime.requires.extend(["protobuf::libprotobuf", "onnx::onnx"]) if self.options.enable_tf_frontend: - openvino_runtime.libs.extend(["openvino_tensorflow_frontend", "openvino_tensorflow_common"]) + openvino_runtime.libs.extend(["openvino_tensorflow_frontend"]) openvino_runtime.requires.extend(["protobuf::libprotobuf", "snappy::snappy"]) if self.options.enable_tf_lite_frontend: - openvino_runtime.libs.extend(["openvino_tensorflow_lite_frontend", "openvino_tensorflow_common"]) + openvino_runtime.libs.extend(["openvino_tensorflow_lite_frontend"]) openvino_runtime.requires.extend(["flatbuffers::flatbuffers"]) + if self.options.enable_tf_frontend or self.options.enable_tf_lite_frontend: + openvino_runtime.libs.extend(["openvino_tensorflow_common"]) if self.options.enable_paddle_frontend: openvino_runtime.libs.append("openvino_paddle_frontend") openvino_runtime.requires.append("protobuf::libprotobuf") diff --git a/recipes/openvino/all/dependencies/dependencies-2024.2.0.yml b/recipes/openvino/all/dependencies/dependencies-2024.2.0.yml new file mode 100644 index 00000000000000..f99604741682a5 --- /dev/null +++ b/recipes/openvino/all/dependencies/dependencies-2024.2.0.yml @@ -0,0 +1 @@ +onnx: "1.15.0" diff --git a/recipes/openvino/config.yml b/recipes/openvino/config.yml index 511bd030e9af67..2c38fc9d0cd691 100644 --- a/recipes/openvino/config.yml +++ b/recipes/openvino/config.yml @@ -1,4 +1,6 @@ versions: + "2024.2.0": + folder: "all" "2024.1.0": folder: "all" "2024.0.0": From f744063eb96cca0496ad3bb5297027b2a1d39a36 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 16 Jul 2024 21:57:54 +0900 Subject: [PATCH 036/132] (#24622) mongo-cxx-driver: add version 3.10.2 --- recipes/mongo-cxx-driver/all/conandata.yml | 10 ++++ .../all/patches/3.10.2-0001-dirs.patch | 57 +++++++++++++++++++ recipes/mongo-cxx-driver/config.yml | 2 + 3 files changed, 69 insertions(+) create mode 100644 recipes/mongo-cxx-driver/all/patches/3.10.2-0001-dirs.patch diff --git a/recipes/mongo-cxx-driver/all/conandata.yml b/recipes/mongo-cxx-driver/all/conandata.yml index 002c89f3706766..1e5afccbe9b490 100644 --- a/recipes/mongo-cxx-driver/all/conandata.yml +++ b/recipes/mongo-cxx-driver/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.10.2": + url: "https://github.com/mongodb/mongo-cxx-driver/releases/download/r3.10.2/mongo-cxx-driver-r3.10.2.tar.gz" + sha256: "52b99b2866019b5ea25d15c5a39e2a88c70fe1259c40f1091deff8bfae0194be" "3.10.1": url: "https://github.com/mongodb/mongo-cxx-driver/releases/download/r3.10.1/mongo-cxx-driver-r3.10.1.tar.gz" sha256: "0297d9d1a513f09438cc05254b14baa49edd1fa64a6ce5d7a80a1eb7677cf2be" @@ -27,6 +30,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.10.2": + - patch_file: "patches/3.10.2-0001-dirs.patch" + patch_description: "disable documentation features, fix directories" + patch_type: "conan" + - patch_file: "patches/3.10.1-0002-remove-abi-suffixes.patch" + patch_description: "remove abi suffixes for MSVC" + patch_type: "conan" "3.10.1": - patch_file: "patches/3.10.1-0001-dirs.patch" patch_description: "disable documentation features, fix directories" diff --git a/recipes/mongo-cxx-driver/all/patches/3.10.2-0001-dirs.patch b/recipes/mongo-cxx-driver/all/patches/3.10.2-0001-dirs.patch new file mode 100644 index 00000000000000..360b25feaf147a --- /dev/null +++ b/recipes/mongo-cxx-driver/all/patches/3.10.2-0001-dirs.patch @@ -0,0 +1,57 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 6d612a4..5b3f872 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -279,7 +279,7 @@ unset(dist_generated_depends CACHE) + set(BUILD_SOURCE_DIR ${CMAKE_BINARY_DIR}) + + include(MakeDistFiles) +- ++if(FALSE) + add_custom_target(hugo_dir + COMMAND ${CMAKE_COMMAND} -E make_directory hugo + ) +@@ -335,7 +335,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) + set(DATA_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/data) + +@@ -348,10 +348,10 @@ endif() + + add_subdirectory(src) + +-add_subdirectory(examples EXCLUDE_FROM_ALL) +- +-add_subdirectory(benchmark EXCLUDE_FROM_ALL) ++# add_subdirectory(examples EXCLUDE_FROM_ALL) + ++# add_subdirectory(benchmark EXCLUDE_FROM_ALL) ++if(FALSE) + # Implement 'dist' target + # + # CMake does not implement anything like 'dist' from autotools. +@@ -489,3 +489,4 @@ endif() + if(CMAKE_GENERATOR_TOOLSET) + message(STATUS "\tinstance: ${CMAKE_GENERATOR_TOOLSET}") + endif() ++endif() +\ No newline at end of file +diff --git a/src/bsoncxx/CMakeLists.txt b/src/bsoncxx/CMakeLists.txt +index ce53a71..90c4fd2 100644 +--- a/src/bsoncxx/CMakeLists.txt ++++ b/src/bsoncxx/CMakeLists.txt +@@ -93,8 +93,8 @@ if(TARGET bson_shared OR TARGET bson_static) + set(BSONCXX_PKG_DEP "find_dependency(bson-${LIBBSON_REQUIRED_ABI_VERSION} REQUIRED)") + 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(STATUS "found libbson version ${bson-${LIBBSON_REQUIRED_ABI_VERSION}_VERSION}") + diff --git a/recipes/mongo-cxx-driver/config.yml b/recipes/mongo-cxx-driver/config.yml index e353de8ba013d9..488b018eaeca37 100644 --- a/recipes/mongo-cxx-driver/config.yml +++ b/recipes/mongo-cxx-driver/config.yml @@ -1,4 +1,6 @@ versions: + "3.10.2": + folder: all "3.10.1": folder: all "3.8.1": From 71e07b4fc193b407b20aee26eb97f9ec12cc0573 Mon Sep 17 00:00:00 2001 From: Uilian Ries Date: Tue, 16 Jul 2024 15:23:56 +0200 Subject: [PATCH 037/132] (#24599) libinterpolate: Add support for Mac * libinterpolate: Add support for Mac Signed-off-by: Uilian Ries * Add C++17 for test package Signed-off-by: Uilian Ries --------- Signed-off-by: Uilian Ries --- recipes/libinterpolate/all/conanfile.py | 6 +++--- recipes/libinterpolate/all/test_package/CMakeLists.txt | 1 + 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/recipes/libinterpolate/all/conanfile.py b/recipes/libinterpolate/all/conanfile.py index c6aadd8b682fe0..711fe3eaa7335b 100644 --- a/recipes/libinterpolate/all/conanfile.py +++ b/recipes/libinterpolate/all/conanfile.py @@ -39,8 +39,8 @@ def layout(self): basic_layout(self, src_folder="src") def requirements(self): - self.requires("boost/1.80.0", transitive_headers=True) - self.requires("eigen/3.3.7", transitive_headers=True) + self.requires("boost/1.85.0", transitive_headers=True) + self.requires("eigen/3.4.0", transitive_headers=True) def package_id(self): self.info.clear() @@ -48,7 +48,7 @@ def package_id(self): def validate(self): if Version(self.version) < "2.6.4" and self.settings.os != "Linux": raise ConanInvalidConfiguration(f"{self.ref} is not supported by {self.settings.os}; Try the version >= 2.6.4") - if Version(self.version) >= "2.6.4" and self.settings.os not in ["Linux", "Windows"]: + if Version(self.version) >= "2.6.4" and self.settings.os not in ["Linux", "Windows", "Macos"]: raise ConanInvalidConfiguration(f"{self.ref} is not supported by {self.settings.os}.") if self.settings.compiler.get_safe("cppstd"): check_min_cppstd(self, self._min_cppstd) diff --git a/recipes/libinterpolate/all/test_package/CMakeLists.txt b/recipes/libinterpolate/all/test_package/CMakeLists.txt index 05a0c0e049e56f..711c61c0050373 100644 --- a/recipes/libinterpolate/all/test_package/CMakeLists.txt +++ b/recipes/libinterpolate/all/test_package/CMakeLists.txt @@ -5,3 +5,4 @@ find_package(libInterpolate REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) target_link_libraries(${PROJECT_NAME} PRIVATE libInterpolate::Interpolate) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) From c5cd954616fc94f4ee10cbcb7b3ae44e3becf872 Mon Sep 17 00:00:00 2001 From: Carlos Zoido Date: Tue, 16 Jul 2024 15:42:39 +0200 Subject: [PATCH 038/132] (#24641) Use version range for libpng in sdl_image recipe --- recipes/sdl_image/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/sdl_image/all/conanfile.py b/recipes/sdl_image/all/conanfile.py index bca15363d987dd..15095b9589cff3 100644 --- a/recipes/sdl_image/all/conanfile.py +++ b/recipes/sdl_image/all/conanfile.py @@ -102,7 +102,7 @@ def requirements(self): if self.options.with_libjpeg: self.requires("libjpeg/9e") if self.options.with_libpng: - self.requires("libpng/1.6.40") + self.requires("libpng/[>=1.6 <2]") if self.options.with_libwebp: self.requires("libwebp/1.3.2") if self.options.get_safe("with_avif"): From 4c1598ad60c3391e22867b83dc612a1857d05105 Mon Sep 17 00:00:00 2001 From: Jordan Williams Date: Tue, 16 Jul 2024 10:14:04 -0500 Subject: [PATCH 039/132] (#24607) cairo: Rename meson subdirectory to all per standard convention --- recipes/cairo/{meson => all}/conandata.yml | 0 recipes/cairo/{meson => all}/conanfile.py | 0 .../{meson => all}/patches/binutils-2.34-libbfd-fix.patch | 0 .../patches/cairo-1.17.4-encoding-backport.patch | 0 .../patches/cairo-1.17.4-symbol-lookup-backport.patch | 0 .../patches/cairo-1.17.4-trace-cflags-fix.patch | 0 .../patches/cairo-1.17.4-xlib-xrender-option.patch | 0 recipes/cairo/{meson => all}/test_package/CMakeLists.txt | 0 recipes/cairo/{meson => all}/test_package/conanfile.py | 0 recipes/cairo/{meson => all}/test_package/test_package.c | 0 .../cairo/{meson => all}/test_v1_package/CMakeLists.txt | 0 recipes/cairo/{meson => all}/test_v1_package/conanfile.py | 0 recipes/cairo/config.yml | 8 ++++---- 13 files changed, 4 insertions(+), 4 deletions(-) rename recipes/cairo/{meson => all}/conandata.yml (100%) rename recipes/cairo/{meson => all}/conanfile.py (100%) rename recipes/cairo/{meson => all}/patches/binutils-2.34-libbfd-fix.patch (100%) rename recipes/cairo/{meson => all}/patches/cairo-1.17.4-encoding-backport.patch (100%) rename recipes/cairo/{meson => all}/patches/cairo-1.17.4-symbol-lookup-backport.patch (100%) rename recipes/cairo/{meson => all}/patches/cairo-1.17.4-trace-cflags-fix.patch (100%) rename recipes/cairo/{meson => all}/patches/cairo-1.17.4-xlib-xrender-option.patch (100%) rename recipes/cairo/{meson => all}/test_package/CMakeLists.txt (100%) rename recipes/cairo/{meson => all}/test_package/conanfile.py (100%) rename recipes/cairo/{meson => all}/test_package/test_package.c (100%) rename recipes/cairo/{meson => all}/test_v1_package/CMakeLists.txt (100%) rename recipes/cairo/{meson => all}/test_v1_package/conanfile.py (100%) diff --git a/recipes/cairo/meson/conandata.yml b/recipes/cairo/all/conandata.yml similarity index 100% rename from recipes/cairo/meson/conandata.yml rename to recipes/cairo/all/conandata.yml diff --git a/recipes/cairo/meson/conanfile.py b/recipes/cairo/all/conanfile.py similarity index 100% rename from recipes/cairo/meson/conanfile.py rename to recipes/cairo/all/conanfile.py diff --git a/recipes/cairo/meson/patches/binutils-2.34-libbfd-fix.patch b/recipes/cairo/all/patches/binutils-2.34-libbfd-fix.patch similarity index 100% rename from recipes/cairo/meson/patches/binutils-2.34-libbfd-fix.patch rename to recipes/cairo/all/patches/binutils-2.34-libbfd-fix.patch diff --git a/recipes/cairo/meson/patches/cairo-1.17.4-encoding-backport.patch b/recipes/cairo/all/patches/cairo-1.17.4-encoding-backport.patch similarity index 100% rename from recipes/cairo/meson/patches/cairo-1.17.4-encoding-backport.patch rename to recipes/cairo/all/patches/cairo-1.17.4-encoding-backport.patch diff --git a/recipes/cairo/meson/patches/cairo-1.17.4-symbol-lookup-backport.patch b/recipes/cairo/all/patches/cairo-1.17.4-symbol-lookup-backport.patch similarity index 100% rename from recipes/cairo/meson/patches/cairo-1.17.4-symbol-lookup-backport.patch rename to recipes/cairo/all/patches/cairo-1.17.4-symbol-lookup-backport.patch diff --git a/recipes/cairo/meson/patches/cairo-1.17.4-trace-cflags-fix.patch b/recipes/cairo/all/patches/cairo-1.17.4-trace-cflags-fix.patch similarity index 100% rename from recipes/cairo/meson/patches/cairo-1.17.4-trace-cflags-fix.patch rename to recipes/cairo/all/patches/cairo-1.17.4-trace-cflags-fix.patch diff --git a/recipes/cairo/meson/patches/cairo-1.17.4-xlib-xrender-option.patch b/recipes/cairo/all/patches/cairo-1.17.4-xlib-xrender-option.patch similarity index 100% rename from recipes/cairo/meson/patches/cairo-1.17.4-xlib-xrender-option.patch rename to recipes/cairo/all/patches/cairo-1.17.4-xlib-xrender-option.patch diff --git a/recipes/cairo/meson/test_package/CMakeLists.txt b/recipes/cairo/all/test_package/CMakeLists.txt similarity index 100% rename from recipes/cairo/meson/test_package/CMakeLists.txt rename to recipes/cairo/all/test_package/CMakeLists.txt diff --git a/recipes/cairo/meson/test_package/conanfile.py b/recipes/cairo/all/test_package/conanfile.py similarity index 100% rename from recipes/cairo/meson/test_package/conanfile.py rename to recipes/cairo/all/test_package/conanfile.py diff --git a/recipes/cairo/meson/test_package/test_package.c b/recipes/cairo/all/test_package/test_package.c similarity index 100% rename from recipes/cairo/meson/test_package/test_package.c rename to recipes/cairo/all/test_package/test_package.c diff --git a/recipes/cairo/meson/test_v1_package/CMakeLists.txt b/recipes/cairo/all/test_v1_package/CMakeLists.txt similarity index 100% rename from recipes/cairo/meson/test_v1_package/CMakeLists.txt rename to recipes/cairo/all/test_v1_package/CMakeLists.txt diff --git a/recipes/cairo/meson/test_v1_package/conanfile.py b/recipes/cairo/all/test_v1_package/conanfile.py similarity index 100% rename from recipes/cairo/meson/test_v1_package/conanfile.py rename to recipes/cairo/all/test_v1_package/conanfile.py diff --git a/recipes/cairo/config.yml b/recipes/cairo/config.yml index 63606cbea47b1c..ec5b451e74c046 100644 --- a/recipes/cairo/config.yml +++ b/recipes/cairo/config.yml @@ -1,9 +1,9 @@ versions: "1.18.0": - folder: meson + folder: all "1.17.8": - folder: meson + folder: all "1.17.6": - folder: meson + folder: all "1.17.4": - folder: meson + folder: all From d9a0610e6cb624f26a997eeb3229f888062128d7 Mon Sep 17 00:00:00 2001 From: Jordan Williams Date: Tue, 16 Jul 2024 10:53:32 -0500 Subject: [PATCH 040/132] (#24608) fontconfig: Rename meson directory to all per standard conventions --- recipes/fontconfig/{meson => all}/conandata.yml | 0 recipes/fontconfig/{meson => all}/conanfile.py | 0 .../{meson => all}/patches/0001-meson-win32.patch | 0 .../fontconfig/{meson => all}/test_package/CMakeLists.txt | 0 recipes/fontconfig/{meson => all}/test_package/conanfile.py | 0 .../fontconfig/{meson => all}/test_package/test_package.c | 0 .../{meson => all}/test_v1_package/CMakeLists.txt | 0 .../fontconfig/{meson => all}/test_v1_package/conanfile.py | 0 recipes/fontconfig/config.yml | 6 +++--- 9 files changed, 3 insertions(+), 3 deletions(-) rename recipes/fontconfig/{meson => all}/conandata.yml (100%) rename recipes/fontconfig/{meson => all}/conanfile.py (100%) rename recipes/fontconfig/{meson => all}/patches/0001-meson-win32.patch (100%) rename recipes/fontconfig/{meson => all}/test_package/CMakeLists.txt (100%) rename recipes/fontconfig/{meson => all}/test_package/conanfile.py (100%) rename recipes/fontconfig/{meson => all}/test_package/test_package.c (100%) rename recipes/fontconfig/{meson => all}/test_v1_package/CMakeLists.txt (100%) rename recipes/fontconfig/{meson => all}/test_v1_package/conanfile.py (100%) diff --git a/recipes/fontconfig/meson/conandata.yml b/recipes/fontconfig/all/conandata.yml similarity index 100% rename from recipes/fontconfig/meson/conandata.yml rename to recipes/fontconfig/all/conandata.yml diff --git a/recipes/fontconfig/meson/conanfile.py b/recipes/fontconfig/all/conanfile.py similarity index 100% rename from recipes/fontconfig/meson/conanfile.py rename to recipes/fontconfig/all/conanfile.py diff --git a/recipes/fontconfig/meson/patches/0001-meson-win32.patch b/recipes/fontconfig/all/patches/0001-meson-win32.patch similarity index 100% rename from recipes/fontconfig/meson/patches/0001-meson-win32.patch rename to recipes/fontconfig/all/patches/0001-meson-win32.patch diff --git a/recipes/fontconfig/meson/test_package/CMakeLists.txt b/recipes/fontconfig/all/test_package/CMakeLists.txt similarity index 100% rename from recipes/fontconfig/meson/test_package/CMakeLists.txt rename to recipes/fontconfig/all/test_package/CMakeLists.txt diff --git a/recipes/fontconfig/meson/test_package/conanfile.py b/recipes/fontconfig/all/test_package/conanfile.py similarity index 100% rename from recipes/fontconfig/meson/test_package/conanfile.py rename to recipes/fontconfig/all/test_package/conanfile.py diff --git a/recipes/fontconfig/meson/test_package/test_package.c b/recipes/fontconfig/all/test_package/test_package.c similarity index 100% rename from recipes/fontconfig/meson/test_package/test_package.c rename to recipes/fontconfig/all/test_package/test_package.c diff --git a/recipes/fontconfig/meson/test_v1_package/CMakeLists.txt b/recipes/fontconfig/all/test_v1_package/CMakeLists.txt similarity index 100% rename from recipes/fontconfig/meson/test_v1_package/CMakeLists.txt rename to recipes/fontconfig/all/test_v1_package/CMakeLists.txt diff --git a/recipes/fontconfig/meson/test_v1_package/conanfile.py b/recipes/fontconfig/all/test_v1_package/conanfile.py similarity index 100% rename from recipes/fontconfig/meson/test_v1_package/conanfile.py rename to recipes/fontconfig/all/test_v1_package/conanfile.py diff --git a/recipes/fontconfig/config.yml b/recipes/fontconfig/config.yml index dafaaf15309ac8..1d4c62bc9edab5 100644 --- a/recipes/fontconfig/config.yml +++ b/recipes/fontconfig/config.yml @@ -1,7 +1,7 @@ versions: "2.15.0": - folder: meson + folder: all "2.14.2": - folder: meson + folder: all "2.13.93": - folder: meson + folder: all From f09aaebe2e73807451706af82c905613f3b6cec1 Mon Sep 17 00:00:00 2001 From: Jordan Williams Date: Tue, 16 Jul 2024 11:15:00 -0500 Subject: [PATCH 041/132] (#24609) dbus: Rename 1.x.x directory to all per standard conventions --- recipes/dbus/{1.x.x => all}/conandata.yml | 0 recipes/dbus/{1.x.x => all}/conanfile.py | 0 ...1-meson-Use-check_header-to-confirm-headers-work.patch | 0 .../patches/0003-meson-monotonic-clock-check.patch | 0 recipes/dbus/{1.x.x => all}/test_package/CMakeLists.txt | 0 recipes/dbus/{1.x.x => all}/test_package/conanfile.py | 0 recipes/dbus/{1.x.x => all}/test_package/test_package.c | 0 .../dbus/{1.x.x => all}/test_v1_package/CMakeLists.txt | 0 recipes/dbus/{1.x.x => all}/test_v1_package/conanfile.py | 0 recipes/dbus/config.yml | 8 ++++---- 10 files changed, 4 insertions(+), 4 deletions(-) rename recipes/dbus/{1.x.x => all}/conandata.yml (100%) rename recipes/dbus/{1.x.x => all}/conanfile.py (100%) rename recipes/dbus/{1.x.x => all}/patches/0001-meson-Use-check_header-to-confirm-headers-work.patch (100%) rename recipes/dbus/{1.x.x => all}/patches/0003-meson-monotonic-clock-check.patch (100%) rename recipes/dbus/{1.x.x => all}/test_package/CMakeLists.txt (100%) rename recipes/dbus/{1.x.x => all}/test_package/conanfile.py (100%) rename recipes/dbus/{1.x.x => all}/test_package/test_package.c (100%) rename recipes/dbus/{1.x.x => all}/test_v1_package/CMakeLists.txt (100%) rename recipes/dbus/{1.x.x => all}/test_v1_package/conanfile.py (100%) diff --git a/recipes/dbus/1.x.x/conandata.yml b/recipes/dbus/all/conandata.yml similarity index 100% rename from recipes/dbus/1.x.x/conandata.yml rename to recipes/dbus/all/conandata.yml diff --git a/recipes/dbus/1.x.x/conanfile.py b/recipes/dbus/all/conanfile.py similarity index 100% rename from recipes/dbus/1.x.x/conanfile.py rename to recipes/dbus/all/conanfile.py diff --git a/recipes/dbus/1.x.x/patches/0001-meson-Use-check_header-to-confirm-headers-work.patch b/recipes/dbus/all/patches/0001-meson-Use-check_header-to-confirm-headers-work.patch similarity index 100% rename from recipes/dbus/1.x.x/patches/0001-meson-Use-check_header-to-confirm-headers-work.patch rename to recipes/dbus/all/patches/0001-meson-Use-check_header-to-confirm-headers-work.patch diff --git a/recipes/dbus/1.x.x/patches/0003-meson-monotonic-clock-check.patch b/recipes/dbus/all/patches/0003-meson-monotonic-clock-check.patch similarity index 100% rename from recipes/dbus/1.x.x/patches/0003-meson-monotonic-clock-check.patch rename to recipes/dbus/all/patches/0003-meson-monotonic-clock-check.patch diff --git a/recipes/dbus/1.x.x/test_package/CMakeLists.txt b/recipes/dbus/all/test_package/CMakeLists.txt similarity index 100% rename from recipes/dbus/1.x.x/test_package/CMakeLists.txt rename to recipes/dbus/all/test_package/CMakeLists.txt diff --git a/recipes/dbus/1.x.x/test_package/conanfile.py b/recipes/dbus/all/test_package/conanfile.py similarity index 100% rename from recipes/dbus/1.x.x/test_package/conanfile.py rename to recipes/dbus/all/test_package/conanfile.py diff --git a/recipes/dbus/1.x.x/test_package/test_package.c b/recipes/dbus/all/test_package/test_package.c similarity index 100% rename from recipes/dbus/1.x.x/test_package/test_package.c rename to recipes/dbus/all/test_package/test_package.c diff --git a/recipes/dbus/1.x.x/test_v1_package/CMakeLists.txt b/recipes/dbus/all/test_v1_package/CMakeLists.txt similarity index 100% rename from recipes/dbus/1.x.x/test_v1_package/CMakeLists.txt rename to recipes/dbus/all/test_v1_package/CMakeLists.txt diff --git a/recipes/dbus/1.x.x/test_v1_package/conanfile.py b/recipes/dbus/all/test_v1_package/conanfile.py similarity index 100% rename from recipes/dbus/1.x.x/test_v1_package/conanfile.py rename to recipes/dbus/all/test_v1_package/conanfile.py diff --git a/recipes/dbus/config.yml b/recipes/dbus/config.yml index a6d5fb2e5d5f7f..e3b8080de35a7a 100644 --- a/recipes/dbus/config.yml +++ b/recipes/dbus/config.yml @@ -1,9 +1,9 @@ versions: "1.15.8": - folder: 1.x.x + folder: all "1.15.6": - folder: 1.x.x + folder: all "1.15.2": - folder: 1.x.x + folder: all "1.15.0": - folder: 1.x.x + folder: all From 1f9330050a6d593b80ea3f3fc14521b30135ac97 Mon Sep 17 00:00:00 2001 From: Luis Caro Campos <3535649+jcar87@users.noreply.github.com> Date: Wed, 17 Jul 2024 10:22:42 +0100 Subject: [PATCH 042/132] (#24215) grpc add version 1.65 * grpc add new versions * simplify test package * WIP * version ranges * grpc: attempt to fix shared build on macOS * wip * wip * wip * add 1.65 * undo accidental reformatting * wip * fix * fix --- recipes/grpc/all/conandata.yml | 10 +- recipes/grpc/all/conanfile.py | 203 ++++++------------ .../v1.48.x/001-disable-cppstd-override.patch | 39 ---- recipes/grpc/all/target_info/grpc_1.50.0.yml | 120 +++++++++++ recipes/grpc/all/target_info/grpc_1.50.1.yml | 120 +++++++++++ recipes/grpc/all/target_info/grpc_1.54.3.yml | 153 +++++++++++++ recipes/grpc/all/target_info/grpc_1.65.0.yml | 174 +++++++++++++++ recipes/grpc/all/test_package/CMakeLists.txt | 29 +-- recipes/grpc/all/test_package/conanfile.py | 38 +--- .../grpc/all/test_package/helloworld.proto | 38 ---- .../test_package/macos_make_override.cmake | 13 -- .../grpc/all/test_package/test_package.cpp | 115 +--------- .../grpc/all/test_v1_package/CMakeLists.txt | 8 - recipes/grpc/all/test_v1_package/conanfile.py | 55 ----- recipes/grpc/config.yml | 4 +- 15 files changed, 647 insertions(+), 472 deletions(-) delete mode 100644 recipes/grpc/all/patches/v1.48.x/001-disable-cppstd-override.patch create mode 100644 recipes/grpc/all/target_info/grpc_1.50.0.yml create mode 100644 recipes/grpc/all/target_info/grpc_1.50.1.yml create mode 100644 recipes/grpc/all/target_info/grpc_1.54.3.yml create mode 100644 recipes/grpc/all/target_info/grpc_1.65.0.yml delete mode 100644 recipes/grpc/all/test_package/helloworld.proto delete mode 100644 recipes/grpc/all/test_package/macos_make_override.cmake delete mode 100644 recipes/grpc/all/test_v1_package/CMakeLists.txt delete mode 100644 recipes/grpc/all/test_v1_package/conanfile.py diff --git a/recipes/grpc/all/conandata.yml b/recipes/grpc/all/conandata.yml index 4a85145efdbc08..bf4e54a525f42f 100644 --- a/recipes/grpc/all/conandata.yml +++ b/recipes/grpc/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.65.0": + url: "https://github.com/grpc/grpc/archive/v1.65.0.tar.gz" + sha256: "ebc3acfde70cfae3f4f04b8dbb72259540cb1dc427be362569fbc2607dabfe39" "1.54.3": url: "https://github.com/grpc/grpc/archive/v1.54.3.tar.gz" sha256: "17e4e1b100657b88027721220cbfb694d86c4b807e9257eaf2fb2d273b41b1b1" @@ -8,9 +11,6 @@ sources: "1.50.0": url: "https://github.com/grpc/grpc/archive/v1.50.0.tar.gz" sha256: "76900ab068da86378395a8e125b5cc43dfae671e09ff6462ddfef18676e2165a" - "1.48.4": - url: "https://github.com/grpc/grpc/archive/v1.48.4.tar.gz" - sha256: "0c3faa83e39d4f1ab55fe1476362b9ac3b81632a46dce7fd4d50271bce816b53" patches: "1.54.3": - patch_file: "patches/v1.50.x/002-CMake-Add-gRPC_USE_SYSTEMD-option-34384.patch" @@ -20,7 +20,3 @@ patches: - patch_file: "patches/v1.50.x/001-disable-cppstd-override.patch" "1.50.0": - patch_file: "patches/v1.50.x/001-disable-cppstd-override.patch" - "1.48.4": - - patch_file: "patches/v1.48.x/001-disable-cppstd-override.patch" - patch_description: "disable cpp std override" - patch_type: "portability" diff --git a/recipes/grpc/all/conanfile.py b/recipes/grpc/all/conanfile.py index 0dc9dad8aa3dbb..7634ab35b992ba 100644 --- a/recipes/grpc/all/conanfile.py +++ b/recipes/grpc/all/conanfile.py @@ -1,4 +1,5 @@ import os +import yaml from conan import ConanFile from conan.errors import ConanInvalidConfiguration @@ -56,6 +57,7 @@ class GrpcConan(ConanFile): } short_paths = True + _target_info = None @property def _grpc_plugin_template(self): @@ -73,6 +75,9 @@ def _is_legacy_one_profile(self): def _supports_libsystemd(self): return self.settings.os in ["Linux", "FreeBSD"] and Version(self.version) >= "1.52" + def export(self): + copy(self, f"target_info/grpc_{self.version}.yml", src=self.recipe_folder, dst=self.export_folder) + 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")) @@ -97,16 +102,14 @@ def layout(self): def requirements(self): # abseil is public. See https://github.com/conan-io/conan-center-index/pull/17284#issuecomment-1526082638 - if Version(self.version) < "1.47": - if is_msvc(self): - self.requires("abseil/20211102.0", transitive_headers=True, transitive_libs=True) - else: - self.requires("abseil/20220623.1", transitive_headers=True, transitive_libs=True) + if Version(self.version) >= "1.62.0": + self.requires("protobuf/5.27.0", transitive_headers=True) + self.requires("abseil/[>=20240116.1 <20240117.0]", transitive_headers=True) else: - self.requires("abseil/20230125.3", transitive_headers=True, transitive_libs=True) - self.requires("c-ares/1.19.1") + self.requires("abseil/[>=20230125.3 <=20230802.1]", transitive_headers=True) + self.requires("protobuf/3.21.12", transitive_headers=True) + self.requires("c-ares/[>=1.19.1 <2]") 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]") if self.options.get_safe("with_libsystemd"): @@ -190,9 +193,6 @@ def generate(self): # workaround for: install TARGETS given no BUNDLE DESTINATION for MACOSX_BUNDLE executable tc.cache_variables["CMAKE_MACOSX_BUNDLE"] = False - if is_msvc(self) and Version(self.version) >= "1.48": - tc.cache_variables["CMAKE_SYSTEM_VERSION"] = "10.0.18362.0" - if self._supports_libsystemd: tc.cache_variables["gRPC_USE_SYSTEMD"] = self.options.with_libsystemd @@ -210,17 +210,42 @@ def _patch_sources(self): # - using `make` as the cmake generator # Make will run commands via `/bin/sh` which will strip all env vars that start with `DYLD*` # This workaround wraps the protoc command to be invoked by CMake with a modified environment + cmakelists = os.path.join(self.source_folder, "CMakeLists.txt") settings_build = getattr(self, "settings_build", self.settings) if settings_build.os == "Macos": - replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), + replace_in_file(self, cmakelists, "COMMAND ${_gRPC_PROTOBUF_PROTOC_EXECUTABLE}", 'COMMAND ${CMAKE_COMMAND} -E env "DYLD_LIBRARY_PATH=$ENV{DYLD_LIBRARY_PATH}" ${_gRPC_PROTOBUF_PROTOC_EXECUTABLE}') + elif not cross_building(self) and settings_build.os == "Linux": + # we are not cross-building, but protobuf or abseil may be shared + # so we need to set LD_LIBRARY_PATH to find them + # Note: if protobuf used RPATH instead of RUNPATH this is not needed + replace_in_file(self, cmakelists, + "COMMAND ${_gRPC_PROTOBUF_PROTOC_EXECUTABLE}", + 'COMMAND ${CMAKE_COMMAND} -E env "LD_LIBRARY_PATH=$" ${_gRPC_PROTOBUF_PROTOC_EXECUTABLE}') + if self.settings.os == "Macos" and Version(self.version) >= "1.64": + # See https://github.com/grpc/grpc/issues/36654#issuecomment-2228569158 + replace_in_file(self, cmakelists, "target_compile_features(upb_textformat_lib PUBLIC cxx_std_14)", + """target_compile_features(upb_textformat_lib PUBLIC cxx_std_14) + target_link_options(upb_textformat_lib PRIVATE -Wl,-undefined,dynamic_lookup) + target_link_options(upb_json_lib PRIVATE -Wl,-undefined,dynamic_lookup) + """) + def build(self): self._patch_sources() cmake = CMake(self) cmake.configure() cmake.build() + @property + def target_info(self): + if self._target_info: + return self._target_info + target_info_file = os.path.join(self.recipe_folder, "target_info", f"grpc_{self.version}.yml") + with open(target_info_file) as f: + self._target_info = yaml.safe_load(f) + return self._target_info + def package(self): copy(self, "LICENSE", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) cmake = CMake(self) @@ -230,46 +255,14 @@ def package(self): rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) # Create one custom module file per executable in order to emulate - # CMake executables imported targets of grpc - for plugin_option, values in self._grpc_plugins.items(): - if self.options.get_safe(plugin_option): - target = values["target"] - executable = values["executable"] + # CMake executables imported targets of grpc plugins. + for plugin_info in self.target_info["grpc_plugins"]: + target = plugin_info["target"] + executable = plugin_info["executable"] + option_name = executable.replace("grpc_", "") + if self.options.get_safe(option_name): self._create_executable_module_file(target, executable) - @property - def _grpc_plugins(self): - return { - "cpp_plugin": { - "target": "gRPC::grpc_cpp_plugin", - "executable": "grpc_cpp_plugin", - }, - "csharp_plugin": { - "target": "gRPC::grpc_csharp_plugin", - "executable": "grpc_csharp_plugin", - }, - "node_plugin": { - "target": "gRPC::grpc_node_plugin", - "executable": "grpc_node_plugin", - }, - "objective_c_plugin": { - "target": "gRPC::grpc_objective_c_plugin", - "executable": "grpc_objective_c_plugin", - }, - "php_plugin": { - "target": "gRPC::grpc_php_plugin", - "executable": "grpc_php_plugin", - }, - "python_plugin": { - "target": "gRPC::grpc_python_plugin", - "executable": "grpc_python_plugin", - }, - "ruby_plugin": { - "target": "gRPC::grpc_ruby_plugin", - "executable": "grpc_ruby_plugin", - }, - } - def _create_executable_module_file(self, target, executable): module_abs_path = os.path.join(self.package_folder, self._module_path) @@ -316,96 +309,19 @@ def ws2_32(): def wsock32(): return ["wsock32"] if self.settings.os == "Windows" else [] - def corefoundation(): - return ["CoreFoundation"] if is_apple_os(self) else [] - - components = { - "address_sorting": { - "lib": "address_sorting", - "system_libs": libm() + pthread() + crypt32() + ws2_32() + wsock32(), - }, - "gpr": { - "lib": "gpr", - "requires": [ - "upb", "abseil::absl_base", "abseil::absl_memory", - "abseil::absl_status", "abseil::absl_str_format", - "abseil::absl_strings", "abseil::absl_synchronization", - "abseil::absl_time", "abseil::absl_optional", - "abseil::absl_flags" - ] + libsystemd(), - "system_libs": libm() + pthread() + crypt32() + ws2_32() + wsock32(), - }, - "_grpc": { - "lib": "grpc", - "requires": [ - "address_sorting", "gpr", "upb", "abseil::absl_bind_front", - "abseil::absl_flat_hash_map", "abseil::absl_inlined_vector", - "abseil::absl_statusor", "abseil::absl_random_random", - "c-ares::cares", "openssl::crypto", - "openssl::ssl", "re2::re2", "zlib::zlib", - ], - "system_libs": libm() + pthread() + crypt32() + ws2_32() + wsock32(), - "frameworks": corefoundation(), - }, - "grpc++": { - "lib": "grpc++", - "requires": ["_grpc", "protobuf::libprotobuf"], - "system_libs": libm() + pthread() + crypt32() + ws2_32() + wsock32(), - }, - "grpc++_alts": { - "lib": "grpc++_alts", - "requires": ["grpc++", "protobuf::libprotobuf"], - "system_libs": libm() + pthread() + crypt32() + ws2_32() + wsock32(), - }, - "grpc++_error_details": { - "lib": "grpc++_error_details", - "requires": ["grpc++", "protobuf::libprotobuf"], - "system_libs": libm() + pthread() + crypt32() + ws2_32() + wsock32(), - }, - "upb": { - "lib": "upb", - "system_libs": libm() + pthread() + crypt32() + ws2_32() + wsock32(), - }, - "grpc_plugin_support": { - "lib": "grpc_plugin_support", - "requires": ["protobuf::libprotoc", "protobuf::libprotobuf"], + targets = self.target_info['grpc_targets'] + components = {} + for target in targets: + if self.options.secure and target['name'] in ["grpc_unsecure", "grpc++_unsecure"]: + continue + if not self.options.codegen and target['name'] in ["grpc++_reflection", "grpcpp_channelz"]: + continue + components[target['name']] = { + "lib": target['lib'], + "requires": target.get('requires', []) + libsystemd(), "system_libs": libm() + pthread() + crypt32() + ws2_32() + wsock32(), - }, - } - - if not self.options.secure: - components.update({ - "grpc_unsecure": { - "lib": "grpc_unsecure", - "requires": [ - "address_sorting", "gpr", "upb", "abseil::absl_flat_hash_map", - "abseil::absl_inlined_vector", "abseil::absl_statusor", - "c-ares::cares", "re2::re2", "zlib::zlib", - "abseil::absl_random_random", - ], - "system_libs": libm() + pthread() + crypt32() + ws2_32() + wsock32(), - "frameworks": corefoundation(), - }, - "grpc++_unsecure": { - "lib": "grpc++_unsecure", - "requires": ["grpc_unsecure", "protobuf::libprotobuf"], - "system_libs": libm() + pthread() + crypt32() + ws2_32() + wsock32(), - }, - }) - - if self.options.codegen: - components.update({ - "grpc++_reflection": { - "lib": "grpc++_reflection", - "requires": ["grpc++", "protobuf::libprotobuf"], - "system_libs": libm() + pthread() + crypt32() + ws2_32() + wsock32(), - }, - "grpcpp_channelz": { - "lib": "grpcpp_channelz", - "requires": ["grpc++", "protobuf::libprotobuf"], - "system_libs": libm() + pthread() + crypt32() + ws2_32() + wsock32(), - }, - }) + "frameworks": target.get('frameworks', []), + } return components @@ -433,9 +349,11 @@ def package_info(self): # Executable imported targets are added through custom CMake module files, # since conan generators don't know how to emulate these kind of targets. grpc_modules = [] - for plugin_option, values in self._grpc_plugins.items(): - if self.options.get_safe(plugin_option): - grpc_module_filename = "{}.cmake".format(values["executable"]) + for plugin_info in self.target_info["grpc_plugins"]: + executable = plugin_info["executable"] + option_name = executable.replace("grpc_", "") + if self.options.get_safe(option_name): + grpc_module_filename = "{}.cmake".format(executable) grpc_modules.append(os.path.join(self._module_path, grpc_module_filename)) self.cpp_info.set_property("cmake_build_modules", grpc_modules) @@ -446,5 +364,4 @@ def package_info(self): 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/patches/v1.48.x/001-disable-cppstd-override.patch b/recipes/grpc/all/patches/v1.48.x/001-disable-cppstd-override.patch deleted file mode 100644 index dee7836ac518bd..00000000000000 --- a/recipes/grpc/all/patches/v1.48.x/001-disable-cppstd-override.patch +++ /dev/null @@ -1,39 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 1ecaea8eb7..0788b88177 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -226,21 +226,6 @@ if (NOT DEFINED CMAKE_C_STANDARD) - set(CMAKE_C_STANDARD 11) - endif() - --# Add c++14 flags --if (NOT DEFINED CMAKE_CXX_STANDARD) -- set(CMAKE_CXX_STANDARD 14) --else() -- if (CMAKE_CXX_STANDARD LESS 14) -- message(FATAL_ERROR "CMAKE_CXX_STANDARD is less than 14, please specify at least SET(CMAKE_CXX_STANDARD 14)") -- endif() --endif() --if (NOT DEFINED CMAKE_CXX_STANDARD_REQUIRED) -- set(CMAKE_CXX_STANDARD_REQUIRED ON) --endif() --if (NOT DEFINED CMAKE_CXX_EXTENSIONS) -- set(CMAKE_CXX_EXTENSIONS OFF) --endif() -- - if (NOT DEFINED CMAKE_POSITION_INDEPENDENT_CODE) - set(CMAKE_POSITION_INDEPENDENT_CODE TRUE) - endif() -diff --git a/src/core/ext/xds/xds_http_fault_filter.cc b/src/core/ext/xds/xds_http_fault_filter.cc -index 2a10d2fd27..0900fedf61 100644 ---- a/src/core/ext/xds/xds_http_fault_filter.cc -+++ b/src/core/ext/xds/xds_http_fault_filter.cc -@@ -109,7 +109,7 @@ absl::StatusOr ParseHttpFaultIntoJson( - int abort_http_status_code = - envoy_extensions_filters_http_fault_v3_FaultAbort_http_status( - fault_abort); -- if (abort_http_status_code != 0 and abort_http_status_code != 200) { -+ if (abort_http_status_code != 0 && abort_http_status_code != 200) { - abort_grpc_status_code = - grpc_http2_status_to_grpc_status(abort_http_status_code); - } diff --git a/recipes/grpc/all/target_info/grpc_1.50.0.yml b/recipes/grpc/all/target_info/grpc_1.50.0.yml new file mode 100644 index 00000000000000..d1a6b8f79dfefb --- /dev/null +++ b/recipes/grpc/all/target_info/grpc_1.50.0.yml @@ -0,0 +1,120 @@ +grpc_version: 1.50.0 +grpc_targets: + - name: "address_sorting" + lib: "address_sorting" + - name: "gpr" + lib: "gpr" + requires: + - abseil::absl_base + - abseil::absl_core_headers + - abseil::absl_memory + - abseil::absl_random_random + - abseil::absl_status + - abseil::absl_cord + - abseil::absl_str_format + - abseil::absl_strings + - abseil::absl_synchronization + - abseil::absl_time + - abseil::absl_optional + - abseil::absl_variant + - name: "grpc" + lib: "grpc" + requires: + - zlib::zlib + - c-ares::cares + - address_sorting + - re2::re2 + - upb + - abseil::absl_flat_hash_map + - abseil::absl_flat_hash_set + - abseil::absl_inlined_vector + - abseil::absl_any_invocable + - abseil::absl_bind_front + - abseil::absl_function_ref + - abseil::absl_hash + - abseil::absl_type_traits + - abseil::absl_statusor + - abseil::absl_span + - abseil::absl_utility + - gpr + - openssl::ssl + - openssl::crypto + - address_sorting + - upb + frameworks: ['CoreFoundation'] + - name: "grpc_unsecure" + lib: "grpc_unsecure" + requires: + - zlib::zlib + - c-ares::cares + - address_sorting + - re2::re2 + - upb + - abseil::absl_flat_hash_map + - abseil::absl_flat_hash_set + - abseil::absl_inlined_vector + - abseil::absl_any_invocable + - abseil::absl_bind_front + - abseil::absl_function_ref + - abseil::absl_hash + - abseil::absl_type_traits + - abseil::absl_statusor + - abseil::absl_span + - abseil::absl_utility + - gpr + - address_sorting + - upb + frameworks: ['CoreFoundation'] + - name: "grpc++" + lib: "grpc++" + requires: + - protobuf::libprotobuf + - abseil::absl_cleanup + - grpc + - name: "grpc++_alts" + lib: "grpc++_alts" + requires: + - protobuf::libprotobuf + - grpc++ + - name: "grpc++_error_details" + lib: "grpc++_error_details" + requires: + - protobuf::libprotobuf + - grpc++ + - name: "grpc++_reflection" + lib: "grpc++_reflection" + requires: + - protobuf::libprotobuf + - grpc++ + - name: "grpc++_unsecure" + lib: "grpc++_unsecure" + requires: + - protobuf::libprotobuf + - grpc_unsecure + - name: "grpc_plugin_support" + lib: "grpc_plugin_support" + requires: + - protobuf::libprotoc + - protobuf::libprotobuf + - name: "grpcpp_channelz" + lib: "grpcpp_channelz" + requires: + - protobuf::libprotobuf + - grpc++ + - name: "upb" + lib: "upb" +grpc_plugins: + - target: "gRPC::grpc_cpp_plugin" + executable: "grpc_cpp_plugin" + - target: "gRPC::grpc_csharp_plugin" + executable: "grpc_csharp_plugin" + - target: "gRPC::grpc_node_plugin" + executable: "grpc_node_plugin" + - target: "gRPC::grpc_objective_c_plugin" + executable: "grpc_objective_c_plugin" + - target: "gRPC::grpc_php_plugin" + executable: "grpc_php_plugin" + - target: "gRPC::grpc_python_plugin" + executable: "grpc_python_plugin" + - target: "gRPC::grpc_ruby_plugin" + executable: "grpc_ruby_plugin" \ No newline at end of file diff --git a/recipes/grpc/all/target_info/grpc_1.50.1.yml b/recipes/grpc/all/target_info/grpc_1.50.1.yml new file mode 100644 index 00000000000000..7d30621d336946 --- /dev/null +++ b/recipes/grpc/all/target_info/grpc_1.50.1.yml @@ -0,0 +1,120 @@ +grpc_version: 1.50.1 +grpc_targets: + - name: "address_sorting" + lib: "address_sorting" + - name: "gpr" + lib: "gpr" + requires: + - abseil::absl_base + - abseil::absl_core_headers + - abseil::absl_memory + - abseil::absl_random_random + - abseil::absl_status + - abseil::absl_cord + - abseil::absl_str_format + - abseil::absl_strings + - abseil::absl_synchronization + - abseil::absl_time + - abseil::absl_optional + - abseil::absl_variant + - name: "grpc" + lib: "grpc" + requires: + - zlib::zlib + - c-ares::cares + - address_sorting + - re2::re2 + - upb + - abseil::absl_flat_hash_map + - abseil::absl_flat_hash_set + - abseil::absl_inlined_vector + - abseil::absl_any_invocable + - abseil::absl_bind_front + - abseil::absl_function_ref + - abseil::absl_hash + - abseil::absl_type_traits + - abseil::absl_statusor + - abseil::absl_span + - abseil::absl_utility + - gpr + - openssl::ssl + - openssl::crypto + - address_sorting + - upb + frameworks: ['CoreFoundation'] + - name: "grpc_unsecure" + lib: "grpc_unsecure" + requires: + - zlib::zlib + - c-ares::cares + - address_sorting + - re2::re2 + - upb + - abseil::absl_flat_hash_map + - abseil::absl_flat_hash_set + - abseil::absl_inlined_vector + - abseil::absl_any_invocable + - abseil::absl_bind_front + - abseil::absl_function_ref + - abseil::absl_hash + - abseil::absl_type_traits + - abseil::absl_statusor + - abseil::absl_span + - abseil::absl_utility + - gpr + - address_sorting + - upb + frameworks: ['CoreFoundation'] + - name: "grpc++" + lib: "grpc++" + requires: + - protobuf::libprotobuf + - abseil::absl_cleanup + - grpc + - name: "grpc++_alts" + lib: "grpc++_alts" + requires: + - protobuf::libprotobuf + - grpc++ + - name: "grpc++_error_details" + lib: "grpc++_error_details" + requires: + - protobuf::libprotobuf + - grpc++ + - name: "grpc++_reflection" + lib: "grpc++_reflection" + requires: + - protobuf::libprotobuf + - grpc++ + - name: "grpc++_unsecure" + lib: "grpc++_unsecure" + requires: + - protobuf::libprotobuf + - grpc_unsecure + - name: "grpc_plugin_support" + lib: "grpc_plugin_support" + requires: + - protobuf::libprotoc + - protobuf::libprotobuf + - name: "grpcpp_channelz" + lib: "grpcpp_channelz" + requires: + - protobuf::libprotobuf + - grpc++ + - name: "upb" + lib: "upb" +grpc_plugins: + - target: "gRPC::grpc_cpp_plugin" + executable: "grpc_cpp_plugin" + - target: "gRPC::grpc_csharp_plugin" + executable: "grpc_csharp_plugin" + - target: "gRPC::grpc_node_plugin" + executable: "grpc_node_plugin" + - target: "gRPC::grpc_objective_c_plugin" + executable: "grpc_objective_c_plugin" + - target: "gRPC::grpc_php_plugin" + executable: "grpc_php_plugin" + - target: "gRPC::grpc_python_plugin" + executable: "grpc_python_plugin" + - target: "gRPC::grpc_ruby_plugin" + executable: "grpc_ruby_plugin" diff --git a/recipes/grpc/all/target_info/grpc_1.54.3.yml b/recipes/grpc/all/target_info/grpc_1.54.3.yml new file mode 100644 index 00000000000000..36c0b8d3894749 --- /dev/null +++ b/recipes/grpc/all/target_info/grpc_1.54.3.yml @@ -0,0 +1,153 @@ +grpc_version: 1.54.3 +grpc_targets: + - name: "address_sorting" + lib: "address_sorting" + requires: + - zlib::zlib + - name: "gpr" + lib: "gpr" + requires: + - zlib::zlib + - abseil::absl_base + - abseil::absl_core_headers + - abseil::absl_flags + - abseil::absl_flags_marshalling + - abseil::absl_any_invocable + - abseil::absl_memory + - abseil::absl_random_random + - abseil::absl_status + - abseil::absl_cord + - abseil::absl_str_format + - abseil::absl_strings + - abseil::absl_synchronization + - abseil::absl_time + - abseil::absl_optional + - abseil::absl_variant + - name: "grpc" + lib: "grpc" + requires: + - zlib::zlib + - c-ares::cares + - address_sorting + - re2::re2 + - upb + - abseil::absl_cleanup + - abseil::absl_flat_hash_map + - abseil::absl_flat_hash_set + - abseil::absl_inlined_vector + - abseil::absl_bind_front + - abseil::absl_function_ref + - abseil::absl_hash + - abseil::absl_type_traits + - abseil::absl_statusor + - abseil::absl_span + - abseil::absl_utility + - gpr + - openssl::ssl + - openssl::crypto + - address_sorting + - upb + frameworks: ['CoreFoundation'] + - name: "grpc_unsecure" + lib: "grpc_unsecure" + requires: + - zlib::zlib + - c-ares::cares + - address_sorting + - re2::re2 + - upb + - abseil::absl_cleanup + - abseil::absl_flat_hash_map + - abseil::absl_flat_hash_set + - abseil::absl_inlined_vector + - abseil::absl_bind_front + - abseil::absl_function_ref + - abseil::absl_hash + - abseil::absl_type_traits + - abseil::absl_statusor + - abseil::absl_span + - abseil::absl_utility + - gpr + - address_sorting + - upb + frameworks: ['CoreFoundation'] + - name: "grpc++" + lib: "grpc++" + requires: + - protobuf::libprotobuf + - zlib::zlib + - grpc + - name: "grpc++_alts" + lib: "grpc++_alts" + requires: + - protobuf::libprotobuf + - zlib::zlib + - grpc++ + - name: "grpc++_error_details" + lib: "grpc++_error_details" + requires: + - protobuf::libprotobuf + - zlib::zlib + - grpc++ + - name: "grpc++_reflection" + lib: "grpc++_reflection" + requires: + - protobuf::libprotobuf + - zlib::zlib + - grpc++ + - name: "grpc++_unsecure" + lib: "grpc++_unsecure" + requires: + - protobuf::libprotobuf + - zlib::zlib + - grpc_unsecure + - name: "grpc_authorization_provider" + lib: "grpc_authorization_provider" + requires: + - protobuf::libprotobuf + - zlib::zlib + - re2::re2 + - abseil::absl_cleanup + - abseil::absl_flat_hash_map + - abseil::absl_flat_hash_set + - abseil::absl_inlined_vector + - abseil::absl_function_ref + - abseil::absl_hash + - abseil::absl_type_traits + - abseil::absl_statusor + - abseil::absl_span + - abseil::absl_utility + - gpr + - upb + - name: "grpc_plugin_support" + lib: "grpc_plugin_support" + requires: + - protobuf::libprotoc + - protobuf::libprotobuf + - zlib::zlib + - name: "grpcpp_channelz" + lib: "grpcpp_channelz" + requires: + - protobuf::libprotobuf + - zlib::zlib + - grpc++ + - name: "upb" + lib: "upb" + requires: + - zlib::zlib +grpc_plugins: + - target: "gRPC::grpc_cpp_plugin" + executable: "grpc_cpp_plugin" + - target: "gRPC::grpc_csharp_plugin" + executable: "grpc_csharp_plugin" + - target: "gRPC::grpc_node_plugin" + executable: "grpc_node_plugin" + - target: "gRPC::grpc_objective_c_plugin" + executable: "grpc_objective_c_plugin" + - target: "gRPC::grpc_php_plugin" + executable: "grpc_php_plugin" + - target: "gRPC::grpc_python_plugin" + executable: "grpc_python_plugin" + - target: "gRPC::grpc_ruby_plugin" + executable: "grpc_ruby_plugin" + \ No newline at end of file diff --git a/recipes/grpc/all/target_info/grpc_1.65.0.yml b/recipes/grpc/all/target_info/grpc_1.65.0.yml new file mode 100644 index 00000000000000..5a77cc2e613f60 --- /dev/null +++ b/recipes/grpc/all/target_info/grpc_1.65.0.yml @@ -0,0 +1,174 @@ +grpc_version: 1.65.0 +grpc_targets: + - name: "address_sorting" + lib: "address_sorting" + - name: "gpr" + lib: "gpr" + requires: + - abseil::absl_base + - abseil::absl_core_headers + - abseil::absl_log_severity + - abseil::absl_flags + - abseil::absl_flags_marshalling + - abseil::absl_any_invocable + - abseil::absl_check + - abseil::absl_log_globals + - abseil::absl_log + - abseil::absl_memory + - abseil::absl_random_random + - abseil::absl_status + - abseil::absl_cord + - abseil::absl_str_format + - abseil::absl_strings + - abseil::absl_synchronization + - abseil::absl_time + - abseil::absl_optional + - abseil::absl_variant + - name: "grpc" + lib: "grpc" + requires: + - upb_json_lib + - upb_textformat_lib + - re2::re2 + - zlib::zlib + - abseil::absl_algorithm_container + - abseil::absl_config + - abseil::absl_no_destructor + - abseil::absl_cleanup + - abseil::absl_flat_hash_map + - abseil::absl_flat_hash_set + - abseil::absl_inlined_vector + - abseil::absl_bind_front + - abseil::absl_function_ref + - abseil::absl_hash + - abseil::absl_type_traits + - abseil::absl_random_bit_gen_ref + - abseil::absl_random_distributions + - abseil::absl_statusor + - abseil::absl_span + - abseil::absl_utility + - c-ares::cares + - gpr + - openssl::ssl + - openssl::crypto + - address_sorting + frameworks: ['CoreFoundation'] + - name: "grpc_unsecure" + lib: "grpc_unsecure" + requires: + - utf8_range_lib + - upb_message_lib + - zlib::zlib + - abseil::absl_algorithm_container + - abseil::absl_config + - abseil::absl_no_destructor + - abseil::absl_cleanup + - abseil::absl_flat_hash_map + - abseil::absl_flat_hash_set + - abseil::absl_inlined_vector + - abseil::absl_bind_front + - abseil::absl_function_ref + - abseil::absl_hash + - abseil::absl_type_traits + - abseil::absl_random_bit_gen_ref + - abseil::absl_random_distributions + - abseil::absl_statusor + - abseil::absl_span + - abseil::absl_utility + - c-ares::cares + - gpr + - address_sorting + frameworks: ['CoreFoundation'] + - name: "upb_base_lib" + lib: "upb_base_lib" + - name: "upb_json_lib" + lib: "upb_json_lib" + requires: + - utf8_range_lib + - upb_message_lib + - name: "upb_mem_lib" + lib: "upb_mem_lib" + - name: "upb_message_lib" + lib: "upb_message_lib" + requires: + - upb_base_lib + - upb_mem_lib + - name: "upb_textformat_lib" + lib: "upb_textformat_lib" + requires: + - utf8_range_lib + - upb_message_lib + - name: "utf8_range_lib" + lib: "utf8_range_lib" + - name: "grpc++" + lib: "grpc++" + requires: + - abseil::absl_absl_check + - abseil::absl_absl_log + - grpc + - protobuf::libprotobuf + - name: "grpc++_alts" + lib: "grpc++_alts" + requires: + - grpc++ + - name: "grpc++_error_details" + lib: "grpc++_error_details" + requires: + - grpc++ + - name: "grpc++_reflection" + lib: "grpc++_reflection" + requires: + - grpc++ + - name: "grpc++_unsecure" + lib: "grpc++_unsecure" + requires: + - abseil::absl_absl_check + - abseil::absl_absl_log + - grpc_unsecure + - protobuf::libprotobuf + - name: "grpc_authorization_provider" + lib: "grpc_authorization_provider" + requires: + - utf8_range_lib + - upb_message_lib + - re2::re2 + - zlib::zlib + - abseil::absl_config + - abseil::absl_no_destructor + - abseil::absl_cleanup + - abseil::absl_flat_hash_map + - abseil::absl_flat_hash_set + - abseil::absl_inlined_vector + - abseil::absl_function_ref + - abseil::absl_hash + - abseil::absl_type_traits + - abseil::absl_statusor + - abseil::absl_span + - abseil::absl_utility + - c-ares::cares + - gpr + - address_sorting + - name: "grpc_plugin_support" + lib: "grpc_plugin_support" + requires: + - protobuf::libprotobuf + - protobuf::libprotoc + - name: "grpcpp_channelz" + lib: "grpcpp_channelz" + requires: + - grpc++ +grpc_plugins: + - target: "gRPC::grpc_cpp_plugin" + executable: "grpc_cpp_plugin" + - target: "gRPC::grpc_csharp_plugin" + executable: "grpc_csharp_plugin" + - target: "gRPC::grpc_node_plugin" + executable: "grpc_node_plugin" + - target: "gRPC::grpc_objective_c_plugin" + executable: "grpc_objective_c_plugin" + - target: "gRPC::grpc_php_plugin" + executable: "grpc_php_plugin" + - target: "gRPC::grpc_python_plugin" + executable: "grpc_python_plugin" + - target: "gRPC::grpc_ruby_plugin" + executable: "grpc_ruby_plugin" diff --git a/recipes/grpc/all/test_package/CMakeLists.txt b/recipes/grpc/all/test_package/CMakeLists.txt index 15a54da82cf761..9bdf7d4baad662 100644 --- a/recipes/grpc/all/test_package/CMakeLists.txt +++ b/recipes/grpc/all/test_package/CMakeLists.txt @@ -2,29 +2,22 @@ cmake_minimum_required(VERSION 3.15) project(test_package LANGUAGES CXX) -find_package(protobuf CONFIG REQUIRED) find_package(gRPC CONFIG REQUIRED) -message("DYLD_LIBRARY_PATH from CMake: $ENV{DYLD_LIBRARY_PATH}") -add_executable(${PROJECT_NAME} test_package.cpp helloworld.proto) +add_executable(${PROJECT_NAME} test_package.cpp) target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_14) # grpc 1.47.0 requires c++14 target_link_libraries(${PROJECT_NAME} PRIVATE - protobuf::libprotobuf $,gRPC::grpc++_unsecure,gRPC::grpc++> ) -target_include_directories(${PROJECT_NAME} PRIVATE ${CMAKE_CURRENT_BINARY_DIR}) -if(TEST_ACTUAL_SERVER) - target_compile_definitions(${PROJECT_NAME} PRIVATE -DTEST_ACTUAL_SERVER) -endif() -protobuf_generate( - TARGET ${PROJECT_NAME} - LANGUAGE cpp -) -protobuf_generate( - TARGET ${PROJECT_NAME} - LANGUAGE grpc - GENERATE_EXTENSIONS .grpc.pb.h .grpc.pb.cc - PLUGIN protoc-gen-grpc=$ -) + +if(CHECK_GRPC_CPP_PLUGIN) + if(NOT GRPC_CPP_PLUGIN_PROGRAM) + message(FATAL_ERROR "grpc_cpp_plugin not found") + endif() + + if(NOT TARGET gRPC::grpc_cpp_plugin) + message(FATAL_ERROR "grpc_cpp_plugin target not defined, but expected") + endif() +endif() \ No newline at end of file diff --git a/recipes/grpc/all/test_package/conanfile.py b/recipes/grpc/all/test_package/conanfile.py index cb18d0a94bddbd..3e5ae9905391e8 100644 --- a/recipes/grpc/all/test_package/conanfile.py +++ b/recipes/grpc/all/test_package/conanfile.py @@ -1,57 +1,25 @@ from conan import ConanFile from conan.tools.build import can_run -from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout -from conan.tools.env import VirtualBuildEnv, VirtualRunEnv -from conan.tools.microsoft import is_msvc +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" - @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) - self.requires("protobuf/3.21.12") - - def build_requirements(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 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) - runenv.generate() - tc = CMakeToolchain(self) - tc.cache_variables["TEST_ACTUAL_SERVER"] = not (is_msvc(self) - and str(self.settings.compiler.version) in ("15", "191") - and self.settings.build_type == "Release") - - # Additional logic to override the make program on MacOS if /usr/bin/make is found by CMake - # which otherwise prevents the propagation of DYLD_LIBRARY_PATH as set by the VirtualBuildEnv - project_include = os.path.join(self.source_folder, "macos_make_override.cmake") - tc.cache_variables["CMAKE_PROJECT_test_package_INCLUDE"] = project_include + tc.cache_variables["CHECK_GRPC_CPP_PLUGIN"] = self.dependencies[self.tested_reference_str].options.cpp_plugin tc.generate() - deps = CMakeDeps(self) - deps.generate() - def build(self): cmake = CMake(self) cmake.configure() diff --git a/recipes/grpc/all/test_package/helloworld.proto b/recipes/grpc/all/test_package/helloworld.proto deleted file mode 100644 index be878ce25fffc1..00000000000000 --- a/recipes/grpc/all/test_package/helloworld.proto +++ /dev/null @@ -1,38 +0,0 @@ -// Copyright 2015 gRPC authors. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -syntax = "proto3"; - -option java_multiple_files = true; -option java_package = "io.grpc.examples.helloworld"; -option java_outer_classname = "HelloWorldProto"; -option objc_class_prefix = "HLW"; - -package helloworld; - -// The greeting service definition. -service Greeter { - // Sends a greeting - rpc SayHello (HelloRequest) returns (HelloReply) {} -} - -// The request message containing the user's name. -message HelloRequest { - string name = 1; -} - -// The response message containing the greetings -message HelloReply { - string message = 1; -} diff --git a/recipes/grpc/all/test_package/macos_make_override.cmake b/recipes/grpc/all/test_package/macos_make_override.cmake deleted file mode 100644 index e7078c1b514199..00000000000000 --- a/recipes/grpc/all/test_package/macos_make_override.cmake +++ /dev/null @@ -1,13 +0,0 @@ -if (CMAKE_GENERATOR MATCHES "Unix Makefiles" AND CMAKE_HOST_APPLE AND CMAKE_MAKE_PROGRAM MATCHES "/usr/bin/make") - execute_process( - COMMAND xcrun --find make - OUTPUT_VARIABLE xcode_make OUTPUT_STRIP_TRAILING_WHITESPACE - ERROR_VARIABLE xcrun_error) - if(xcode_make) - #Override the value of `CMAKE_MAKE_PROGRAM` - set_property(CACHE CMAKE_MAKE_PROGRAM PROPERTY VALUE "${xcode_make}") - else() - message(WARNING "Using /usr/bin/make may prevent execution of Conan tool_requires that require DYLD_LIBRARY_PATH" - " to be set at build time.") - endif() -endif() diff --git a/recipes/grpc/all/test_package/test_package.cpp b/recipes/grpc/all/test_package/test_package.cpp index 18a37cf90692e1..53d020094793ea 100644 --- a/recipes/grpc/all/test_package/test_package.cpp +++ b/recipes/grpc/all/test_package/test_package.cpp @@ -1,122 +1,9 @@ -/* - * - * Copyright 2015 gRPC authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - */ - #include -#include -#include #include -#include - #include -#include "helloworld.grpc.pb.h" - -using grpc::Channel; -using grpc::ClientContext; -using grpc::Server; -using grpc::ServerBuilder; -using grpc::ServerContext; -using grpc::Status; -using helloworld::HelloRequest; -using helloworld::HelloReply; -using helloworld::Greeter; - -class GreeterClient { - public: - GreeterClient(std::shared_ptr channel) - : stub_(Greeter::NewStub(channel)) {} - - // Assembles the client's payload, sends it and presents the response back - // from the server. - std::string SayHello(const std::string& user) { - // Data we are sending to the server. - HelloRequest request; - request.set_name(user); - - // Container for the data we expect from the server. - HelloReply reply; - - // Context for the client. It could be used to convey extra information to - // the server and/or tweak certain RPC behaviors. - ClientContext context; - // The actual RPC. - Status status = stub_->SayHello(&context, request, &reply); - - // Act upon its status. - if (status.ok()) { - return reply.message(); - } else { - std::cout << status.error_code() << ": " << status.error_message() - << std::endl; - return "RPC failed"; - } - } - - private: - std::unique_ptr stub_; -}; - -// Logic and data behind the server's behavior. -class GreeterServiceImpl final : public Greeter::Service { - Status SayHello(ServerContext* context, const HelloRequest* request, - HelloReply* reply) override { - std::string prefix("Hello "); - reply->set_message(prefix + request->name()); - return Status::OK; - } -}; int main(int argc, char** argv) { - std::string server_address("127.0.0.1:0"); - GreeterServiceImpl service; - - ServerBuilder builder; - int selected_port = 0; - // Listen on the given address without any authentication mechanism. - builder.AddListeningPort(server_address, grpc::InsecureServerCredentials(), &selected_port); - // Register "service" as the instance through which we'll communicate with - // clients. In this case it corresponds to an *synchronous* service. - builder.RegisterService(&service); - - // Finally assemble the server. -#ifdef TEST_ACTUAL_SERVER - std::unique_ptr server(builder.BuildAndStart()); - std::thread serverThread([&](){ - std::cout << "Server listening on 127.0.0.1:" << selected_port << std::endl; - server->Wait(); - std::cout << "Server closed" << std::endl; - }); -#endif - - // Instantiate the client. It requires a channel, out of which the actual RPCs - // are created. This channel models a connection to an endpoint (in this case, - // localhost at the selected port). We indicate that the channel isn't - // authenticated (use of InsecureChannelCredentials()). - std::ostringstream addr; - addr << "localhost:" << selected_port; - GreeterClient greeter(grpc::CreateChannel(addr.str(), grpc::InsecureChannelCredentials())); - std::string user("world"); - std::string reply = greeter.SayHello(user); - std::cout << "Greeter received: " << reply << std::endl; - -#ifdef TEST_ACTUAL_SERVER - server->Shutdown(); - serverThread.join(); -#endif + std::cout << "gPRC version: " << grpc::Version() << "\n"; return 0; } diff --git a/recipes/grpc/all/test_v1_package/CMakeLists.txt b/recipes/grpc/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index f16bc97992e860..00000000000000 --- a/recipes/grpc/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_v1_package LANGUAGES CXX) - -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/grpc/all/test_v1_package/conanfile.py b/recipes/grpc/all/test_v1_package/conanfile.py deleted file mode 100644 index 5fbf37e412127a..00000000000000 --- a/recipes/grpc/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,55 +0,0 @@ -from conans import ConanFile, CMake, tools -import contextlib -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build_requirements(self): - if hasattr(self, "settings_build"): - self.build_requires(str(self.requires["grpc"])) - - @contextlib.contextmanager - def _buildenv(self): - # TODO: conan v2: replace by VirtualBuildEnv and always add grpc to build requirements - if tools.cross_building(self): - yield - else: - with tools.run_environment(self): - yield - - @property - def macos_grpc_shared(self): - # Due to SIP limitations on newer macOS, `DYLD_LIBRARY_PATH`, which is set - # by `tools.run_environment`, will not be propagated properly, see - # https://stackoverflow.com/questions/35568122/why-isnt-dyld-library-path-being-propagated-here - return self.settings.os == "Macos" and self.options["grpc"].shared - - def build(self): - # TODO: always build in conan v2 - # this is a limitation of conan v1: - # at build time we want to inject PATH/LD_LIBRARY/DYLD_LIBRARY_PATH - # of build requirements so that gprc_cpp_plugin can find its - # shared dependencies (in build context as well) - # should be fixed by using: CMakeToolchain + VirtualBuildEnv - if (tools.cross_building(self) and self.options["grpc"].shared) or self.macos_grpc_shared: - self.output.warning("Skipping build of test_package due to limitation propagating " - "runtime environment when invoking protoc and grpc_cpp_plugin. " - "For a working example, please see the newer Conan 2.0 compatible " - "test package.") - return - with self._buildenv(): - cmake = CMake(self) - # FIXME: This combination of settings randomly fails in CI - cmake.definitions["TEST_ACTUAL_SERVER"] = not (self.settings.compiler == "Visual Studio" - and self.settings.compiler.version == "15" - and self.settings.build_type == "Release") - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self) and not self.macos_grpc_shared: - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/grpc/config.yml b/recipes/grpc/config.yml index 0e75e172635d25..eac63c2367c270 100644 --- a/recipes/grpc/config.yml +++ b/recipes/grpc/config.yml @@ -1,9 +1,9 @@ versions: + "1.65.0": + folder: "all" "1.54.3": folder: "all" "1.50.1": folder: "all" "1.50.0": folder: "all" - "1.48.4": - folder: "all" From b81e7e3c5715fc2c26aea2b5b4ccfb8d8a50ad00 Mon Sep 17 00:00:00 2001 From: Uilian Ries Date: Wed, 17 Jul 2024 11:42:35 +0200 Subject: [PATCH 043/132] (#24627) libx265: Disable assembly when building for Android * Disable assembly when building Android Signed-off-by: Uilian Ries * Raise invalid configuration for mac m1 * update error message. * Add missing option --------- Signed-off-by: Uilian Ries --- recipes/libx265/all/conanfile.py | 31 ++++++++++++++++++++++++++----- 1 file changed, 26 insertions(+), 5 deletions(-) diff --git a/recipes/libx265/all/conanfile.py b/recipes/libx265/all/conanfile.py index 677f51dce82b09..313852081c905e 100644 --- a/recipes/libx265/all/conanfile.py +++ b/recipes/libx265/all/conanfile.py @@ -49,7 +49,8 @@ def config_options(self): del self.options.with_numa # FIXME: Disable assembly by default if host is arm and compiler apple-clang for the moment. # Indeed, apple-clang is not able to understand some asm instructions of libx265 - if self.settings.compiler == "apple-clang" and "arm" in self.settings.arch: + # FIXME: Disable assembly by default if host is Android for the moment. It fails to build + if (self.settings.compiler == "apple-clang" and "arm" in self.settings.arch) or self.settings.os == "Android": self.options.assembly = False def configure(self): @@ -63,10 +64,27 @@ def requirements(self): if self.options.get_safe("with_numa", False): self.requires("libnuma/2.0.14") + def validate_build(self): + if cross_building(self) and self.settings.os == "Android" and self.options.assembly: + # FIXME: x265 uses custom command to invoke clang to compile assembly files. + # clang++ -fPIC -c src/source/common/aarch64/mc-a.S -o mc-a.S.o + # FAILED: mc-a.S.o libx2f309356bd8526/b/build/Release/mc-a.S.o + # clang++ -fPIC -c src/source/common/aarch64/mc-a.S -o mc-a.S.o + # :11:9: error: unknown directive + # .func x265_pixel_avg_pp_4x4_neon + raise ConanInvalidConfiguration(f"{self.ref} fails to build with '&:assembly=True' for Android. Contributions are welcome.") + def validate(self): if self.options.shared and is_msvc(self) and is_msvc_static_runtime(self): raise ConanInvalidConfiguration("shared not supported with static runtime") + if self.settings.compiler == "apple-clang" and "arm" in self.settings.arch and self.options.assembly: + # Undefined symbols for architecture arm64: + # "x265::setupAssemblyPrimitives(x265::EncoderPrimitives&, int)", referenced from: + # x265::x265_setup_primitives(x265_param*) in libx265.a[20](primitives.cpp.o) + # ld: symbol(s) not found for architecture arm64 + raise ConanInvalidConfiguration(f"{self.ref} fails to build for Mac M1. Contributions are welcome.") + def build_requirements(self): if self.options.assembly: if self.settings.arch in ["x86", "x86_64"]: @@ -154,7 +172,10 @@ def package_info(self): if not self.options.shared: self.cpp_info.sharedlinkflags = ["-Wl,-Bsymbolic,-znoexecstack"] elif self.settings.os == "Android": - self.cpp_info.libs.extend(["dl", "m"]) - libcxx = stdcpp_library(self) - if libcxx: - self.cpp_info.system_libs.append(libcxx) + self.cpp_info.system_libs.extend(["dl", "m"]) + if not self.options.shared: + libcxx = stdcpp_library(self) + if libcxx: + if self.settings.os == "Android" and self.settings.compiler.libcxx == "c++_static": + self.cpp_info.system_libs.append("c++abi") + self.cpp_info.system_libs.append(libcxx) From ed9caa3f710a2faf9e07c750e4788afa03070ba7 Mon Sep 17 00:00:00 2001 From: nextsilicon-itay-bookstein <55076759+nextsilicon-itay-bookstein@users.noreply.github.com> Date: Thu, 18 Jul 2024 15:37:20 +0300 Subject: [PATCH 044/132] (#24651) grpc: Fix recipe to prepend to LD_LIBRARY_PATH rather than clobber In the presence of an ambient LD_LIBRARY_PATH we want to prepend rather than clobber, same as in the case of Mac. Otherwise we may end up missing library paths required by the user. --- recipes/grpc/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/grpc/all/conanfile.py b/recipes/grpc/all/conanfile.py index 7634ab35b992ba..e8ae71aeb20b8c 100644 --- a/recipes/grpc/all/conanfile.py +++ b/recipes/grpc/all/conanfile.py @@ -222,7 +222,7 @@ def _patch_sources(self): # Note: if protobuf used RPATH instead of RUNPATH this is not needed replace_in_file(self, cmakelists, "COMMAND ${_gRPC_PROTOBUF_PROTOC_EXECUTABLE}", - 'COMMAND ${CMAKE_COMMAND} -E env "LD_LIBRARY_PATH=$" ${_gRPC_PROTOBUF_PROTOC_EXECUTABLE}') + 'COMMAND ${CMAKE_COMMAND} -E env "LD_LIBRARY_PATH=$:$ENV{LD_LIBRARY_PATH}" ${_gRPC_PROTOBUF_PROTOC_EXECUTABLE}') if self.settings.os == "Macos" and Version(self.version) >= "1.64": # See https://github.com/grpc/grpc/issues/36654#issuecomment-2228569158 replace_in_file(self, cmakelists, "target_compile_features(upb_textformat_lib PUBLIC cxx_std_14)", From 44bc9227ce79366bcc828831908ddfdd121dc2dd Mon Sep 17 00:00:00 2001 From: Luis Caro Campos <3535649+jcar87@users.noreply.github.com> Date: Thu, 18 Jul 2024 14:05:04 +0100 Subject: [PATCH 045/132] (#24652) protobuf: use RPATH instead of RUNPATH * protobuf: use RPATH instead of RUNPATH * support conan1 --- recipes/protobuf/all/conanfile.py | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/recipes/protobuf/all/conanfile.py b/recipes/protobuf/all/conanfile.py index 2b0003b1adc841..d36546a97d0f67 100644 --- a/recipes/protobuf/all/conanfile.py +++ b/recipes/protobuf/all/conanfile.py @@ -3,7 +3,7 @@ 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, rename, get, apply_conandata_patches, export_conandata_patches, replace_in_file, rmdir, rm +from conan.tools.files import copy, rename, get, apply_conandata_patches, export_conandata_patches, replace_in_file, rmdir, rm, save from conan.tools.microsoft import check_min_vs, msvc_runtime_flag, is_msvc, is_msvc_static_runtime from conan.tools.scm import Version @@ -146,6 +146,19 @@ def generate(self): if is_apple_os(self) and self.options.shared: # Workaround against SIP on macOS for consumers while invoking protoc when protobuf lib is shared tc.variables["CMAKE_INSTALL_RPATH"] = "@loader_path/../lib" + + if self.settings.os == "Linux": + # Use RPATH instead of RUNPATH to help with specific case + # in the grpc recipe when grpc_cpp_plugin is run with protoc + # in the same build. RPATH ensures that the rpath in the binary + # is respected for transitive dependencies too + project_include = os.path.join(self.generators_folder, "protobuf_project_include.cmake") + save(self, project_include, "add_link_options(-Wl,--disable-new-dtags)") + tc.variables["CMAKE_PROJECT_INCLUDE"] = project_include + # Note: conan2 only could be: + # tc.extra_exelinkflags.append("-Wl,--disable-new-dtags") + # tc.extra_sharedlinkflags.append("-Wl,--disable-new-dtags") + tc.generate() deps = CMakeDeps(self) From b52db7107a0e3c57505a79c3f03e150c57ddf5c9 Mon Sep 17 00:00:00 2001 From: Luis Caro Campos <3535649+jcar87@users.noreply.github.com> Date: Thu, 18 Jul 2024 14:27:27 +0100 Subject: [PATCH 046/132] (#24650) xnnpack: add newer version --- recipes/xnnpack/all/conandata.yml | 3 +++ recipes/xnnpack/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/xnnpack/all/conandata.yml b/recipes/xnnpack/all/conandata.yml index 347edb5af17873..94f6829c40eea0 100644 --- a/recipes/xnnpack/all/conandata.yml +++ b/recipes/xnnpack/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "cci.20240229": + url: "https://github.com/google/XNNPACK/archive/fcbf55af6cf28a4627bcd1f703ab7ad843f0f3a2.tar.gz" + sha256: "96b2800652a605f0bd289faa09865792d139cadde89f681c79e1b2a08a7e0498" "cci.20231026": url: "https://github.com/google/XNNPACK/archive/ab16a544c1cbc5ee4ec105a2f35f8adca22e94c1.tar.gz" sha256: "11c7e0555d2c2c14d812b3fba2a277d59121cfb898dcc99de1c76477ff2055a0" diff --git a/recipes/xnnpack/config.yml b/recipes/xnnpack/config.yml index 5e502dd6fac1c7..5557e99d09d21f 100644 --- a/recipes/xnnpack/config.yml +++ b/recipes/xnnpack/config.yml @@ -1,4 +1,6 @@ versions: + "cci.20240229": + folder: all "cci.20231026": folder: all "cci.20230715": From 1bbf24347d4528ecdcd1c13dd63258fb03c96ca7 Mon Sep 17 00:00:00 2001 From: Mridul Seth Date: Thu, 18 Jul 2024 15:59:25 +0200 Subject: [PATCH 047/132] (#24459) llnl-units: Add 0.9.1 to conan center index MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * llnl-units: Add 0.9.1 to conan center index * Apply suggestions from code review Co-authored-by: Abril Rincón Blanco * address review, add fPIC specific functions * make lint happy * use preprocessor_definitions * clean up * Update recipes/llnl-units/all/conanfile.py Co-authored-by: Uilian Ries * Update recipes/llnl-units/all/conanfile.py Co-authored-by: Uilian Ries * address review * Update recipes/llnl-units/all/test_package/CMakeLists.txt Co-authored-by: Uilian Ries --------- Co-authored-by: Abril Rincón Blanco Co-authored-by: Uilian Ries --- recipes/llnl-units/all/conandata.yml | 4 + recipes/llnl-units/all/conanfile.py | 103 ++++++++++++++++++ .../all/test_package/CMakeLists.txt | 10 ++ .../llnl-units/all/test_package/conanfile.py | 27 +++++ .../all/test_package/test_package.cpp | 20 ++++ recipes/llnl-units/config.yml | 3 + 6 files changed, 167 insertions(+) create mode 100644 recipes/llnl-units/all/conandata.yml create mode 100644 recipes/llnl-units/all/conanfile.py create mode 100644 recipes/llnl-units/all/test_package/CMakeLists.txt create mode 100644 recipes/llnl-units/all/test_package/conanfile.py create mode 100644 recipes/llnl-units/all/test_package/test_package.cpp create mode 100644 recipes/llnl-units/config.yml diff --git a/recipes/llnl-units/all/conandata.yml b/recipes/llnl-units/all/conandata.yml new file mode 100644 index 00000000000000..61314f69856936 --- /dev/null +++ b/recipes/llnl-units/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "0.9.1": + url: "https://github.com/LLNL/units/archive/refs/tags/v0.9.1.tar.gz" + sha256: "7edb83613a07cf55873f22d61c0062e46db6f8cb27d137866858811ec2e1ad4f" diff --git a/recipes/llnl-units/all/conanfile.py b/recipes/llnl-units/all/conanfile.py new file mode 100644 index 00000000000000..62478d1b6985fa --- /dev/null +++ b/recipes/llnl-units/all/conanfile.py @@ -0,0 +1,103 @@ +import os + +from conan import ConanFile +from conan.tools.cmake import CMake, CMakeToolchain +from conan.tools.files import copy, rm, rmdir, get + + +class UnitsConan(ConanFile): + name = "llnl-units" + license = "BSD-3-Clause" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://units.readthedocs.io" + description = ( + "A run-time C++ library for working with units " + "of measurement and conversions between them " + "and with string representations of units " + "and measurements" + ) + topics = ( + "units", + "dimensions", + "quantities", + "physical-units", + "dimensional-analysis", + "run-time", + ) + settings = "os", "compiler", "build_type", "arch" + package_type = "library" + options = { + "shared": [True, False], + "fPIC": [True, False], + } + default_options = { + "shared": False, + "fPIC": 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 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 source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + tc.preprocessor_definitions["UNITS_CMAKE_PROJECT_NAME"] = "LLNL-UNITS" + tc.preprocessor_definitions["UNITS_ENABLE_TESTS"] = "OFF" + tc.preprocessor_definitions["UNITS_BUILD_SHARED_LIBRARY"] = self.options.shared + tc.preprocessor_definitions[ + "UNITS_BUILD_STATIC_LIBRARY" + ] = not self.options.shared + tc.generate() + + def build(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", "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 = ["units"] + namespace = self.conf.get("user.llnl-units:namespace", check_type=str) + base_type = self.conf.get("user.llnl-units:base_type", check_type=str, default="uint32_t") + self.cpp_info.defines = [f"UNITS_BASE_TYPE={base_type}"] + if namespace: + self.cpp_info.defines.append(f"UNITS_NAMESPACE={units_namespace}") + + self.cpp_info.set_property("cmake_file_name", "units") + self.cpp_info.set_property("cmake_target_name", "units::units") diff --git a/recipes/llnl-units/all/test_package/CMakeLists.txt b/recipes/llnl-units/all/test_package/CMakeLists.txt new file mode 100644 index 00000000000000..32484e5b71ec5a --- /dev/null +++ b/recipes/llnl-units/all/test_package/CMakeLists.txt @@ -0,0 +1,10 @@ +cmake_minimum_required(VERSION 3.15) + +project(test_package LANGUAGES CXX) + +find_package(units REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) + +target_link_libraries(${PROJECT_NAME} PRIVATE units::units) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_14) diff --git a/recipes/llnl-units/all/test_package/conanfile.py b/recipes/llnl-units/all/test_package/conanfile.py new file mode 100644 index 00000000000000..02eb5ce439fb40 --- /dev/null +++ b/recipes/llnl-units/all/test_package/conanfile.py @@ -0,0 +1,27 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake +import os + + +# It will become the standard on Conan 2.x +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/llnl-units/all/test_package/test_package.cpp b/recipes/llnl-units/all/test_package/test_package.cpp new file mode 100644 index 00000000000000..875f7bb1c11237 --- /dev/null +++ b/recipes/llnl-units/all/test_package/test_package.cpp @@ -0,0 +1,20 @@ +#include +#include +#include "units/units.hpp" +using namespace units; + +int main(void) { + auto new_unit=m/s; + auto another=new_unit*s; + bool test = another == m; + std::cout << test << std::endl; + + measurement length1=45.0*m; + measurement length2=20.0*m; + measurement result=900.0*m*m; + measurement area=length1*length2; + bool test2 = area == result; + std::cout << test2 << std::endl; + + return EXIT_SUCCESS; +} diff --git a/recipes/llnl-units/config.yml b/recipes/llnl-units/config.yml new file mode 100644 index 00000000000000..6895ae8f05494f --- /dev/null +++ b/recipes/llnl-units/config.yml @@ -0,0 +1,3 @@ +versions: + "0.9.1": + folder: all From 0d7bc59dd0164d277df471feed2582be7bf88a79 Mon Sep 17 00:00:00 2001 From: Luis Caro Campos <3535649+jcar87@users.noreply.github.com> Date: Mon, 22 Jul 2024 09:33:57 +0100 Subject: [PATCH 048/132] (#24659) gtest: add 1.15.0 --- recipes/gtest/all/conandata.yml | 3 +++ recipes/gtest/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/gtest/all/conandata.yml b/recipes/gtest/all/conandata.yml index b22247dc8573db..7b9115d9da952d 100644 --- a/recipes/gtest/all/conandata.yml +++ b/recipes/gtest/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.15.0": + url: "https://github.com/google/googletest/releases/download/v1.15.0/googletest-1.15.0.tar.gz" + sha256: "7315acb6bf10e99f332c8a43f00d5fbb1ee6ca48c52f6b936991b216c586aaad" "1.14.0": url: "https://github.com/google/googletest/archive/refs/tags/v1.14.0.tar.gz" sha256: "8ad598c73ad796e0d8280b082cebd82a630d73e73cd3c70057938a6501bba5d7" diff --git a/recipes/gtest/config.yml b/recipes/gtest/config.yml index fa66f2eb7d4d78..e0f7e6d533d7fb 100644 --- a/recipes/gtest/config.yml +++ b/recipes/gtest/config.yml @@ -1,4 +1,6 @@ versions: + "1.15.0": + folder: all "1.14.0": folder: all "1.13.0": From d4a1c8b47a1f073fe19c0b796ccc9b910f151ddc Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 22 Jul 2024 17:55:04 +0900 Subject: [PATCH 049/132] (#24660) c-ares: add version 1.32.2 --- 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 4085cf579ede7f..4707b2bebca1a7 100644 --- a/recipes/c-ares/all/conandata.yml +++ b/recipes/c-ares/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.32.2": + url: "https://github.com/c-ares/c-ares/releases/download/v1.32.2/c-ares-1.32.2.tar.gz" + sha256: "072ff6b30b9682d965b87eb9b77851dc1cd8e6d8090f6821a56bd8fa89595061" "1.32.1": url: "https://github.com/c-ares/c-ares/releases/download/v1.32.1/c-ares-1.32.1.tar.gz" sha256: "63be2c4ee121faa47e9766f735b4cde750fff2c563f81c11e572d3dc6401e5e7" diff --git a/recipes/c-ares/config.yml b/recipes/c-ares/config.yml index 32d339359feeab..fa9c8c280d1f5a 100644 --- a/recipes/c-ares/config.yml +++ b/recipes/c-ares/config.yml @@ -1,4 +1,6 @@ versions: + "1.32.2": + folder: all "1.32.1": folder: all "1.31.0": From 3274102464fbd25e0ac558e11afe881232244a00 Mon Sep 17 00:00:00 2001 From: Mi-La Date: Mon, 22 Jul 2024 11:05:52 +0200 Subject: [PATCH 050/132] (#24667) zserio: Add new Zserio release 2.14.1 Co-authored-by: Miki Rozloznik --- recipes/zserio/all/conandata.yml | 10 ++++++++++ recipes/zserio/config.yml | 2 ++ 2 files changed, 12 insertions(+) diff --git a/recipes/zserio/all/conandata.yml b/recipes/zserio/all/conandata.yml index 252e1a38c700d4..3d6ead71c8ec86 100644 --- a/recipes/zserio/all/conandata.yml +++ b/recipes/zserio/all/conandata.yml @@ -1,4 +1,14 @@ sources: + "2.14.1": + runtime: + url: "https://github.com/ndsev/zserio/releases/download/v2.14.1/zserio-2.14.1-runtime-libs.zip" + sha256: "ae3d7660ed3dd02fc77f535d7c7c721d9f03179c441efd0f4d09dc889da929fc" + compiler: + url: "https://github.com/ndsev/zserio/releases/download/v2.14.1/zserio-2.14.1-bin.zip" + sha256: "3280d620b2c23e01cc2e73bae9b60c93f94b23859c68edb1f105ba499b377049" + license: + url: "https://raw.githubusercontent.com/ndsev/zserio/v2.14.1/LICENSE" + sha256: "8fd7b040fc223bb07551dfed490df0d55d6af25e331e58bc7c7599163ed1bb5a" "2.14.0": runtime: url: "https://github.com/ndsev/zserio/releases/download/v2.14.0/zserio-2.14.0-runtime-libs.zip" diff --git a/recipes/zserio/config.yml b/recipes/zserio/config.yml index 24ddb8ef2b935f..3c2e35ec8e9938 100644 --- a/recipes/zserio/config.yml +++ b/recipes/zserio/config.yml @@ -1,4 +1,6 @@ versions: + "2.14.1": + folder: all "2.14.0": folder: all "2.13.0": From 8169b4694401e43941611351dc54d9b50ae17fe7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Meusel?= Date: Mon, 22 Jul 2024 11:15:34 +0200 Subject: [PATCH 051/132] (#24638) Botan: add version 3.5.0 * botan: add 3.5.0 * botan: support --{enable/disable}-{experimental/deprecated}-featurs --- recipes/botan/all/conandata.yml | 3 +++ recipes/botan/all/conanfile.py | 18 ++++++++++++++++++ recipes/botan/config.yml | 2 ++ 3 files changed, 23 insertions(+) diff --git a/recipes/botan/all/conandata.yml b/recipes/botan/all/conandata.yml index 3472b4e6e22008..311b92ac7d1b59 100644 --- a/recipes/botan/all/conandata.yml +++ b/recipes/botan/all/conandata.yml @@ -35,6 +35,9 @@ sources: "3.4.0": url: "https://github.com/randombit/botan/archive/3.4.0.tar.gz" sha256: "6ef2a16a0527b1cfc9648a644877f7b95c4d07e8ef237273b030c623418c5e5b" + "3.5.0": + url: "https://github.com/randombit/botan/archive/3.5.0.tar.gz" + sha256: "7d91d3349e6029e1a6929a50ab587f9fd4e29a9af3f3d698553451365564001f" patches: "2.18.2": - patch_file: "patches/fix-amalgamation-build.patch" diff --git a/recipes/botan/all/conanfile.py b/recipes/botan/all/conanfile.py index 082f448005d3f9..8ed902567cf539 100644 --- a/recipes/botan/all/conanfile.py +++ b/recipes/botan/all/conanfile.py @@ -53,6 +53,8 @@ class BotanConan(ConanFile): "with_powercrypto": [True, False], "enable_modules": [None, "ANY"], "disable_modules": [None, "ANY"], + "enable_experimental_features": [True, False], + "enable_deprecated_features": [True, False], "system_cert_bundle": [None, "ANY"], "module_policy": [None, "bsi", "modern", "nist"], } @@ -81,6 +83,8 @@ class BotanConan(ConanFile): "with_powercrypto": True, "enable_modules": None, "disable_modules": None, + "enable_experimental_features": False, + "enable_deprecated_features": True, "system_cert_bundle": None, "module_policy": None, } @@ -336,6 +340,20 @@ def _configure_cmd(self): if self._extra_cxxflags: botan_extra_cxx_flags.append(self._extra_cxxflags) + if Version(self.version) >= '3.4': + # Botan 3.4.0 introduced a 'module life cycle' feature, before that + # the experimental/deprecated feature switches are ignored. + + if self.options.enable_experimental_features: + build_flags.append('--enable-experimental-features') + else: + build_flags.append('--disable-experimental-features') + + if self.options.enable_deprecated_features: + build_flags.append('--enable-deprecated-features') + else: + build_flags.append('--disable-deprecated-features') + if self.options.enable_modules: build_flags.append('--minimized-build') build_flags.append('--enable-modules={}'.format(self.options.enable_modules)) diff --git a/recipes/botan/config.yml b/recipes/botan/config.yml index 97827ec9a391e4..0d0ff4ded08537 100644 --- a/recipes/botan/config.yml +++ b/recipes/botan/config.yml @@ -23,3 +23,5 @@ versions: folder: all "3.4.0": folder: all + "3.5.0": + folder: all From f37b1bd327bcbdf9e9ab11ab2b1e0f5dbf2abae0 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 22 Jul 2024 18:59:21 +0900 Subject: [PATCH 052/132] (#24675) fmt: add version 11.0.2 --- 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 2e5c98f10fb1b5..5ec660a369fa83 100644 --- a/recipes/fmt/all/conandata.yml +++ b/recipes/fmt/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "11.0.2": + url: "https://github.com/fmtlib/fmt/releases/download/11.0.2/fmt-11.0.2.zip" + sha256: "40fc58bebcf38c759e11a7bd8fdc163507d2423ef5058bba7f26280c5b9c5465" "11.0.1": url: "https://github.com/fmtlib/fmt/releases/download/11.0.1/fmt-11.0.1.zip" sha256: "62ca45531814109b5d6cef0cf2fd17db92c32a30dd23012976e768c685534814" diff --git a/recipes/fmt/config.yml b/recipes/fmt/config.yml index 34d172078c6972..22c106719d701b 100644 --- a/recipes/fmt/config.yml +++ b/recipes/fmt/config.yml @@ -1,4 +1,6 @@ versions: + "11.0.2": + folder: all "11.0.1": folder: all "11.0.0": From 45ab9abf6edf2e0645364ac073134bc6877693f1 Mon Sep 17 00:00:00 2001 From: PerseoGI Date: Mon, 22 Jul 2024 12:11:30 +0200 Subject: [PATCH 053/132] (#24569) mold: Add README * Added mold README * Update recipes/mold/README.md Co-authored-by: Luis Caro Campos <3535649+jcar87@users.noreply.github.com> * Update recipes/mold/README.md Co-authored-by: Luis Caro Campos <3535649+jcar87@users.noreply.github.com> * Update recipes/mold/README.md Co-authored-by: Luis Caro Campos <3535649+jcar87@users.noreply.github.com> * Update recipes/mold/README.md Co-authored-by: Luis Caro Campos <3535649+jcar87@users.noreply.github.com> --------- Co-authored-by: Luis Caro Campos <3535649+jcar87@users.noreply.github.com> --- recipes/mold/README.md | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 recipes/mold/README.md diff --git a/recipes/mold/README.md b/recipes/mold/README.md new file mode 100644 index 00000000000000..8a1ee68e8c4edf --- /dev/null +++ b/recipes/mold/README.md @@ -0,0 +1,22 @@ +# mold: A Modern Linker + +mold is a faster drop-in replacement for existing Unix linkers. It is several +times quicker than the LLVM lld linker, the second-fastest open-source linker. +mold aims to enhance developer productivity by minimizing build time, +particularly in rapid debug-edit-rebuild cycles. + +You can configure Conan to download the latest version of `mold` and use it as the linker +when building your dependencies and projects from source. Currently only supported +when targeting Linux as the platform. + +To use mold automatically as the linker, you can add the following section to your +_host_ profile that targets Linux. When using gcc, please note that the following +flags require gcc 12.1 or greater. + +``` +[tool_requires] +*:mold/[*] +[conf] +tools.build:exelinkflags=['-fuse-ld=mold'] +tools.build:sharedlinkflags=['-fuse-ld=mold'] +``` From 876306cb560fb23a822fcdfe93536109267ddcce Mon Sep 17 00:00:00 2001 From: Vladimir Bieleny Date: Mon, 22 Jul 2024 12:37:19 +0200 Subject: [PATCH 054/132] (#24668) android-ndk: add r27 --- recipes/android-ndk/all/conandata.yml | 13 +++++++++++++ recipes/android-ndk/config.yml | 2 ++ 2 files changed, 15 insertions(+) diff --git a/recipes/android-ndk/all/conandata.yml b/recipes/android-ndk/all/conandata.yml index 450b3b65da3384..28d9619ab0124b 100644 --- a/recipes/android-ndk/all/conandata.yml +++ b/recipes/android-ndk/all/conandata.yml @@ -1,4 +1,17 @@ sources: + "r27": + "Windows": + "x86_64": + url: "https://dl.google.com/android/repository/android-ndk-r27-windows.zip" + sha256: "342ceafd7581ae26a0bd650a5e0bbcd0aa2ee15eadfd7508b3dedeb1372d7596" + "Linux": + "x86_64": + url: "https://dl.google.com/android/repository/android-ndk-r27-linux.zip" + sha256: "2f17eb8bcbfdc40201c0b36e9a70826fcd2524ab7a2a235e2c71186c302da1dc" + "Macos": + "x86_64": + url: "https://dl.google.com/android/repository/android-ndk-r27-darwin.zip" + sha256: "2f2ef00b22fe22c1c9c78fda1b38ea7ffa6528e25eac0b70a92f8cb0093143be" "r26d": "Windows": "x86_64": diff --git a/recipes/android-ndk/config.yml b/recipes/android-ndk/config.yml index ae138de6957a20..5a16edd20d5af7 100644 --- a/recipes/android-ndk/config.yml +++ b/recipes/android-ndk/config.yml @@ -1,4 +1,6 @@ versions: + "r27": + folder: all "r26d": folder: all "r26c": From 500edab58a40ca0a7e83aca25996ac2749eef4ed Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 22 Jul 2024 22:05:10 +0900 Subject: [PATCH 055/132] (#24647) tracy: add version 0.11.0 --- recipes/tracy/all/conandata.yml | 3 +++ recipes/tracy/all/conanfile.py | 7 ++++--- recipes/tracy/config.yml | 2 ++ 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/recipes/tracy/all/conandata.yml b/recipes/tracy/all/conandata.yml index de70002df8416a..d32d6dc01cb9ff 100644 --- a/recipes/tracy/all/conandata.yml +++ b/recipes/tracy/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.11.0": + url: "https://github.com/wolfpld/tracy/archive/refs/tags/v0.11.0.tar.gz" + sha256: "b591ef2820c5575ccbf17e2e7a1dc1f6b9a2708f65bfd00f4ebefad2a1ccf830" "0.10": url: "https://github.com/wolfpld/tracy/archive/refs/tags/v0.10.tar.gz" sha256: "a76017d928f3f2727540fb950edd3b736caa97b12dbb4e5edce66542cbea6600" diff --git a/recipes/tracy/all/conanfile.py b/recipes/tracy/all/conanfile.py index a056814ff01654..df60f29fb35849 100644 --- a/recipes/tracy/all/conanfile.py +++ b/recipes/tracy/all/conanfile.py @@ -11,10 +11,11 @@ class TracyConan(ConanFile): name = "tracy" description = "C++ frame profiler" - topics = ("profiler", "performance", "gamedev") - homepage = "https://github.com/wolfpld/tracy" - url = "https://github.com/conan-io/conan-center-index" license = ["BSD-3-Clause"] + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/wolfpld/tracy" + topics = ("profiler", "performance", "gamedev") + package_type = "library" settings = "os", "arch", "compiler", "build_type" # Existing CMake tracy options with default value diff --git a/recipes/tracy/config.yml b/recipes/tracy/config.yml index 7f42fe99a398a0..45ba8e874f0e1c 100644 --- a/recipes/tracy/config.yml +++ b/recipes/tracy/config.yml @@ -1,4 +1,6 @@ versions: + "0.11.0": + folder: all "0.10": folder: all "0.9.1": From 2e7d0f48fdb580cead68dfcd3f01f9038c6189a7 Mon Sep 17 00:00:00 2001 From: Piotr Gaczkowski Date: Tue, 23 Jul 2024 17:33:00 +0200 Subject: [PATCH 056/132] (#24589) ohnet: bump version to 1.37.5454 * ohnet: bump version to 1.37.5454 * Move debug declaration * Refactor helper method * Fix f-string * Remove v1 compat * Revert "Remove v1 compat" This reverts commit e1a399c33de2dc1e5ead3a5edfc273950436bfee. * Use proper flags for cpp file * Fix patch * Combine cflags * Relax cpython requirements * Remove cpython requirement * Add CMake to requirements --- recipes/ohnet/all/conandata.yml | 10 + recipes/ohnet/all/conanfile.py | 44 ++- .../patches/0001-common.mak-1.37.5454.patch | 27 ++ .../all/patches/0001-makefile-1.37.5454.patch | 336 ++++++++++++++++++ recipes/ohnet/all/test_package/conanfile.py | 3 + recipes/ohnet/config.yml | 2 + 6 files changed, 403 insertions(+), 19 deletions(-) create mode 100644 recipes/ohnet/all/patches/0001-common.mak-1.37.5454.patch create mode 100644 recipes/ohnet/all/patches/0001-makefile-1.37.5454.patch diff --git a/recipes/ohnet/all/conandata.yml b/recipes/ohnet/all/conandata.yml index 5ad399f8fa0f90..974392dab738f9 100644 --- a/recipes/ohnet/all/conandata.yml +++ b/recipes/ohnet/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.37.5454": + url: "https://github.com/openhome/ohNet/archive/refs/tags/ohNet_1.37.5454.tar.gz" + sha256: "343c0f6b015e04195f5e7d937fa5e010a4d5a54782387d1c79259d3bb4ead0f0" "1.36.5344": url: "https://github.com/openhome/ohNet/archive/refs/tags/ohNet_1.36.5344.tar.gz" sha256: "4873504f8f98c5fdbd72537392d6e5d97ed0747d3ef0b9c2b7fe77f1a02aaeb6" @@ -6,6 +9,13 @@ sources: url: "https://github.com/openhome/ohNet/archive/refs/tags/ohNet_1.36.5182.tar.gz" sha256: "1489407b9bae13affa8f933a81fb5a43f16b29f5bf8048b68ea645afc0e53ced" patches: + "1.37.5454": + - patch_file: "patches/0001-makefile-1.37.5454.patch" + patch_description: "Reduce gcc-centricity in Makefile" + patch_type: "conan" + - patch_file: "patches/0001-common.mak-1.37.5454.patch" + patch_description: "Use proper flags for C++ file" + patch_type: "conan" "1.36.5344": - patch_file: "patches/0001-makefile-1.36.5344.patch" patch_description: "Reduce gcc-centricity in Makefile" diff --git a/recipes/ohnet/all/conanfile.py b/recipes/ohnet/all/conanfile.py index ad2031f5acf6bb..e76982e6ef25ba 100755 --- a/recipes/ohnet/all/conanfile.py +++ b/recipes/ohnet/all/conanfile.py @@ -29,7 +29,7 @@ class OhNetConan(ConanFile): } short_paths = True - def _get_openhome_architecture(self, args): + def _fill_openhome_architecture(self, args): if is_apple_os(self): if str(self.settings.arch).startswith("armv8"): openhome_architecture = "arm64" @@ -66,43 +66,48 @@ def generate(self): tc.make_args.append("-j1") tc.generate() + def _fill_ohnet_args(self, args): + if self.settings.build_type == "Debug": + args.append("debug=1") + + installlibdir = os.path.join(self.package_folder, "lib") + installincludedir = os.path.join(self.package_folder, "include") + + args.extend([f"prefix={self.package_folder}",f"installdir={self.package_folder}", f"installlibdir={installlibdir}", f"installincludedir={installincludedir}"]) + + if not is_msvc(self): + args = self._fill_openhome_architecture(args) + args.append("rsync=no") + if str(self.settings.compiler.libcxx) == "libc++": + args.extend(["CPPFLAGS=-stdlib=libc++", "LDFLAGS=-stdlib=libc++"]) + return args + def build(self): apply_conandata_patches(self) targets = "ohNetDll TestsNative proxies devices" - additional_options="" + args = [] + self._fill_ohnet_args(args) with chdir(self, self.source_folder): if is_msvc(self): - if self.settings.build_type == "Debug": - additional_options += " debug=1" - self.run(f"nmake /f OhNet.mak {targets} {additional_options}") + self.run(f"nmake /f OhNet.mak {targets} {' '.join(args)}") else: - args = [] - args = self._get_openhome_architecture(args) - args.append("rsync=no") - if str(self.settings.compiler.libcxx) == "libc++": - args.extend(["CPPFLAGS=-stdlib=libc++", "LDFLAGS=-stdlib=libc++"]) autotools = Autotools(self) autotools.make(args=args, target=targets) def package(self): - installlibdir = os.path.join(self.package_folder, "lib") - installincludedir = os.path.join(self.package_folder, "include") - additional_options="" - copy(self, "License.txt", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) copy(self, "*", src=os.path.join(self.source_folder, "OpenHome", "Net", "ServiceGen"), dst=os.path.join(self.package_folder, "lib", "ServiceGen")) mkdir(self, os.path.join(self.package_folder, "lib", "t4")) + args = [] + self._fill_ohnet_args(args) + with chdir(self, self.source_folder): if is_msvc(self): - if self.settings.build_type == "Debug": - additional_options += " debug=1" - self.run(f"nmake /f OhNet.mak install installdir={self.package_folder} installlibdir={installlibdir} installincludedir={installincludedir} {additional_options}") + self.run(f"nmake /f OhNet.mak install {' '.join(args)}") else: - args = [f"prefix={self.package_folder}", f"installlibdir={installlibdir}", f"installincludedir={installincludedir}", "rsync=no"] - args = self._get_openhome_architecture(args) autotools = Autotools(self) autotools.make(args=args, target="install-libs install-includes") if is_apple_os(self): @@ -143,6 +148,7 @@ def package_info(self): self.cpp_info.names["cmake_find_package"] = "ohNet" self.cpp_info.names["cmake_find_package_multi"] = "ohNet" self.cpp_info.names["pkg_config"] = "ohNet" + for component in ["ohNetCore", "OhNetDevices", "ohNetProxies", "TestFramework"]: self.cpp_info.components[component].names["cmake_find_package"] = component self.cpp_info.components[component].names["cmake_find_package_multi"] = component diff --git a/recipes/ohnet/all/patches/0001-common.mak-1.37.5454.patch b/recipes/ohnet/all/patches/0001-common.mak-1.37.5454.patch new file mode 100644 index 00000000000000..9b99e3972d230c --- /dev/null +++ b/recipes/ohnet/all/patches/0001-common.mak-1.37.5454.patch @@ -0,0 +1,27 @@ +diff --git a/Common.mak b/Common.mak +index a25489c2..7189c9dc 100644 +--- a/Common.mak ++++ b/Common.mak +@@ -385,21 +385,21 @@ $(objdir)nsec.$(objext) : $(mDNSdir)/nsec.c $(headers) + $(compiler)nsec.$(objext) -c $(cflags_third_party) $(includes) $(mDNSdir)/nsec.c + $(objdir)nsec3.$(objext) : $(mDNSdir)/nsec3.c $(headers) + $(compiler)nsec3.$(objext) -c $(cflags_third_party) $(includes) $(mDNSdir)/nsec3.c + $(objdir)uDNS.$(objext) : $(mDNSdir)/uDNS.c $(headers) + $(compiler)uDNS.$(objext) -c $(cflags_third_party) $(includes) $(mDNSdir)/uDNS.c + $(objdir)dnssd_clientshim.$(objext) : $(mDNSdir)/dnssd_clientshim.c $(headers) + $(compiler)dnssd_clientshim.$(objext) -c $(cflags_third_party) $(includes) $(mDNSdir)/dnssd_clientshim.c + $(objdir)dnssd_clientlib.$(objext) : $(mDNSdir)/dnssd_clientlib.c $(headers) + $(compiler)dnssd_clientlib.$(objext) -c $(cflags_third_party) $(includes) $(mDNSdir)/dnssd_clientlib.c + $(objdir)MdnsPlatform.$(objext) : OpenHome/Net/Device/Bonjour/MdnsPlatform.cpp $(headers) +- $(compiler)MdnsPlatform.$(objext) -c $(cflags_third_party) $(includes) OpenHome/Net/Device/Bonjour/MdnsPlatform.cpp ++ $(compiler)MdnsPlatform.$(objext) -c $(cflags_third_party) $(cppflags) $(includes) OpenHome/Net/Device/Bonjour/MdnsPlatform.cpp + $(objdir)MdnsProvider.$(objext) : OpenHome/Net/Device/Bonjour/MdnsProvider.cpp $(headers) + $(compiler)MdnsProvider.$(objext) -c $(cppflags) $(includes) OpenHome/Net/Device/Bonjour/MdnsProvider.cpp + $(objdir)Md5.$(objext) : OpenHome/md5.c $(headers) + $(compiler)Md5.$(objext) -c $(cflags_third_party) $(includes) OpenHome/md5.c + $(objdir)NetworkAdapterList.$(objext) : OpenHome/NetworkAdapterList.cpp $(headers) + $(compiler)NetworkAdapterList.$(objext) -c $(cppflags) $(includes) OpenHome/NetworkAdapterList.cpp + $(objdir)DnsChangeNotifier.$(objext) : OpenHome/DnsChangeNotifier.cpp $(headers) + $(compiler)DnsChangeNotifier.$(objext) -c $(cppflags) $(includes) OpenHome/DnsChangeNotifier.cpp + $(objdir)Network.$(objext) : OpenHome/Network.cpp $(headers) + $(compiler)Network.$(objext) -c $(cppflags) $(includes) OpenHome/Network.cpp diff --git a/recipes/ohnet/all/patches/0001-makefile-1.37.5454.patch b/recipes/ohnet/all/patches/0001-makefile-1.37.5454.patch new file mode 100644 index 00000000000000..b180a57e2d4521 --- /dev/null +++ b/recipes/ohnet/all/patches/0001-makefile-1.37.5454.patch @@ -0,0 +1,336 @@ +diff --git a/Makefile b/Makefile +index 2f0cb07c..372a6765 100644 +--- a/Makefile ++++ b/Makefile +@@ -1,44 +1,44 @@ + #Makefile for linux + # Could be extended to support Mac in future + + rsync ?= yes + + ifeq ($(rsync),yes) + cp = rsync -u + else +-cp = cp -u ++cp = cp + endif + + ifeq ($(debug),1) + debug_specific_cflags = -g -O0 + debug_csharp = /define:DEBUG /debug+ + build_dir = Debug + openhome_configuration = Debug + android_ndk_debug = 1 + else + debug_specific_cflags = -g -O2 + debug_csharp = /optimize+ /debug:pdbonly + build_dir = Release + openhome_configuration = Release + android_ndk_debug=0 + endif + + + + # Figure out platform, openhome_system and openhome_architecture + +-gcc_machine = $(shell ${CROSS_COMPILE}gcc -dumpmachine) ++cc_machine = $(shell ${CROSS_COMPILE}$(CC) -dumpmachine) + MACHINE = $(shell uname -s) + + $(info CROSS_COMPILE: ${CROSS_COMPILE}) +-$(info Machine reported by compiler is: ${gcc_machine}) ++$(info Machine reported by compiler is: ${cc_machine}) + $(info Machine reported by uname is: ${MACHINE}) + $(info PLATFORM: ${PLATFORM}) + + ifeq ($(MACHINE),Darwin) + ifeq ($(iOs-arm64),1) + platform = iOS + detected_openhome_system = iOs + detected_openhome_architecture = arm64 + else ifeq ($(iOs-x64),1) + platform = iOS +@@ -50,88 +50,88 @@ ifeq ($(MACHINE),Darwin) + detected_openhome_architecture = rpi + else + platform = Mac + detected_openhome_system = Mac + ifeq ($(Mac-arm64),1) + detected_openhome_architecture = arm64 + else + detected_openhome_architecture = x64 + endif + endif +-else ifneq (, $(findstring powerpc, $(gcc_machine))) ++else ifneq (, $(findstring powerpc, $(cc_machine))) + platform = Core-ppc32 + detected_openhome_system = Core + detected_openhome_architecture = ppc32 + else ifeq ($(Android-anycpu), 1) + platform = Android + detected_openhome_system = Android + detected_openhome_architecture = anycpu + else ifeq ($(freebsd), 1) + platform = FreeBSD + detected_openhome_system = FreeBSD + detected_openhome_architecture = x86 +- compiler = gcc -o $(objdir) +- link = ${CROSS_COMPILE}g++ $(platform_linkflags) ++ compiler = $(CC) -o $(objdir) ++ link = ${CROSS_COMPILE}$(CXX) $(platform_linkflags) + ar = ${CROSS_COMPILE}ar rc $(objdir) + else ifneq (,$(findstring Linux-x86,${PLATFORM})) +- ifneq (,$(findstring x86_64,$(gcc_machine))) ++ ifneq (,$(findstring x86_64,$(cc_machine))) + platform = Vanilla + detected_openhome_system = Linux + detected_openhome_architecture = x86 + CFLAGS = -m32 + LDFLAGS = -m32 + endif + else + # At present, platform == Vanilla is used for Kirkwood, x86 and x64 Posix builds. + platform ?= Vanilla + ifneq (,$(findstring Qnap,$(platform))) + detected_openhome_system = Qnap +- else ifneq (,$(findstring linux,$(gcc_machine))) ++ else ifneq (,$(findstring linux,$(cc_machine))) + detected_openhome_system = Linux + endif +- ifneq (,$(findstring arm,$(gcc_machine))) +- ifneq (,$(findstring linux-gnueabihf,$(gcc_machine))) ++ ifneq (,$(findstring arm,$(cc_machine))) ++ ifneq (,$(findstring linux-gnueabihf,$(cc_machine))) + detected_openhome_architecture = armhf + else ifeq (${detected_openhome_system},Qnap) + detected_openhome_architecture = x19 + else + detected_openhome_architecture = armel + endif + endif +- ifneq (,$(findstring i686,$(gcc_machine))) ++ ifneq (,$(findstring i686,$(cc_machine))) + detected_openhome_architecture = x86 + endif +- ifneq (,$(findstring i586,$(gcc_machine))) ++ ifneq (,$(findstring i586,$(cc_machine))) + detected_openhome_architecture = x86 + endif +- ifneq (,$(findstring i486,$(gcc_machine))) ++ ifneq (,$(findstring i486,$(cc_machine))) + detected_openhome_architecture = x86 + endif +- ifneq (,$(findstring i386,$(gcc_machine))) ++ ifneq (,$(findstring i386,$(cc_machine))) + detected_openhome_architecture = x86 + endif +- ifneq (,$(findstring amd64,$(gcc_machine))) ++ ifneq (,$(findstring amd64,$(cc_machine))) + detected_openhome_architecture = x64 + endif +- ifneq (,$(findstring x86_64,$(gcc_machine))) ++ ifneq (,$(findstring x86_64,$(cc_machine))) + detected_openhome_architecture = x64 + endif +- ifneq (,$(findstring mipsel,$(gcc_machine))) ++ ifneq (,$(findstring mipsel,$(cc_machine))) + detected_openhome_architecture = mipsel + endif +- ifneq (,$(findstring mips,$(gcc_machine))) ++ ifneq (,$(findstring mips,$(cc_machine))) + detected_openhome_architecture = mipsel + endif +- ifneq (,$(findstring aarch64,$(gcc_machine))) ++ ifneq (,$(findstring aarch64,$(cc_machine))) + detected_openhome_architecture = arm64 + endif +- ifneq (,$(findstring riscv64,$(gcc_machine))) ++ ifneq (,$(findstring riscv64,$(cc_machine))) + detected_openhome_architecture = riscv64 + endif + endif + + detected_openhome_system ?= Unknown + detected_openhome_architecture ?= Unknown + + ifneq (${openhome_system},) + ifneq (${openhome_system},${detected_openhome_system}) + $(warning Detected compiler is for system ${detected_openhome_system} but expected ${openhome_system}. Build will probably fail.) +@@ -208,83 +208,89 @@ ifeq ($(platform),Mac) + openhome_architecture = x64 + else + # building for arm64 + platform_cflags = -DPLATFORM_MACOSX_GNU -arch arm64 -mmacosx-version-min=11 + platform_linkflags = -arch arm64 -framework CoreFoundation -framework SystemConfiguration -framework IOKit + osbuilddir = Mac-arm64 + openhome_architecture = arm64 + endif + + objdir = Build/Obj/$(osbuilddir)/$(build_dir)/ +- compiler = clang -fPIC -stdlib=libc++ -o $(objdir) ++ compiler = clang -fPIC -Qunused-arguments -stdlib=libc++ -o $(objdir) + link = clang++ -pthread -stdlib=libc++ $(platform_linkflags) + ar = ar rc $(objdir) + openhome_system = Mac + + dotnetRuntime = osx-x64 + endif + + ifeq ($(platform), Core-ppc32) + # platform == Core1 + openhome_system = Core + openhome_architecture = ppc32 + endian = BIG + platform_cflags = -mcpu=405 + platform_linkflags = -mcpu=405 ${CROSS_LINKFLAGS} + linkopts_ohNet = + osdir = Core + osbuilddir = Core-ppc32 + objdir = Build/Obj/$(osbuilddir)/$(build_dir)/ + native_only = yes +- compiler = ${CROSS_COMPILE}gcc -o $(objdir) +- link = ${CROSS_COMPILE}g++ $(platform_linkflags) ++ compiler = ${CROSS_COMPILE}$(CC) -o $(objdir) ++ link = ${CROSS_COMPILE}$(CXX) $(platform_linkflags) + ar = ${CROSS_COMPILE}ar rc $(objdir) + endif + + ifeq ($(platform), Core-armv6) + # platform == Core2 + openhome_system = Core + openhome_architecture = armv6 + endian = LITTLE + platform_cflags = -mcpu=arm926ej-s -Wno-psabi + platform_linkflags = -mcpu=arm926ej-s ${CROSS_LINKFLAGS} + linkopts_ohNet = + osdir = Core + osbuilddir = Core-armv6 + objdir = Build/Obj/$(osbuilddir)/$(build_dir)/ + native_only = yes +- compiler = ${CROSS_COMPILE}gcc -o $(objdir) +- link = ${CROSS_COMPILE}g++ $(platform_linkflags) ++ compiler = ${CROSS_COMPILE}$(CC) -o $(objdir) ++ link = ${CROSS_COMPILE}$(CXX) $(platform_linkflags) + ar = ${CROSS_COMPILE}ar rc $(objdir) + endif + + ifneq (,$(findstring $(platform),Vanilla Qnap-x86 Qnap-x19 Linux-ppc32)) + ifeq ($(gcc4_1), yes) + version_specific_cflags = ${CROSS_COMPILE_CFLAGS} + version_specific_cflags_third_party = -Wno-non-virtual-dtor + version_specific_java_cflags = -Wstrict-aliasing=0 + else +- gcc_min_ver = $(shell ${CROSS_COMPILE}gcc -dumpversion | cut -f2 -d'.') +- version_specific_cflags = $(shell if [ $(gcc_min_ver) -ge 6 ]; then echo '-Wno-psabi'; fi) ++ version_specific_cflags = ++ ifeq ($(CC), gcc) ++ gcc_min_ver = $(shell ${CROSS_COMPILE}gcc -dumpversion | cut -f2 -d'.') ++ gcc_ge_6 = $(shell if [ $(gcc_min_ver) -ge 6 ]; then echo 'yes'; fi) ++ ifeq ($(gcc_ge_6), yes) ++ version_specific_cflags = '-Wno-psabi' ++ endif ++ endif + version_specific_cflags += ${CROSS_COMPILE_CFLAGS} + version_specific_cflags_third_party = + version_specific_java_cflags = + endif + + version_specific_linkflags = ${CROSS_COMPILE_LINKFLAGS} + version_specific_library_path = ${CROSS_COMPILE_LIBRARY_PATH} + version_specific_includes = ${CROSS_COMPILE_INCLUDES} + + # Continuing with the non-Darwin settings... + objdir = Build/Obj/$(osdir)/$(build_dir)/ +- compiler = ${CROSS_COMPILE}gcc -o $(objdir) +- link = $(version_specific_library_path) ${CROSS_COMPILE}g++ $(platform_linkflags) ++ compiler = ${CROSS_COMPILE}$(CC) -o $(objdir) ++ link = $(version_specific_library_path) ${CROSS_COMPILE}$(CXX) $(platform_linkflags) + ar = $(version_specific_library_path) ${CROSS_COMPILE}ar rc $(objdir) + endif + + ifeq ($(platform), FreeBSD) + platform_cflags = $(version_specific_cflags) -fPIC -DPLATFORM_FREEBSD + platform_linkflags = $(version_specific_linkflags) -pthread + linkopts_ohNet = -Wl,-soname,libohNet.so + osbuilddir = Posix + objdir = Build/Obj/$(osbuilddir)/$(build_dir)/ + osdir = Posix +@@ -351,25 +357,25 @@ $(info Building for system ${openhome_system} and architecture ${openhome_archit + + + # Macros used by Common.mak + native_only ?= no + managed_only ?= no + no_shared_objects ?= no + endian ?= LITTLE + cflags_base = $(CFLAGS) -fexceptions -Wall $(version_specific_cflags_third_party) -pipe -D_GNU_SOURCE -D_REENTRANT -DDEFINE_$(endian)_ENDIAN -DDEFINE_TRACE $(debug_specific_cflags) -fvisibility=hidden $(platform_cflags) + cflags_third_party = $(cflags_base) -Wno-int-to-pointer-cast + ifeq ($(nocpp11), yes) +- cppflags = $(cflags_base) -Werror ++ cppflags = $(CPPFLAGS) $(cflags_base) -Werror + else ifeq ($(platform),Mac) +- cppflags = $(cflags_base) -std=c++11 -Werror ++ cppflags = $(CPPFLAGS) $(cflags_base) -std=c++11 -Werror + else +- cppflags = $(cflags_base) -std=c++0x -Werror ++ cppflags = $(CPPFLAGS) $(cflags_base) -std=c++0x -Werror + endif + cflags = $(cflags_base) -Werror + inc_build = Build/Include + includes = -IBuild/Include/ $(version_specific_includes) + bundle_build = Build/Bundles + mDNSdir = Build/mDNS + osdir ?= Posix + objext = o + libprefix = lib + libext = a +@@ -383,21 +389,21 @@ else + endif + exeext = elf + linkoutput = -o + dllprefix = lib + ifeq ($(platform), iOS) + link_dll = $(toolroot)/clang++ -pthread -shared -stdlib=libc++ $(platform_linkflags) + else ifeq ($(MACHINE), Darwin) + link_dll = $(version_specific_library_path) clang++ -pthread $(platform_linkflags) -shared -stdlib=libc++ + else + CROSS_COMPILE_LIBGCC ?= -shared-libgcc +- link_dll = $(version_specific_library_path) ${CROSS_COMPILE}g++ -pthread $(platform_linkflags) -shared ${CROSS_COMPILE_LIBGCC} ++ link_dll = $(version_specific_library_path) ${CROSS_COMPILE}$(CXX) -pthread $(platform_linkflags) -shared ${CROSS_COMPILE_LIBGCC} + endif + + csharp = mcs /nologo $(debug_csharp) + + csharpdefines ?= + publicjavadir = OpenHome/Net/Bindings/Java/ + + ifeq ($(platform), Mac) + platform_java_cflags = -Wno-self-assign + # arm64 builds need JAVA_HOME to be set because the Mac SDK for arm64 doesn't contain Java includes or dylibs +@@ -409,24 +415,24 @@ ifeq ($(platform), Mac) + link_jvm = ${MACOSX_SDK}/System/Library/Frameworks/JavaVM.framework/JavaVM + endif + javac = /usr/bin/javac + jar = /usr/bin/jar + else + platform_java_cflags = + includes_jni = -I$(JAVA_HOME)/include -I$(JAVA_HOME)/include/linux + ifeq ($(platform), Linux-ppc32) + libjvm_dir ?= $(JAVA_HOME)/jre/lib/ppc/server + else +- ifneq (,$(findstring arm,$(gcc_machine))) ++ ifneq (,$(findstring arm,$(cc_machine))) + libjvm_dir ?= $(JAVA_HOME)/jre/lib/arm/server + else +- ifneq (,$(findstring x64,$(gcc_machine))) ++ ifneq (,$(findstring x64,$(cc_machine))) + libjvm_dir ?= $(JAVA_HOME)/jre/lib/amd64/server + else + libjvm_dir ?= $(JAVA_HOME)/jre/lib/i386/server + endif + endif + endif + link_jvm = $(libjvm_dir)/libjvm.so + javac = $(JAVA_HOME)/bin/javac + jar = $(JAVA_HOME)/bin/jar + endif diff --git a/recipes/ohnet/all/test_package/conanfile.py b/recipes/ohnet/all/test_package/conanfile.py index a9fb96656f2039..08478d9835129d 100644 --- a/recipes/ohnet/all/test_package/conanfile.py +++ b/recipes/ohnet/all/test_package/conanfile.py @@ -9,6 +9,9 @@ class TestPackageConan(ConanFile): generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" test_type = "explicit" + def build_requirements(self): + self.tool_requires("cmake/[>3.23 <4]") + def requirements(self): self.requires(self.tested_reference_str) diff --git a/recipes/ohnet/config.yml b/recipes/ohnet/config.yml index e45e8eaf9a3464..89da0e20893244 100644 --- a/recipes/ohnet/config.yml +++ b/recipes/ohnet/config.yml @@ -3,3 +3,5 @@ versions: folder: all "1.36.5182": folder: all + "1.37.5454": + folder: all From e77835261f41dee817e6dfba06f449f338ca0de5 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 24 Jul 2024 01:13:03 +0900 Subject: [PATCH 057/132] (#24643) arrow: add version 17.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 e231222d586595..aa969400814819 100644 --- a/recipes/arrow/all/conandata.yml +++ b/recipes/arrow/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "17.0.0": + url: "https://www.apache.org/dyn/closer.lua/arrow/arrow-17.0.0/apache-arrow-17.0.0.tar.gz?action=download" + sha256: "9d280d8042e7cf526f8c28d170d93bfab65e50f94569f6a790982a878d8d898d" "16.1.0": url: "https://www.apache.org/dyn/closer.lua/arrow/arrow-16.1.0/apache-arrow-16.1.0.tar.gz?action=download" sha256: "c9e60c7e87e59383d21b20dc874b17153729ee153264af6d21654b7dff2c60d7" diff --git a/recipes/arrow/config.yml b/recipes/arrow/config.yml index 9ee5f53ad1cbe0..6d012719cd8e21 100644 --- a/recipes/arrow/config.yml +++ b/recipes/arrow/config.yml @@ -1,4 +1,6 @@ versions: + "17.0.0": + folder: all "16.1.0": folder: all "16.0.0": From 4f3d305b303c56e4c8537f620c6a9b4e6437783c Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 24 Jul 2024 02:13:17 +0900 Subject: [PATCH 058/132] (#24691) fast_float: add version 6.1.3 --- 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 a35ee1375a1993..ae2caf93865a3d 100644 --- a/recipes/fast_float/all/conandata.yml +++ b/recipes/fast_float/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "6.1.3": + url: "https://github.com/fastfloat/fast_float/archive/v6.1.3.tar.gz" + sha256: "7dd99cc2ff44e07dc2a42bed0c6b8c4a8ee4e3b1c330f77073b6cfdb48724c8e" "6.1.1": url: "https://github.com/fastfloat/fast_float/archive/v6.1.1.tar.gz" sha256: "10159a4a58ba95fe9389c3c97fe7de9a543622aa0dcc12dd9356d755e9a94cb4" diff --git a/recipes/fast_float/config.yml b/recipes/fast_float/config.yml index dbe55c83d4f493..308dbf81944072 100644 --- a/recipes/fast_float/config.yml +++ b/recipes/fast_float/config.yml @@ -1,4 +1,6 @@ versions: + "6.1.3": + folder: all "6.1.1": folder: all "6.1.0": From 91f01b12abcf7a4697d5755244e2cae901645d93 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 24 Jul 2024 17:51:37 +0900 Subject: [PATCH 059/132] (#24623) icu: add version 75.1 * icu: add version 75.1 * require C++17 in 75.1 * remove debug print * icu: remove old versions --------- Co-authored-by: Luis Caro Campos <3535649+jcar87@users.noreply.github.com> --- recipes/icu/all/conandata.yml | 35 +----- recipes/icu/all/conanfile.py | 29 ++++- .../icu/all/patches/0001-67.1-fix-mingw.patch | 37 ------ .../patches/0001-71.1-fix-emscripten.patch | 117 ------------------ .../0001-71.1-fix-undef-strict-ansi.patch | 18 --- recipes/icu/all/test_package/CMakeLists.txt | 6 +- recipes/icu/config.yml | 12 +- 7 files changed, 39 insertions(+), 215 deletions(-) delete mode 100644 recipes/icu/all/patches/0001-67.1-fix-mingw.patch delete mode 100644 recipes/icu/all/patches/0001-71.1-fix-emscripten.patch delete mode 100644 recipes/icu/all/patches/0001-71.1-fix-undef-strict-ansi.patch diff --git a/recipes/icu/all/conandata.yml b/recipes/icu/all/conandata.yml index 49d66d9be1d5a0..ffa121dbd1c685 100644 --- a/recipes/icu/all/conandata.yml +++ b/recipes/icu/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "75.1": + url: "https://github.com/unicode-org/icu/releases/download/release-75-1/icu4c-75_1-src.tgz" + sha256: "cb968df3e4d2e87e8b11c49a5d01c787bd13b9545280fc6642f826527618caef" "74.2": url: "https://github.com/unicode-org/icu/releases/download/release-74-2/icu4c-74_2-src.tgz" sha256: "68db082212a96d6f53e35d60f47d38b962e9f9d207a74cfac78029ae8ff5e08c" @@ -11,22 +14,9 @@ sources: "73.1": url: "https://github.com/unicode-org/icu/releases/download/release-73-1/icu4c-73_1-src.tgz" sha256: "a457431de164b4aa7eca00ed134d00dfbf88a77c6986a10ae7774fc076bb8c45" - "72.1": - url: "https://github.com/unicode-org/icu/releases/download/release-72-1/icu4c-72_1-src.tgz" - sha256: "a2d2d38217092a7ed56635e34467f92f976b370e20182ad325edea6681a71d68" - "71.1": - url: "https://github.com/unicode-org/icu/releases/download/release-71-1/icu4c-71_1-src.tgz" - sha256: "67a7e6e51f61faf1306b6935333e13b2c48abd8da6d2f46ce6adca24b1e21ebf" - "70.1": - url: "https://github.com/unicode-org/icu/releases/download/release-70-1/icu4c-70_1-src.tgz" - sha256: "8d205428c17bf13bb535300669ed28b338a157b1c01ae66d31d0d3e2d47c3fd5" - "69.1": - url: "https://github.com/unicode-org/icu/releases/download/release-69-1/icu4c-69_1-src.tgz" - sha256: "4cba7b7acd1d3c42c44bb0c14be6637098c7faf2b330ce876bc5f3b915d09745" - "68.2": - url: "https://github.com/unicode-org/icu/releases/download/release-68-2/icu4c-68_2-src.tgz" - sha256: "c79193dee3907a2199b8296a93b52c5cb74332c26f3d167269487680d479d625" patches: + "75.1": + - patch_file: "patches/0001-69.1-fix-mingw.patch" "74.2": - patch_file: "patches/0001-69.1-fix-mingw.patch" "74.1": @@ -35,18 +25,3 @@ patches: - patch_file: "patches/0001-69.1-fix-mingw.patch" "73.1": - patch_file: "patches/0001-69.1-fix-mingw.patch" - "72.1": - - patch_file: "patches/0001-69.1-fix-mingw.patch" - "71.1": - - patch_file: "patches/0001-69.1-fix-mingw.patch" - - patch_file: "patches/0001-71.1-fix-undef-strict-ansi.patch" - - patch_file: "patches/0001-71.1-fix-emscripten.patch" - patch_description: "Add config file for wasm-emscripten platform" - patch_type: "portability" - patch_source: "https://gerrit.libreoffice.org/c/core/+/111130/9/external/icu/icu4c-emscripten-cross.patch.1" - "70.1": - - patch_file: "patches/0001-69.1-fix-mingw.patch" - "69.1": - - patch_file: "patches/0001-69.1-fix-mingw.patch" - "68.2": - - patch_file: "patches/0001-67.1-fix-mingw.patch" diff --git a/recipes/icu/all/conanfile.py b/recipes/icu/all/conanfile.py index 56924b287ebfd1..2f4f7b8b725d0c 100644 --- a/recipes/icu/all/conanfile.py +++ b/recipes/icu/all/conanfile.py @@ -6,7 +6,7 @@ from conan import ConanFile from conan.errors import ConanInvalidConfiguration from conan.tools.apple import is_apple_os -from conan.tools.build import cross_building, stdcpp_library +from conan.tools.build import cross_building, stdcpp_library, check_min_cppstd from conan.tools.env import Environment, VirtualBuildEnv from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, mkdir, rename, replace_in_file, rm, rmdir, save from conan.tools.gnu import Autotools, AutotoolsToolchain @@ -46,6 +46,20 @@ class ICUConan(ConanFile): "with_extras": False, } + @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", + } + @property def _settings_build(self): return getattr(self, "settings_build", self.settings) @@ -76,6 +90,14 @@ def validate(self): if self.options.dat_package_file: if not os.path.exists(str(self.options.dat_package_file)): raise ConanInvalidConfiguration("Non-existent dat_package_file specified") + if Version(self.version) >= "75.1": + 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 layout(self): basic_layout(self, src_folder="src") @@ -155,7 +177,10 @@ def generate(self): if is_msvc(self): env = Environment() env.define("CC", "cl -nologo") - env.define("CXX", "cl -nologo") + if Version(self.version) < "75.1": + env.define("CXX", "cl -nologo") + else: + env.define("CXX", "cl -nologo -std:c++17") if cross_building(self): env.define("icu_cv_host_frag", "mh-msys-msvc") env.vars(self).save_script("conanbuild_icu_msvc") diff --git a/recipes/icu/all/patches/0001-67.1-fix-mingw.patch b/recipes/icu/all/patches/0001-67.1-fix-mingw.patch deleted file mode 100644 index 93f5bd7f9ab8af..00000000000000 --- a/recipes/icu/all/patches/0001-67.1-fix-mingw.patch +++ /dev/null @@ -1,37 +0,0 @@ ---- source/config/mh-mingw64 -+++ source/config/mh-mingw64 -@@ -94,7 +94,7 @@ - # This is also for backwards compatibility. - DATA_STUBNAME = dt - I18N_STUBNAME = in --LIBICU = $(STATIC_PREFIX_WHEN_USED)$(ICUPREFIX) -+#LIBICU = $(STATIC_PREFIX_WHEN_USED)$(ICUPREFIX) - - #SH### copied from Makefile.inc - #SH## for icu-config to test with -@@ -102,10 +102,10 @@ - #SH#ICULIBS_COMMON_LIB_NAME_A="${LIBICU}${COMMON_STUBNAME}${ICULIBSUFFIX}.${A}" - - #SH#ICULIBS_DATA="-l$(ICUPREFIX)$(DATA_STUBNAME)$(ICULIBSUFFIX)$(ICULIBSUFFIX_VERSION)" --ICULIBS_DT="-l$(ICUPREFIX)$(DATA_STUBNAME)$(ICULIBSUFFIX)$(ICULIBSUFFIX_VERSION)" --ICULIBS_I18N="-l$(ICUPREFIX)$(I18N_STUBNAME)$(ICULIBSUFFIX)$(ICULIBSUFFIX_VERSION)" --ICULIBS_IO="-l$(ICUPREFIX)$(IO_STUBNAME)$(ICULIBSUFFIX)$(ICULIBSUFFIX_VERSION)" --ICULIBS_UC="-l$(ICUPREFIX)$(COMMON_STUBNAME)$(ICULIBSUFFIX)$(ICULIBSUFFIX_VERSION)" -+#ICULIBS_DT="-l$(ICUPREFIX)$(DATA_STUBNAME)$(ICULIBSUFFIX)$(ICULIBSUFFIX_VERSION)" -+#ICULIBS_I18N="-l$(ICUPREFIX)$(I18N_STUBNAME)$(ICULIBSUFFIX)$(ICULIBSUFFIX_VERSION)" -+#ICULIBS_IO="-l$(ICUPREFIX)$(IO_STUBNAME)$(ICULIBSUFFIX)$(ICULIBSUFFIX_VERSION)" -+#ICULIBS_UC="-l$(ICUPREFIX)$(COMMON_STUBNAME)$(ICULIBSUFFIX)$(ICULIBSUFFIX_VERSION)" - #SH# - #SH## ICULIBS is the set of libraries your application should link - #SH## with usually. Many applications will want to add ${ICULIBS_I18N} as well. ---- source/data/Makefile.in -+++ source/data/Makefile.in -@@ -207,7 +207,7 @@ - ifneq ($(ICUDATA_SOURCE_IS_NATIVE_TARGET),YES) - # For MinGW, do we want the DLL to go in the bin location? - ifeq ($(MINGW_MOVEDLLSTOBINDIR),YES) -- $(PKGDATA_INVOKE) $(PKGDATA) -m $(PKGDATA_MODE) $(PKGDATA_VERSIONING) -e $(ICUDATA_ENTRY_POINT) -T $(OUTTMPDIR) -s $(BUILDDIR) -p $(ICUDATA_NAME) $(PKGDATA_LIBNAME) $(PKGDATA_LIST) -I $(DESTDIR)$(bindir) -+ $(PKGDATA_INVOKE) $(PKGDATA) -m $(PKGDATA_MODE) $(PKGDATA_VERSIONING) -e $(ICUDATA_ENTRY_POINT) -T $(OUTTMPDIR) -s $(BUILDDIR) -p $(ICUDATA_NAME) $(PKGDATA_LIBNAME) $(PKGDATA_LIST) -I $(ICUPKGDATA_INSTALL_DIR) - else - $(PKGDATA_INVOKE) $(PKGDATA) -m $(PKGDATA_MODE) $(PKGDATA_VERSIONING) -e $(ICUDATA_ENTRY_POINT) -T $(OUTTMPDIR) -s $(BUILDDIR) -p $(ICUDATA_NAME) $(PKGDATA_LIBNAME) $(PKGDATA_LIST) -I $(ICUPKGDATA_INSTALL_DIR) - endif diff --git a/recipes/icu/all/patches/0001-71.1-fix-emscripten.patch b/recipes/icu/all/patches/0001-71.1-fix-emscripten.patch deleted file mode 100644 index 5693ab70111d5f..00000000000000 --- a/recipes/icu/all/patches/0001-71.1-fix-emscripten.patch +++ /dev/null @@ -1,117 +0,0 @@ -diff --git a/source/acinclude.m4 b/source/acinclude.m4 -index 507f41f..2980ef1 100644 ---- a/source/acinclude.m4 -+++ b/source/acinclude.m4 -@@ -84,6 +84,7 @@ x86_64-*-cygwin) - *-dec-osf*) icu_cv_host_frag=mh-alpha-osf ;; - *-*-nto*) icu_cv_host_frag=mh-qnx ;; - *-ncr-*) icu_cv_host_frag=mh-mpras ;; -+wasm*-*-emscripten*) icu_cv_host_frag=mh-emscripten ;; - *) icu_cv_host_frag=mh-unknown ;; - esac - ] -diff --git a/source/config/mh-emscripten b/source/config/mh-emscripten -new file mode 100644 -index 0000000..ee2b90b ---- /dev/null -+++ b/source/config/mh-emscripten -@@ -0,0 +1,86 @@ -+## Emscripten-specific setup -+## Copyright (c) 1999-2013, International Business Machines Corporation and -+## others. All Rights Reserved. -+## Commands to generate dependency files -+GEN_DEPS.c= $(CC) -E -MM $(DEFS) $(CPPFLAGS) -+GEN_DEPS.cc= $(CXX) -E -MM $(DEFS) $(CPPFLAGS) $(CXXFLAGS) -+ -+## Flags for position independent code -+SHAREDLIBCFLAGS = -fPIC -+SHAREDLIBCXXFLAGS = -fPIC -+SHAREDLIBCPPFLAGS = -DPIC -+ -+## Additional flags when building libraries and with threads -+THREADSCPPFLAGS = -D_REENTRANT -+LIBCPPFLAGS = -+ -+## Compiler switch to embed a runtime search path -+LD_RPATH= -Wl,-zorigin,-rpath,'$$'ORIGIN -+LD_RPATH_PRE = -Wl,-rpath, -+ -+## Force RPATH=$ORIGIN to locate own dependencies w/o need for LD_LIBRARY_PATH: -+ENABLE_RPATH=YES -+RPATHLDFLAGS=${LD_RPATH_PRE}'$$ORIGIN' -+ -+## These are the library specific LDFLAGS -+#LDFLAGSICUDT=-nodefaultlibs -nostdlib -+# Debian change: linking icudata as data only causes too many problems. -+LDFLAGSICUDT= -+ -+## Compiler switch to embed a library name -+# The initial tab in the next line is to prevent icu-config from reading it. -+ LD_SONAME = -Wl,-soname -Wl,$(notdir $(MIDDLE_SO_TARGET)) -+#SH# # We can't depend on MIDDLE_SO_TARGET being set. -+#SH# LD_SONAME= -+ -+## Shared library options -+LD_SOOPTIONS= -Wl,-Bsymbolic-functions -+ -+## Shared object suffix -+SO = so -+## Non-shared intermediate object suffix -+STATIC_O = o -+ -+## Compilation rules -+# WASM needs -pthread for atomics support -+%.$(STATIC_O): $(srcdir)/%.c -+ $(call SILENT_COMPILE,$(strip $(COMPILE.c) $(STATICCPPFLAGS) $(STATICCFLAGS)) -pthread -o $@ $<) -+ -+%.$(STATIC_O): $(srcdir)/%.cpp -+ $(call SILENT_COMPILE,$(strip $(COMPILE.cc) $(STATICCPPFLAGS) $(STATICCXXFLAGS)) -pthread -o $@ $<) -+ -+ -+## Dependency rules -+%.d: $(srcdir)/%.c -+ $(call ICU_MSG,(deps)) $< -+ @$(SHELL) -ec '$(GEN_DEPS.c) $< \ -+ | sed '\''s%\($*\)\.o[ :]*%\1.o $@ : %g'\'' > $@; \ -+ [ -s $@ ] || rm -f $@' -+ -+%.d: $(srcdir)/%.cpp -+ $(call ICU_MSG,(deps)) $< -+ @$(SHELL) -ec '$(GEN_DEPS.cc) $< \ -+ | sed '\''s%\($*\)\.o[ :]*%\1.o $@ : %g'\'' > $@; \ -+ [ -s $@ ] || rm -f $@' -+ -+## Versioned libraries rules -+ -+%.$(SO).$(SO_TARGET_VERSION_MAJOR): %.$(SO).$(SO_TARGET_VERSION) -+ $(RM) $@ && ln -s ${ header unless __STRICT_ANSI__ is defined. --// __GNUC__ is set by both gcc and clang. --#undef __STRICT_ANSI__ --#endif -- - #include "locmap.h" - #include "unicode/ustdio.h" - diff --git a/recipes/icu/all/test_package/CMakeLists.txt b/recipes/icu/all/test_package/CMakeLists.txt index 4275c0782ed464..56b6a86f5e6537 100644 --- a/recipes/icu/all/test_package/CMakeLists.txt +++ b/recipes/icu/all/test_package/CMakeLists.txt @@ -5,4 +5,8 @@ find_package(ICU REQUIRED uc) add_executable(${PROJECT_NAME} test_package.cpp) target_link_libraries(${PROJECT_NAME} PRIVATE ICU::uc) -target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) +if(ICU_VERSION VERSION_LESS "75.1") + target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) +else() + target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) +endif() diff --git a/recipes/icu/config.yml b/recipes/icu/config.yml index bd6c5fcac524cb..a0d8cc252feddf 100644 --- a/recipes/icu/config.yml +++ b/recipes/icu/config.yml @@ -1,4 +1,6 @@ versions: + "75.1": + folder: all "74.2": folder: all "74.1": @@ -7,13 +9,3 @@ versions: folder: all "73.1": folder: all - "72.1": - folder: all - "71.1": - folder: all - "70.1": - folder: all - "69.1": - folder: all - "68.2": - folder: all From 29d11732fc87f2770886b0d2dd12d69c09b7a7c6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20Poirotte?= Date: Wed, 24 Jul 2024 11:53:18 +0200 Subject: [PATCH 060/132] (#24649) libxml2: fix include dirs in CMake config file If libxml2_INCLUDE_DIRS is defined, it should be used to set the variables related to the preprocessor's include directories, rather than the variables related to the linker. --- 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 ec0a90e4ddd032..eedbacc3e1c75b 100644 --- a/recipes/libxml2/all/conanfile.py +++ b/recipes/libxml2/all/conanfile.py @@ -346,8 +346,8 @@ def _create_cmake_module_variables(self, module_file): set(LIBXML2_INCLUDE_DIR ${{LibXml2_INCLUDE_DIRS}}) set(LIBXML2_INCLUDE_DIRS ${{LibXml2_INCLUDE_DIRS}}) elseif(DEFINED libxml2_INCLUDE_DIRS) - set(LIBXML2_LIBRARIES ${{libxml2_INCLUDE_DIRS}}) - set(LIBXML2_LIBRARY ${{libxml2_INCLUDE_DIRS}}) + set(LIBXML2_INCLUDE_DIR ${{libxml2_INCLUDE_DIRS}}) + set(LIBXML2_INCLUDE_DIRS ${{libxml2_INCLUDE_DIRS}}) endif() if(DEFINED LibXml2_LIBRARIES) set(LIBXML2_LIBRARIES ${{LibXml2_LIBRARIES}}) From 368671f06f8703b34fc52b6c5bd9a03990a34eb9 Mon Sep 17 00:00:00 2001 From: Luis Caro Campos <3535649+jcar87@users.noreply.github.com> Date: Wed, 24 Jul 2024 11:21:02 +0100 Subject: [PATCH 061/132] (#24697) yaml linter: patch description is optional --- linter/conandata_yaml_linter.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/linter/conandata_yaml_linter.py b/linter/conandata_yaml_linter.py index a946b4b5f2ecd6..ac9cc25487e7af 100644 --- a/linter/conandata_yaml_linter.py +++ b/linter/conandata_yaml_linter.py @@ -31,7 +31,7 @@ def main(): patch_fields = MapCombined( { "patch_file": Str(), - "patch_description": Str(), + Optional("patch_description"): Str(), Optional("patch_type"): Enum( ["official", "conan", "portability", "bugfix", "vulnerability"] ), From def29a3c9ba0bffc74160012a11fa787442a00d9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Abril=20Rinc=C3=B3n=20Blanco?= Date: Wed, 24 Jul 2024 12:42:35 +0200 Subject: [PATCH 062/132] (#24687) libigl: Allow armv8 from 2.4.0 onwards * Allow armv8 from 2.4.0 onwards * Remove conan 1 check, debug will cause issues regardless of version --- recipes/libigl/all/conanfile.py | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/recipes/libigl/all/conanfile.py b/recipes/libigl/all/conanfile.py index 354d3819dc46d4..232115da3d96e5 100644 --- a/recipes/libigl/all/conanfile.py +++ b/recipes/libigl/all/conanfile.py @@ -1,6 +1,6 @@ import os -from conan import ConanFile, conan_version +from conan import ConanFile from conan.errors import ConanInvalidConfiguration, ConanException from conan.tools.build import check_min_cppstd from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout @@ -9,7 +9,7 @@ from conan.tools.microsoft import is_msvc_static_runtime from conan.tools.scm import Version -required_conan_version = ">=1.52.0" +required_conan_version = ">=1.53.0" class LibiglConan(ConanFile): @@ -78,15 +78,19 @@ def package_id(self): if self.info.options.header_only: self.info.clear() + def validate_build(self): + if (os.getenv('CONAN_CENTER_BUILD_SERVICE') is not None and + Version(self.version) == "2.3.0" and self.settings.build_type == "Debug"): + raise ConanInvalidConfiguration("Debug build disabled from building in CCI due to excessive memory use in ConanCenter CI") + def validate(self): - if "arm" in self.settings.arch or self.settings.arch == "x86": - raise ConanInvalidConfiguration(f"Not available for arm. Requested arch: {self.settings.arch}") + if Version(self.version) < "2.4.0" and "arm" in self.settings.arch: + raise ConanInvalidConfiguration(f"Old versions of this library do not support {self.settings.arch} architecture") + if self.settings.arch == "x86": + raise ConanInvalidConfiguration(f"Architecture {self.settings.arch} is not supported") if is_msvc_static_runtime(self) and not self.options.header_only: raise ConanInvalidConfiguration("Visual Studio build with MT runtime is not supported") - if self.version == "2.3.0" and conan_version.major == 1 and self.settings.build_type == "Debug": - raise ConanInvalidConfiguration("Debug build disabled for Conan 1.x due to excessive memory use in ConanCenter CI") - def loose_lt_semver(v1, v2): return all(int(p1) < int(p2) for p1, p2 in zip(str(v1).split("."), str(v2).split("."))) From f351d7b25739e8fc53c1f0d7575256d18172c6b4 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 24 Jul 2024 20:10:53 +0900 Subject: [PATCH 063/132] (#24540) modern-cpp-kafka: add version 2024.07.03 --- recipes/modern-cpp-kafka/all/conandata.yml | 3 +++ recipes/modern-cpp-kafka/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/modern-cpp-kafka/all/conandata.yml b/recipes/modern-cpp-kafka/all/conandata.yml index 11b37a50dbe819..9477b5d2f991b2 100644 --- a/recipes/modern-cpp-kafka/all/conandata.yml +++ b/recipes/modern-cpp-kafka/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2024.07.03": + url: "https://github.com/morganstanley/modern-cpp-kafka/archive/v2024.07.03.tar.gz" + sha256: "06b89b5f2757d2107761d65869b98c3ec71e3c8c7e2cb2ab49277f3272044f02" "2023.03.07": url: "https://github.com/morganstanley/modern-cpp-kafka/archive/v2023.03.07.tar.gz" sha256: "4685527a9768d44ed769ec6e502c3edde0b5cf4d341d8f9b476474955c61bba4" diff --git a/recipes/modern-cpp-kafka/config.yml b/recipes/modern-cpp-kafka/config.yml index a01e300c4e30c9..0f76703e92e08a 100644 --- a/recipes/modern-cpp-kafka/config.yml +++ b/recipes/modern-cpp-kafka/config.yml @@ -1,4 +1,6 @@ versions: + "2024.07.03": + folder: all "2023.03.07": folder: all "2023.01.05": From fc74ab11e28e80f2278f76cd980718bf07104a54 Mon Sep 17 00:00:00 2001 From: Jens Carl Date: Wed, 24 Jul 2024 04:33:19 -0700 Subject: [PATCH 064/132] (#24646) cmake: add version 3.29.7 --- 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 cddf4c7d973c99..c1ea2906cfbd40 100644 --- a/recipes/cmake/binary/conandata.yml +++ b/recipes/cmake/binary/conandata.yml @@ -18,6 +18,25 @@ sources: x86_64: url: "https://cmake.org/files/v3.30/cmake-3.30.0-windows-x86_64.zip" sha256: "f8d2da0eaf3bab9cf065e97bd6d8e1819886f8671d3d4c7bb93cb774123fa448" + "3.29.7": + Linux: + armv8: + url: "https://cmake.org/files/v3.29/cmake-3.29.7-linux-aarch64.tar.gz" + sha256: "ee8cf1ceaef011578ec070c13471c4b26e87f065315155e11177063b0743da68" + x86_64: + url: "https://cmake.org/files/v3.29/cmake-3.29.7-linux-x86_64.tar.gz" + sha256: "fb0837495a3a1d044f5101d0a76d294c825ff85c10a32c42d7167604278344f7" + Macos: + universal: + url: "https://cmake.org/files/v3.29/cmake-3.29.7-macos10.10-universal.tar.gz" + sha256: "3a148e37bf57c419e40817d6208916a33eff8c1757b0947d9991eca902916559" + Windows: + armv8: + url: "https://cmake.org/files/v3.29/cmake-3.29.7-windows-arm64.zip" + sha256: "ae87f2ff173deeb3ae8891d31c8f92ebabab8a4c29a074c5c5d39b38dde706d2" + x86_64: + url: "https://cmake.org/files/v3.29/cmake-3.29.7-windows-x86_64.zip" + sha256: "3d9580b54faa0651f4cb0bccdff222bd123366b35a8b1051ee33a64915384ee4" "3.29.6": Linux: armv8: diff --git a/recipes/cmake/config.yml b/recipes/cmake/config.yml index 762b68a2142aaa..a9ad50f6f92b67 100644 --- a/recipes/cmake/config.yml +++ b/recipes/cmake/config.yml @@ -1,6 +1,8 @@ versions: "3.30.0": folder: "binary" + "3.29.7": + folder: "binary" "3.29.6": folder: "binary" "3.29.5": From eacd03fb011501cfa220ecf33ec5ab51e4418baa Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 24 Jul 2024 20:53:04 +0900 Subject: [PATCH 065/132] (#24656) argparse: add version 3.1 --- recipes/argparse/all/conandata.yml | 3 +++ recipes/argparse/all/conanfile.py | 7 +++---- recipes/argparse/config.yml | 2 ++ 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/recipes/argparse/all/conandata.yml b/recipes/argparse/all/conandata.yml index 719dc54ae5a72f..db1ee3caae6a82 100644 --- a/recipes/argparse/all/conandata.yml +++ b/recipes/argparse/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.1": + url: "https://github.com/p-ranav/argparse/archive/v3.1.tar.gz" + sha256: "d01733552ca4a18ab501ae8b8be878131baa32e89090fafdeef018ebfa4c6e46" "3.0": url: "https://github.com/p-ranav/argparse/archive/v3.0.tar.gz" sha256: "ba7b465759bb01069d57302855eaf4d1f7d677f21ad7b0b00b92939645c30f47" diff --git a/recipes/argparse/all/conanfile.py b/recipes/argparse/all/conanfile.py index 11300088df46eb..cae941dd0cc897 100644 --- a/recipes/argparse/all/conanfile.py +++ b/recipes/argparse/all/conanfile.py @@ -75,12 +75,11 @@ def package(self): copy(self, "*.hpp", src=os.path.join(self.source_folder, "include"), dst=include_dst) def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] + self.cpp_info.set_property("cmake_file_name", "argparse") self.cpp_info.set_property("cmake_target_name", "argparse::argparse") self.cpp_info.set_property("pkg_config_name", "argparse") if Version(self.version) <= "2.1": self.cpp_info.includedirs.append(os.path.join("include", "argparse")) - self.cpp_info.bindirs = [] - self.cpp_info.frameworkdirs = [] - self.cpp_info.libdirs = [] - self.cpp_info.resdirs = [] diff --git a/recipes/argparse/config.yml b/recipes/argparse/config.yml index fef29e0dad433f..7a2d6d99b91e4c 100644 --- a/recipes/argparse/config.yml +++ b/recipes/argparse/config.yml @@ -1,4 +1,6 @@ versions: + "3.1": + folder: all "3.0": folder: all "2.9": From 76eff938d57fd449825c20dcef186bff240f7452 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 24 Jul 2024 21:52:06 +0900 Subject: [PATCH 066/132] (#24498) glaze: add version 2.9.5 * glaze: add version 2.9.4 * update 2.9.5 * support msvc --- recipes/glaze/all/conandata.yml | 3 +++ recipes/glaze/all/conanfile.py | 3 +++ recipes/glaze/config.yml | 2 ++ 3 files changed, 8 insertions(+) diff --git a/recipes/glaze/all/conandata.yml b/recipes/glaze/all/conandata.yml index cec95d7e33d7ee..72803e3d4aa14c 100644 --- a/recipes/glaze/all/conandata.yml +++ b/recipes/glaze/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.9.5": + url: "https://github.com/stephenberry/glaze/archive/v2.9.5.tar.gz" + sha256: "67fda0fb0cc701451c261bb1e0c94d63bafaaba13390527521e02a034eff085e" "2.9.2": url: "https://github.com/stephenberry/glaze/archive/v2.9.2.tar.gz" sha256: "8dec57645517cd89631d965ad13888e49ccdb3c037a6bb099fcabadfb093d4fe" diff --git a/recipes/glaze/all/conanfile.py b/recipes/glaze/all/conanfile.py index 85bb474d8c75b5..89e8119810b9ef 100644 --- a/recipes/glaze/all/conanfile.py +++ b/recipes/glaze/all/conanfile.py @@ -4,6 +4,7 @@ from conan.tools.build import check_min_cppstd from conan.tools.scm import Version from conan.tools.layout import basic_layout +from conan.tools.microsoft import is_msvc import os required_conan_version = ">=1.51.1" @@ -69,3 +70,5 @@ def package(self): def package_info(self): self.cpp_info.bindirs = [] self.cpp_info.libdirs = [] + if is_msvc(self): + self.cpp_info.cxxflags.append("/Zc:preprocessor") diff --git a/recipes/glaze/config.yml b/recipes/glaze/config.yml index 38ee5a2a97729c..083004c9db1974 100644 --- a/recipes/glaze/config.yml +++ b/recipes/glaze/config.yml @@ -1,4 +1,6 @@ versions: + "2.9.5": + folder: all "2.9.2": folder: all "2.9.0": From 3eb7cbd6eed20e830fbc0dd6a317f48ddbbbc230 Mon Sep 17 00:00:00 2001 From: NukeBird <32956315+NukeBird@users.noreply.github.com> Date: Wed, 24 Jul 2024 16:13:23 +0300 Subject: [PATCH 067/132] (#24621) flecs: add 4.0.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * flecs: add 3.2.11 * flecs: add 4.0.0 * Fix test code for new versions * Fix Conan 1 * Remove test v1 * Add missing package_type attribute --------- Co-authored-by: Rubén Rincón Blanco --- recipes/flecs/all/conandata.yml | 3 +++ recipes/flecs/all/conanfile.py | 2 ++ recipes/flecs/all/test_package/conanfile.py | 10 ++++++++-- recipes/flecs/all/test_package/test_package.c | 5 ++++- .../flecs/all/test_v1_package/CMakeLists.txt | 8 -------- recipes/flecs/all/test_v1_package/conanfile.py | 17 ----------------- recipes/flecs/config.yml | 2 ++ 7 files changed, 19 insertions(+), 28 deletions(-) delete mode 100644 recipes/flecs/all/test_v1_package/CMakeLists.txt delete mode 100644 recipes/flecs/all/test_v1_package/conanfile.py diff --git a/recipes/flecs/all/conandata.yml b/recipes/flecs/all/conandata.yml index 3094ffc04d0612..5e77688b77f2b9 100644 --- a/recipes/flecs/all/conandata.yml +++ b/recipes/flecs/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "4.0.0": + url: "https://github.com/SanderMertens/flecs/archive/refs/tags/v4.0.0.tar.gz" + sha256: "6c9826c8602f797acd775269d143763adfb3d3a93031cc81bced2b6d267469d2" "3.2.11": url: "https://github.com/SanderMertens/flecs/archive/refs/tags/v3.2.11.tar.gz" sha256: "8ebc5f6f3ec7bbba30b0afe9d22f157437925772857ea1c6e4201eb5d31b4fe5" diff --git a/recipes/flecs/all/conanfile.py b/recipes/flecs/all/conanfile.py index b4d76faa5ed41b..772d3a2cb6618e 100644 --- a/recipes/flecs/all/conanfile.py +++ b/recipes/flecs/all/conanfile.py @@ -17,6 +17,7 @@ class FlecsConan(ConanFile): homepage = "https://github.com/SanderMertens/flecs" url = "https://github.com/conan-io/conan-center-index" + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -53,6 +54,7 @@ def generate(self): else: tc.variables["FLECS_STATIC"] = not self.options.shared tc.variables["FLECS_SHARED"] = self.options.shared + tc.variables["FLECS_TESTS"] = False tc.variables["FLECS_PIC"] = self.options.get_safe("fPIC", True) tc.generate() diff --git a/recipes/flecs/all/test_package/conanfile.py b/recipes/flecs/all/test_package/conanfile.py index 0a6bc68712d901..1a364276dd853f 100644 --- a/recipes/flecs/all/test_package/conanfile.py +++ b/recipes/flecs/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, cmake_layout, 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 +15,12 @@ def layout(self): def requirements(self): self.requires(self.tested_reference_str) + def generate(self): + tc = CMakeToolchain(self) + if self.dependencies[self.tested_reference_str].ref.version < "4.0.0": + tc.preprocessor_definitions["LESS_VERSION_4"] = "1" + tc.generate() + def build(self): cmake = CMake(self) cmake.configure() diff --git a/recipes/flecs/all/test_package/test_package.c b/recipes/flecs/all/test_package/test_package.c index 6b277544863dbf..9a75f507a8f98e 100644 --- a/recipes/flecs/all/test_package/test_package.c +++ b/recipes/flecs/all/test_package/test_package.c @@ -11,8 +11,11 @@ int main() { ecs_world_t *world = ecs_init(); ECS_COMPONENT(world, Position); - +#ifdef LESS_VERSION_4 ecs_entity_t e = ecs_new_id(world); +#else + ecs_entity_t e = ecs_new(world); +#endif ecs_set(world, e, Position, {10.0f, 20.0f}); const char *name = ecs_get_name(world, e); diff --git a/recipes/flecs/all/test_v1_package/CMakeLists.txt b/recipes/flecs/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68b..00000000000000 --- a/recipes/flecs/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/flecs/all/test_v1_package/conanfile.py b/recipes/flecs/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47f..00000000000000 --- a/recipes/flecs/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) diff --git a/recipes/flecs/config.yml b/recipes/flecs/config.yml index 3122441aef13c8..c8dc8eaef31be4 100644 --- a/recipes/flecs/config.yml +++ b/recipes/flecs/config.yml @@ -1,4 +1,6 @@ versions: + "4.0.0": + folder: all "3.2.11": folder: all "3.2.8": From 2b2130eb1cd69de36bc5b9c42e8bbcf0e055c516 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 24 Jul 2024 23:13:17 +0900 Subject: [PATCH 068/132] (#24654) itlib: add version 1.11.1 * itlib: add version 1.11.0 * update 1.11.1 --- 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 4f1d604b9b789a..3ed398c5a2d7b0 100644 --- a/recipes/itlib/all/conandata.yml +++ b/recipes/itlib/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.11.1": + url: "https://github.com/iboB/itlib/archive/v1.11.1.tar.gz" + sha256: "2c60e02660ea63dfb7a39237e29b30a066670cef228d22e8d0908e1fff2fa7f1" "1.10.3": url: "https://github.com/iboB/itlib/archive/v1.10.3.tar.gz" sha256: "e533c44354d48b2251ca57f1502778033b38170d9d6aba6bb2bbad90f2bf9d27" diff --git a/recipes/itlib/config.yml b/recipes/itlib/config.yml index 09616d2e081cf7..63c4029aead7b5 100644 --- a/recipes/itlib/config.yml +++ b/recipes/itlib/config.yml @@ -1,4 +1,6 @@ versions: + "1.11.1": + folder: all "1.10.3": folder: all "1.10.0": From b00143402dc507613be284f8abbf798a745f7585 Mon Sep 17 00:00:00 2001 From: Vladimir Bieleny Date: Wed, 24 Jul 2024 16:32:55 +0200 Subject: [PATCH 069/132] (#24662) rectanglebinpack: add cci.20230923 --- recipes/rectanglebinpack/all/conandata.yml | 3 +++ recipes/rectanglebinpack/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/rectanglebinpack/all/conandata.yml b/recipes/rectanglebinpack/all/conandata.yml index e93b6ba1b60128..d50cf8d87d51a6 100644 --- a/recipes/rectanglebinpack/all/conandata.yml +++ b/recipes/rectanglebinpack/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "cci.20230923": + - url: "https://github.com/juj/RectangleBinPack/archive/83e7e1132d93777e3732dfaae26b0f3703be2036.zip" + sha256: "ec8f20227fc79467cf7c5b5656e3e520712ee446fb9e449d42e1e5b4565f6bdc" "cci.20210901": - url: "https://github.com/juj/RectangleBinPack/archive/a40fcaf3871da57b0f6a080655b3387374840877.zip" sha256: "88cec105ca8d90d09e9e81f9862caa0cc1cdb851560fb701555eb58b29515748" diff --git a/recipes/rectanglebinpack/config.yml b/recipes/rectanglebinpack/config.yml index 610b8f5b3b81f2..b499d3b7e32dce 100644 --- a/recipes/rectanglebinpack/config.yml +++ b/recipes/rectanglebinpack/config.yml @@ -1,3 +1,5 @@ versions: + "cci.20230923": + folder: "all" "cci.20210901": folder: "all" From 6651e081162fa995bf6c5ca873bbb6554f920fc8 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Wed, 24 Jul 2024 18:06:06 +0300 Subject: [PATCH 070/132] (#22046) xorg-proto: add v2024.1 * xorg-proto: add v2023.2 * xorg-proto: bump to v2024.1 * xorg-proto: use self.info.clear() for package_id() To fix the "missing binaries" issues on Conan v1. --- recipes/xorg-proto/all/conandata.yml | 3 +++ recipes/xorg-proto/all/conanfile.py | 5 +---- recipes/xorg-proto/config.yml | 2 ++ 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/recipes/xorg-proto/all/conandata.yml b/recipes/xorg-proto/all/conandata.yml index a78c2d2c2da43d..31aa3213469999 100644 --- a/recipes/xorg-proto/all/conandata.yml +++ b/recipes/xorg-proto/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2024.1": + url: "https://www.x.org/releases/individual/proto/xorgproto-2024.1.tar.gz" + sha256: "4f6b9b4faf91e5df8265b71843a91fc73dc895be6210c84117a996545df296ce" "2022.2": url: "https://www.x.org/releases/individual/proto/xorgproto-2022.2.tar.gz" sha256: "da351a403d07a7006d7bdc8dcfc14ddc1b588b38fb81adab9989a8eef605757b" diff --git a/recipes/xorg-proto/all/conanfile.py b/recipes/xorg-proto/all/conanfile.py index f20cc54f7acb5e..b6a780899bca57 100644 --- a/recipes/xorg-proto/all/conanfile.py +++ b/recipes/xorg-proto/all/conanfile.py @@ -45,10 +45,7 @@ def requirements(self): self.requires("xorg-macros/1.19.3") def package_id(self): - # self.info.clear() would be fine too, but keep the os to add c3i test coverage for Windows. - del self.info.settings.arch - del self.info.settings.build_type - del self.info.settings.compiler + self.info.clear() def export_sources(self): export_conandata_patches(self) diff --git a/recipes/xorg-proto/config.yml b/recipes/xorg-proto/config.yml index 2928e57dc1b28f..0af5118e3b73a0 100644 --- a/recipes/xorg-proto/config.yml +++ b/recipes/xorg-proto/config.yml @@ -1,4 +1,6 @@ versions: + "2024.1": + folder: "all" "2022.2": folder: "all" "2021.4": From 0cc9dd2230ba3572679bce468752fd5bca9f5ef5 Mon Sep 17 00:00:00 2001 From: Tobias Ribizel Date: Wed, 24 Jul 2024 17:30:57 +0200 Subject: [PATCH 071/132] (#24491) ginkgo: add version 1.8.0 * [ginkgo] add version 1.8.0 * [ginkgo] remove MSVC 2019 support * [ginkgo] push version requirements further * [ginkgo] fix linking issues Part of the CMake configuration wasn't properly represented previously --- recipes/ginkgo/all/conandata.yml | 3 + recipes/ginkgo/all/conanfile.py | 96 ++++++++++++++++++++++---------- recipes/ginkgo/config.yml | 2 + 3 files changed, 73 insertions(+), 28 deletions(-) diff --git a/recipes/ginkgo/all/conandata.yml b/recipes/ginkgo/all/conandata.yml index 8927c006e472b3..471710d33e7c93 100644 --- a/recipes/ginkgo/all/conandata.yml +++ b/recipes/ginkgo/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.8.0": + url: "https://github.com/ginkgo-project/ginkgo/archive/v1.8.0.tar.gz" + sha256: "421efaed1be2ef11d230b79fc68bcf7e264a2c57ae52aff6dec7bd90f8d4ae30" "1.7.0": url: "https://github.com/ginkgo-project/ginkgo/archive/v1.7.0.tar.gz" sha256: "f4b362bcb046bc53fbe2e578662b939222d0c44b96449101829e73ecce02bcb3" diff --git a/recipes/ginkgo/all/conanfile.py b/recipes/ginkgo/all/conanfile.py index 89bbd2a608d1e1..9eb411b3e51867 100644 --- a/recipes/ginkgo/all/conanfile.py +++ b/recipes/ginkgo/all/conanfile.py @@ -2,7 +2,13 @@ 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, rmdir +from conan.tools.files import ( + apply_conandata_patches, + copy, + export_conandata_patches, + get, + rmdir, +) from conan.tools.microsoft import is_msvc, is_msvc_static_runtime from conan.tools.scm import Version import os @@ -43,7 +49,7 @@ def _min_cppstd(self): def _minimum_compilers_version(self): return { "Visual Studio": "16", - "msvc": "192", + "msvc": "193", "gcc": "5.4", "clang": "3.9", "apple-clang": "10.0", @@ -126,7 +132,12 @@ 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", + 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")) @@ -139,56 +150,85 @@ def package_info(self): debug_suffix = "d" if self.settings.build_type == "Debug" else "" has_dpcpp_device = Version(self.version) >= "1.4.0" + # Shared MSVC builds ues a separate library for part of Ginkgo since 1.8.0 + has_config_library = Version(self.version) >= "1.8.0" and self.options.shared and self.settings.os == "Windows" - self.cpp_info.components["ginkgo_core"].set_property("cmake_target_name", "Ginkgo::ginkgo") - self.cpp_info.components["ginkgo_core"].set_property("pkg_config_name", "ginkgo") - self.cpp_info.components["ginkgo_core"].libs = [ - "ginkgo" + debug_suffix] + self.cpp_info.components["ginkgo_core"].set_property( + "cmake_target_name", "Ginkgo::ginkgo" + ) + self.cpp_info.components["ginkgo_core"].set_property( + "pkg_config_name", "ginkgo" + ) + self.cpp_info.components["ginkgo_core"].libs = ["ginkgo" + debug_suffix] self.cpp_info.components["ginkgo_core"].requires = [ - "ginkgo_omp", "ginkgo_cuda", "ginkgo_reference", "ginkgo_hip" + "ginkgo_omp", + "ginkgo_cuda", + "ginkgo_reference", + "ginkgo_hip", ] - self.cpp_info.components["ginkgo_cuda"].set_property("cmake_target_name", "Ginkgo::ginkgo_cuda") - self.cpp_info.components["ginkgo_cuda"].libs = [ - "ginkgo_cuda" + debug_suffix] + self.cpp_info.components["ginkgo_cuda"].set_property( + "cmake_target_name", "Ginkgo::ginkgo_cuda" + ) + self.cpp_info.components["ginkgo_cuda"].libs = ["ginkgo_cuda" + debug_suffix] self.cpp_info.components["ginkgo_cuda"].requires = ["ginkgo_hip"] - self.cpp_info.components["ginkgo_omp"].set_property("cmake_target_name", "Ginkgo::ginkgo_omp") - self.cpp_info.components["ginkgo_omp"].libs = [ - "ginkgo_omp" + debug_suffix] - self.cpp_info.components["ginkgo_omp"].requires = [ - "ginkgo_cuda", "ginkgo_hip"] + self.cpp_info.components["ginkgo_omp"].set_property( + "cmake_target_name", "Ginkgo::ginkgo_omp" + ) + self.cpp_info.components["ginkgo_omp"].libs = ["ginkgo_omp" + debug_suffix] + self.cpp_info.components["ginkgo_omp"].requires = ["ginkgo_cuda", "ginkgo_hip"] - self.cpp_info.components["ginkgo_hip"].set_property("cmake_target_name", "Ginkgo::ginkgo_hip") - self.cpp_info.components["ginkgo_hip"].libs = [ - "ginkgo_hip" + debug_suffix] + self.cpp_info.components["ginkgo_hip"].set_property( + "cmake_target_name", "Ginkgo::ginkgo_hip" + ) + self.cpp_info.components["ginkgo_hip"].libs = ["ginkgo_hip" + debug_suffix] - self.cpp_info.components["ginkgo_reference"].set_property("cmake_target_name", "Ginkgo::ginkgo_reference") + self.cpp_info.components["ginkgo_reference"].set_property( + "cmake_target_name", "Ginkgo::ginkgo_reference" + ) self.cpp_info.components["ginkgo_reference"].libs = [ - "ginkgo_reference" + debug_suffix] + "ginkgo_reference" + debug_suffix + ] - if has_dpcpp_device: # Always add these components + if has_dpcpp_device: # Always add these components # See https://github.com/conan-io/conan-center-index/pull/7044#discussion_r698181588 self.cpp_info.components["ginkgo_core"].requires += ["ginkgo_dpcpp"] self.cpp_info.components["ginkgo_core"].requires += ["ginkgo_device"] - self.cpp_info.components["ginkgo_dpcpp"].set_property("cmake_target_name", "Ginkgo::ginkgo_dpcpp") + self.cpp_info.components["ginkgo_dpcpp"].set_property( + "cmake_target_name", "Ginkgo::ginkgo_dpcpp" + ) self.cpp_info.components["ginkgo_dpcpp"].libs = [ - "ginkgo_dpcpp" + debug_suffix] + "ginkgo_dpcpp" + debug_suffix + ] - self.cpp_info.components["ginkgo_device"].set_property("cmake_target_name", "Ginkgo::ginkgo_device") + self.cpp_info.components["ginkgo_device"].set_property( + "cmake_target_name", "Ginkgo::ginkgo_device" + ) self.cpp_info.components["ginkgo_device"].libs = [ - "ginkgo_device" + debug_suffix] + "ginkgo_device" + debug_suffix + ] self.cpp_info.components["ginkgo_omp"].requires += [ - "ginkgo_dpcpp", "ginkgo_device"] + "ginkgo_dpcpp", + "ginkgo_device", + ] self.cpp_info.components["ginkgo_reference"].requires += ["ginkgo_device"] self.cpp_info.components["ginkgo_hip"].requires += ["ginkgo_device"] self.cpp_info.components["ginkgo_cuda"].requires += ["ginkgo_device"] self.cpp_info.components["ginkgo_dpcpp"].requires += ["ginkgo_device"] + + if has_config_library: + self.cpp_info.components["ginkgo_core"].requires += ["ginkgo_config"] + + self.cpp_info.components["ginkgo_config"].set_property("cmake_target_name", "Ginkgo::ginkgo_core") + self.cpp_info.components["ginkgo_config"].libs = ["ginkgo_core" + debug_suffix] # TODO: to remove in conan v2 once cmake_find_package* generators removed self.cpp_info.names["cmake_find_package"] = "Ginkgo" self.cpp_info.names["cmake_find_package_multi"] = "Ginkgo" self.cpp_info.components["ginkgo_core"].names["cmake_find_package"] = "ginkgo" - self.cpp_info.components["ginkgo_core"].names["cmake_find_package_multi"] = "ginkgo" + self.cpp_info.components["ginkgo_core"].names[ + "cmake_find_package_multi" + ] = "ginkgo" diff --git a/recipes/ginkgo/config.yml b/recipes/ginkgo/config.yml index 4283c517286f9a..ae161414565801 100644 --- a/recipes/ginkgo/config.yml +++ b/recipes/ginkgo/config.yml @@ -1,4 +1,6 @@ versions: + "1.8.0": + folder: all "1.7.0": folder: all "1.4.0": From 5dca30c5997a10c756324c07eb1edb5b66e664e5 Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 25 Jul 2024 01:01:31 +0900 Subject: [PATCH 072/132] (#24593) dtl: add new version 1.21, remove cci version --- recipes/dtl/all/conandata.yml | 6 +++--- recipes/dtl/all/conanfile.py | 6 ++++-- recipes/dtl/config.yml | 4 ++-- 3 files changed, 9 insertions(+), 7 deletions(-) diff --git a/recipes/dtl/all/conandata.yml b/recipes/dtl/all/conandata.yml index 7ae1dc4743d98a..b14780dd20c908 100644 --- a/recipes/dtl/all/conandata.yml +++ b/recipes/dtl/all/conandata.yml @@ -1,10 +1,10 @@ sources: + "1.21": + url: "https://github.com/cubicdaiya/dtl/archive/v1.21.tar.gz" + sha256: "90ed2dbf4e6d687737fe25f118bbcb6aed778cecc3f2115d191a032bf8643dbd" "1.20": url: "https://github.com/cubicdaiya/dtl/archive/v1.20.tar.gz" sha256: "579f81bca88f4b9760a59d99c5a95bd8dd5dc2f20f33f1f9b5f64cb08979f54d" "1.19": url: "https://github.com/cubicdaiya/dtl/archive/v1.19.tar.gz" sha256: "f47b99dd11e5d771ad32a8dc960db4ab2fbe349fb0346fa0795f53c846a99c5d" - "cci.20210404": - url: "https://github.com/cubicdaiya/dtl/archive/0551c22f5ee3d30dbc4b0700bde5acdb6f1a9348.tar.gz" - sha256: "59c2e770454c935200179aa4457f72741aec2319072862950b2490d0758d4e43" diff --git a/recipes/dtl/all/conanfile.py b/recipes/dtl/all/conanfile.py index f500b1f6947df7..bc5ebc68cd9279 100644 --- a/recipes/dtl/all/conanfile.py +++ b/recipes/dtl/all/conanfile.py @@ -3,6 +3,7 @@ from conan import ConanFile from conan.tools.files import copy, get, replace_in_file from conan.tools.layout import basic_layout +from conan.tools.scm import Version required_conan_version = ">=1.52.0" @@ -27,8 +28,9 @@ def package_id(self): def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) - # See https://github.com/cubicdaiya/dtl/pull/18 - replace_in_file(self, os.path.join(self.source_folder, "dtl", "Diff.hpp"), "void enableTrivial () const {", "void enableTrivial () {") + if Version(self.version) < "1.21": + # See https://github.com/cubicdaiya/dtl/pull/18 + replace_in_file(self, os.path.join(self.source_folder, "dtl", "Diff.hpp"), "void enableTrivial () const {", "void enableTrivial () {") def package(self): copy(self, "COPYING", diff --git a/recipes/dtl/config.yml b/recipes/dtl/config.yml index 66e68aaaf6fad9..c7b2d5892fa8bf 100644 --- a/recipes/dtl/config.yml +++ b/recipes/dtl/config.yml @@ -1,7 +1,7 @@ versions: + "1.21": + folder: "all" "1.20": folder: "all" "1.19": folder: "all" - "cci.20210404": - folder: "all" From 4c5c9b73a95c63531bed1aba957c973daec801f9 Mon Sep 17 00:00:00 2001 From: Jordan Williams Date: Wed, 24 Jul 2024 11:32:32 -0500 Subject: [PATCH 073/132] (#24603) glib: Bump libselinux from 3.5 to 3.6 to avoid conflicts Both libsystemd and eudev use libselinux 3.6. --- recipes/glib/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/glib/all/conanfile.py b/recipes/glib/all/conanfile.py index 2ab322c38bc8df..d1e395a15a8582 100644 --- a/recipes/glib/all/conanfile.py +++ b/recipes/glib/all/conanfile.py @@ -72,7 +72,7 @@ def requirements(self): if self.options.get_safe("with_mount"): self.requires("libmount/2.39") if self.options.get_safe("with_selinux"): - self.requires("libselinux/3.5") + self.requires("libselinux/3.6") if self.settings.os != "Linux": # for Linux, gettext is provided by libc self.requires("libgettext/0.22", transitive_headers=True, transitive_libs=True) From 2b7d61bfea95a0273102ee4f6da7382a828694aa Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 25 Jul 2024 02:12:48 +0900 Subject: [PATCH 074/132] (#24618) rocksdb: add version 9.4.0 --- recipes/rocksdb/all/conandata.yml | 3 +++ recipes/rocksdb/all/conanfile.py | 4 ++-- recipes/rocksdb/config.yml | 2 ++ 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/recipes/rocksdb/all/conandata.yml b/recipes/rocksdb/all/conandata.yml index 9311e262a5a90f..ed28eb0b6337fe 100644 --- a/recipes/rocksdb/all/conandata.yml +++ b/recipes/rocksdb/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "9.4.0": + url: "https://github.com/facebook/rocksdb/archive/refs/tags/v9.4.0.tar.gz" + sha256: "1f829976aa24b8ba432e156f52c9e0f0bd89c46dc0cc5a9a628ea70571c1551c" "9.2.1": url: "https://github.com/facebook/rocksdb/archive/refs/tags/v9.2.1.tar.gz" sha256: "bb20fd9a07624e0dc1849a8e65833e5421960184f9c469d508b58ed8f40a780f" diff --git a/recipes/rocksdb/all/conanfile.py b/recipes/rocksdb/all/conanfile.py index f9abafa35f177e..605a6adf2d0735 100644 --- a/recipes/rocksdb/all/conanfile.py +++ b/recipes/rocksdb/all/conanfile.py @@ -15,10 +15,10 @@ class RocksDBConan(ConanFile): name = "rocksdb" - homepage = "https://github.com/facebook/rocksdb" + description = "A library that provides an embeddable, persistent key-value store for fast storage" 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" + homepage = "https://github.com/facebook/rocksdb" topics = ("database", "leveldb", "facebook", "key-value") package_type = "library" settings = "os", "arch", "compiler", "build_type" diff --git a/recipes/rocksdb/config.yml b/recipes/rocksdb/config.yml index 1e0d22057397b6..a2441c8c55d862 100644 --- a/recipes/rocksdb/config.yml +++ b/recipes/rocksdb/config.yml @@ -1,4 +1,6 @@ versions: + "9.4.0": + folder: all "9.2.1": folder: all "9.1.0": From 09912ba7d7dd9954ec0de6414f14ce03cac4eb72 Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 25 Jul 2024 02:51:12 +0900 Subject: [PATCH 075/132] (#24624) trompeloeil: add version 48 --- 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 ba2243425c5385..5d3ef4f707e9ab 100644 --- a/recipes/trompeloeil/all/conandata.yml +++ b/recipes/trompeloeil/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "48": + url: "https://github.com/rollbear/trompeloeil/archive/v48.tar.gz" + sha256: "eebd18456975251ea3450b815e241cccfefba5b883e4a36bd309f9cf629bdec6" "47": url: "https://github.com/rollbear/trompeloeil/archive/v47.tar.gz" sha256: "4a1d79260c1e49e065efe0817c8b9646098ba27eed1802b0c3ba7d959e4e5e84" diff --git a/recipes/trompeloeil/config.yml b/recipes/trompeloeil/config.yml index b8ee3e687f4418..db787f96cb9361 100644 --- a/recipes/trompeloeil/config.yml +++ b/recipes/trompeloeil/config.yml @@ -1,4 +1,6 @@ versions: + "48": + folder: all "47": folder: all "46": From 79e4d1889dd436addc46ed0f82bfc12fa28d9e41 Mon Sep 17 00:00:00 2001 From: Jens Carl Date: Wed, 24 Jul 2024 11:11:35 -0700 Subject: [PATCH 076/132] (#24671) cmake: add version 3.30.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 c1ea2906cfbd40..7959b73239b484 100644 --- a/recipes/cmake/binary/conandata.yml +++ b/recipes/cmake/binary/conandata.yml @@ -1,4 +1,23 @@ sources: + "3.30.1": + Linux: + armv8: + url: "https://cmake.org/files/v3.30/cmake-3.30.1-linux-aarch64.tar.gz" + sha256: "ad234996f8750f11d7bd0d17b03f55c434816adf1f1671aab9e8bab21a43286a" + x86_64: + url: "https://cmake.org/files/v3.30/cmake-3.30.1-linux-x86_64.tar.gz" + sha256: "ac31f077ef3378641fa25a3cb980d21b2f083982d3149a8f2eb9154f2b53696b" + Macos: + universal: + url: "https://cmake.org/files/v3.30/cmake-3.30.1-macos10.10-universal.tar.gz" + sha256: "4c1beda2bb2ab830f22fdb29aa6cc844f9b0eb32cca0fb4f01b407688944d181" + Windows: + armv8: + url: "https://cmake.org/files/v3.30/cmake-3.30.1-windows-arm64.zip" + sha256: "02b433f70aa549449be2d53046d0179590bf3b6290d9fda3fbbb23f96a4f2802" + x86_64: + url: "https://cmake.org/files/v3.30/cmake-3.30.1-windows-x86_64.zip" + sha256: "cf7788ff9d92812da194847d4ec874fc576f34079987d0f20c96cd09e2a16220" "3.30.0": Linux: armv8: diff --git a/recipes/cmake/config.yml b/recipes/cmake/config.yml index a9ad50f6f92b67..1f33473eb51a71 100644 --- a/recipes/cmake/config.yml +++ b/recipes/cmake/config.yml @@ -1,4 +1,6 @@ versions: + "3.30.1": + folder: "binary" "3.30.0": folder: "binary" "3.29.7": From 405b87817d4741b964d77435c194b9511b191b5f Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 25 Jul 2024 03:31:20 +0900 Subject: [PATCH 077/132] (#24673) luau: add version 0.635 --- 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 d38eb7af87816e..7e3584bc700c78 100644 --- a/recipes/luau/all/conandata.yml +++ b/recipes/luau/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.635": + url: "https://github.com/Roblox/luau/archive/0.635.tar.gz" + sha256: "b2ec66070bb53ab9c26e41608dd75c9672c942cf0738c4b965c5eb956a954910" "0.630": url: "https://github.com/Roblox/luau/archive/0.630.tar.gz" sha256: "601938ebd428d37c2bb10697500bff4fe304f7c0651cf64721b9dc5600a30ed9" diff --git a/recipes/luau/config.yml b/recipes/luau/config.yml index 26cd13020e94c1..3b3066260406fb 100644 --- a/recipes/luau/config.yml +++ b/recipes/luau/config.yml @@ -1,4 +1,6 @@ versions: + "0.635": + folder: all "0.630": folder: all "0.625": From 9569db8bed4efa7ab28daf6f8c1b009c3a9e6855 Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 25 Jul 2024 03:56:15 +0900 Subject: [PATCH 078/132] (#24680) json_dto: add version 0.3.4 --- recipes/json_dto/all/conandata.yml | 3 +++ recipes/json_dto/all/conanfile.py | 8 ++++---- recipes/json_dto/config.yml | 2 ++ 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/recipes/json_dto/all/conandata.yml b/recipes/json_dto/all/conandata.yml index fd921713e43f55..504fe8367f2555 100644 --- a/recipes/json_dto/all/conandata.yml +++ b/recipes/json_dto/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.3.4": + url: "https://github.com/Stiffstream/json_dto/archive/refs/tags/v.0.3.4.tar.gz" + sha256: "1b9595dbd86fa90edf621b72f5f4dac43170339250e9e650ede5269ff6fa3f2e" "0.3.3": url: "https://github.com/Stiffstream/json_dto/archive/refs/tags/v.0.3.3.tar.gz" sha256: "c52857c074f4e204426a52160e2699694c45bb93e9297ca535e2d5fdf54ae187" diff --git a/recipes/json_dto/all/conanfile.py b/recipes/json_dto/all/conanfile.py index df618397bce1ca..ce69026f02b647 100644 --- a/recipes/json_dto/all/conanfile.py +++ b/recipes/json_dto/all/conanfile.py @@ -12,13 +12,13 @@ class JsonDtoConan(ConanFile): name = "json_dto" + description = "A small header-only helper for converting data between json representation and c++ structs" 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") + homepage = "https://github.com/Stiffstream/json_dto" + topics = ("json", "dto", "serialization", "header-only") package_type = "header-library" - settings = "os", "compiler", "build_type", "arch" + settings = "os", "arch", "compiler", "build_type" no_copy_source = True @property diff --git a/recipes/json_dto/config.yml b/recipes/json_dto/config.yml index 9421431ffbd782..78d5c217becaf5 100644 --- a/recipes/json_dto/config.yml +++ b/recipes/json_dto/config.yml @@ -1,4 +1,6 @@ versions: + "0.3.4": + folder: all "0.3.3": folder: all "0.3.2": From 6f220065603e0e074d5f9d11ea0ed4ea1e8aa579 Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 25 Jul 2024 04:31:39 +0900 Subject: [PATCH 079/132] (#24690) blend2d: add version 0.11.4 --- recipes/blend2d/all/conandata.yml | 3 +++ recipes/blend2d/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/blend2d/all/conandata.yml b/recipes/blend2d/all/conandata.yml index d6a075271dc7f1..54dc0ba094e181 100644 --- a/recipes/blend2d/all/conandata.yml +++ b/recipes/blend2d/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.11.4": + url: "https://blend2d.com/download/blend2d-0.11.4.tar.gz" + sha256: "07f7d99d2ebb7b42a707a4f0035745b781faf9083933f944084f66e6246bb01c" "0.11.3": url: "https://blend2d.com/download/blend2d-0.11.3.tar.gz" sha256: "6dfb2c0260073f2af6c3dfe6c30a31da637e6facf7802f6b2836cc3c4e74fdd8" diff --git a/recipes/blend2d/config.yml b/recipes/blend2d/config.yml index d02e5977a476a9..b62e83e2e1cd22 100644 --- a/recipes/blend2d/config.yml +++ b/recipes/blend2d/config.yml @@ -1,4 +1,6 @@ versions: + "0.11.4": + folder: all "0.11.3": folder: all "0.11.1": From eefb59f2bda9938f2be2e5e9b267b70eea37c5b2 Mon Sep 17 00:00:00 2001 From: Johannes Wolf <519002+johannes-wolf@users.noreply.github.com> Date: Wed, 24 Jul 2024 21:51:53 +0200 Subject: [PATCH 080/132] (#24699) simfil: Bump 0.3.0 --- recipes/simfil/all/conandata.yml | 3 +++ recipes/simfil/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/simfil/all/conandata.yml b/recipes/simfil/all/conandata.yml index 322f4f504eca00..c2d8a566521d48 100644 --- a/recipes/simfil/all/conandata.yml +++ b/recipes/simfil/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.3.0": + url: "https://github.com/Klebert-Engineering/simfil/archive/refs/tags/v0.3.0.tar.gz" + sha256: "dea7b063f3f062772fcb49b368954814fc04d66c55db327a53ea008d698cd171" "0.2.1": url: "https://github.com/Klebert-Engineering/simfil/archive/refs/tags/v0.2.1.tar.gz" sha256: "d3114900f121013cbffe42b0a70c66a47846c9326f6327d2ce0dd2e841919fd9" diff --git a/recipes/simfil/config.yml b/recipes/simfil/config.yml index c6da95529c7e5c..56576fba93cde1 100644 --- a/recipes/simfil/config.yml +++ b/recipes/simfil/config.yml @@ -1,4 +1,6 @@ versions: + "0.3.0": + folder: all "0.2.1": folder: all "0.1.3": From d6e9920b67913a4691ed417f167076ad18f6a679 Mon Sep 17 00:00:00 2001 From: Andrew Marshall Date: Thu, 25 Jul 2024 09:41:21 +0100 Subject: [PATCH 081/132] (#24657) [qt] enable no-gui build on macos --- recipes/qt/5.x.x/conanfile.py | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/recipes/qt/5.x.x/conanfile.py b/recipes/qt/5.x.x/conanfile.py index 99b31fa742027b..69f80f0f2eee05 100644 --- a/recipes/qt/5.x.x/conanfile.py +++ b/recipes/qt/5.x.x/conanfile.py @@ -214,18 +214,18 @@ def configure(self): # self.options.with_libiconv = False # QTBUG-84708 if not self.options.gui: - del self.options.opengl - del self.options.with_vulkan - del self.options.with_freetype - del self.options.with_fontconfig - del self.options.with_harfbuzz - del self.options.with_libjpeg - del self.options.with_libpng - del self.options.with_md4c - del self.options.with_x11 + self.options.rm_safe("opengl") + self.options.rm_safe("with_vulkan") + self.options.rm_safe("with_freetype") + self.options.rm_safe("with_fontconfig") + self.options.rm_safe("with_harfbuzz") + self.options.rm_safe("with_libjpeg") + self.options.rm_safe("with_libpng") + self.options.rm_safe("with_md4c") + self.options.rm_safe("with_x11") if not self.options.with_dbus: - del self.options.with_atspi + self.options.rm_safe("with_atspi") if self.options.multiconfiguration: del self.settings.build_type From e323a7df5393a30824c3d2c1451df36eaac9c787 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Abril=20Rinc=C3=B3n=20Blanco?= Date: Thu, 25 Jul 2024 10:54:31 +0200 Subject: [PATCH 082/132] (#24700) grpc: Revert `grpc` component name to `_grpc` * Revert grpc component name, it breaks recipes which unadvertedly depended on it * Rename in requires clauses too --- recipes/grpc/all/target_info/grpc_1.50.0.yml | 6 +++--- recipes/grpc/all/target_info/grpc_1.50.1.yml | 4 ++-- recipes/grpc/all/target_info/grpc_1.54.3.yml | 5 ++--- recipes/grpc/all/target_info/grpc_1.65.0.yml | 4 ++-- 4 files changed, 9 insertions(+), 10 deletions(-) diff --git a/recipes/grpc/all/target_info/grpc_1.50.0.yml b/recipes/grpc/all/target_info/grpc_1.50.0.yml index d1a6b8f79dfefb..693b7c8e2a330d 100644 --- a/recipes/grpc/all/target_info/grpc_1.50.0.yml +++ b/recipes/grpc/all/target_info/grpc_1.50.0.yml @@ -17,7 +17,7 @@ grpc_targets: - abseil::absl_time - abseil::absl_optional - abseil::absl_variant - - name: "grpc" + - name: "_grpc" lib: "grpc" requires: - zlib::zlib @@ -70,7 +70,7 @@ grpc_targets: requires: - protobuf::libprotobuf - abseil::absl_cleanup - - grpc + - _grpc - name: "grpc++_alts" lib: "grpc++_alts" requires: @@ -117,4 +117,4 @@ grpc_plugins: - target: "gRPC::grpc_python_plugin" executable: "grpc_python_plugin" - target: "gRPC::grpc_ruby_plugin" - executable: "grpc_ruby_plugin" \ No newline at end of file + executable: "grpc_ruby_plugin" diff --git a/recipes/grpc/all/target_info/grpc_1.50.1.yml b/recipes/grpc/all/target_info/grpc_1.50.1.yml index 7d30621d336946..3bf059795e135e 100644 --- a/recipes/grpc/all/target_info/grpc_1.50.1.yml +++ b/recipes/grpc/all/target_info/grpc_1.50.1.yml @@ -17,7 +17,7 @@ grpc_targets: - abseil::absl_time - abseil::absl_optional - abseil::absl_variant - - name: "grpc" + - name: "_grpc" lib: "grpc" requires: - zlib::zlib @@ -70,7 +70,7 @@ grpc_targets: requires: - protobuf::libprotobuf - abseil::absl_cleanup - - grpc + - _grpc - name: "grpc++_alts" lib: "grpc++_alts" requires: diff --git a/recipes/grpc/all/target_info/grpc_1.54.3.yml b/recipes/grpc/all/target_info/grpc_1.54.3.yml index 36c0b8d3894749..a97cd9a17b217b 100644 --- a/recipes/grpc/all/target_info/grpc_1.54.3.yml +++ b/recipes/grpc/all/target_info/grpc_1.54.3.yml @@ -23,7 +23,7 @@ grpc_targets: - abseil::absl_time - abseil::absl_optional - abseil::absl_variant - - name: "grpc" + - name: "_grpc" lib: "grpc" requires: - zlib::zlib @@ -76,7 +76,7 @@ grpc_targets: requires: - protobuf::libprotobuf - zlib::zlib - - grpc + - _grpc - name: "grpc++_alts" lib: "grpc++_alts" requires: @@ -150,4 +150,3 @@ grpc_plugins: executable: "grpc_python_plugin" - target: "gRPC::grpc_ruby_plugin" executable: "grpc_ruby_plugin" - \ No newline at end of file diff --git a/recipes/grpc/all/target_info/grpc_1.65.0.yml b/recipes/grpc/all/target_info/grpc_1.65.0.yml index 5a77cc2e613f60..43591e8d361160 100644 --- a/recipes/grpc/all/target_info/grpc_1.65.0.yml +++ b/recipes/grpc/all/target_info/grpc_1.65.0.yml @@ -24,7 +24,7 @@ grpc_targets: - abseil::absl_time - abseil::absl_optional - abseil::absl_variant - - name: "grpc" + - name: "_grpc" lib: "grpc" requires: - upb_json_lib @@ -105,7 +105,7 @@ grpc_targets: requires: - abseil::absl_absl_check - abseil::absl_absl_log - - grpc + - _grpc - protobuf::libprotobuf - name: "grpc++_alts" lib: "grpc++_alts" From 67428083db3aa5e674bac2ff76a0fa687c72e4a0 Mon Sep 17 00:00:00 2001 From: Luis Caro Campos <3535649+jcar87@users.noreply.github.com> Date: Thu, 25 Jul 2024 10:04:35 +0100 Subject: [PATCH 083/132] (#24701) qt6 fix issue with zstd and threads * qt6: fix issue finding threads/zstd on macos --- recipes/qt/6.x.x/conanfile.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/recipes/qt/6.x.x/conanfile.py b/recipes/qt/6.x.x/conanfile.py index 60bff7fddfd167..3d0fe776ff4b86 100644 --- a/recipes/qt/6.x.x/conanfile.py +++ b/recipes/qt/6.x.x/conanfile.py @@ -521,6 +521,8 @@ def generate(self): tc.variables["FEATURE_dbus"] = "OFF" tc.variables["CMAKE_FIND_DEBUG_MODE"] = "FALSE" + if not self.options.with_zstd: + tc.variables["CMAKE_DISABLE_FIND_PACKAGE_WrapZSTD"] = "ON" for opt, conf_arg in [("with_glib", "glib"), ("with_icu", "icu"), From 2d8c1487659a85c2949ac404c9f9a7ed3eb7790e Mon Sep 17 00:00:00 2001 From: Luis Caro Campos <3535649+jcar87@users.noreply.github.com> Date: Thu, 25 Jul 2024 11:35:40 +0100 Subject: [PATCH 084/132] (#24713) qt6: reduce version burden --- recipes/qt/6.x.x/conandata.yml | 166 --------------------------------- recipes/qt/config.yml | 12 --- 2 files changed, 178 deletions(-) diff --git a/recipes/qt/6.x.x/conandata.yml b/recipes/qt/6.x.x/conandata.yml index 8467da32623a7c..547a052a46a964 100644 --- a/recipes/qt/6.x.x/conandata.yml +++ b/recipes/qt/6.x.x/conandata.yml @@ -21,21 +21,6 @@ sources: - "https://ftp.jaist.ac.jp/pub/qtproject/archive/qt/6.7/6.7.1/single/qt-everywhere-src-6.7.1.tar.xz" - "https://ftp.yz.yamagata-u.ac.jp/pub/qtproject/archive/qt/6.7/6.7.1/single/qt-everywhere-src-6.7.1.tar.xz" sha256: "38dbf2768776e875ed5cdea8cccf1a240512a29769768084430914c4a33bedc4" - "6.7.0": - url: - - "https://download.qt.io/official_releases/qt/6.7/6.7.0/single/qt-everywhere-src-6.7.0.tar.xz" - - "https://download.qt.io/archive/qt/6.7/6.7.0/single/qt-everywhere-src-6.7.0.tar.xz" - - "https://qt.mirror.constant.com/archive/qt/6.7/6.7.0/single/qt-everywhere-src-6.7.0.tar.xz" - - "https://mirrors.ukfast.co.uk/sites/qt.io/archive/qt/6.7/6.7.0/single/qt-everywhere-src-6.7.0.tar.xz" - - "https://mirrors.20i.com/pub/qt.io/archive/qt/6.7/6.7.0/single/qt-everywhere-src-6.7.0.tar.xz" - - "https://ftp.nluug.nl/languages/qt/archive/qt/6.7/6.7.0/single/qt-everywhere-src-6.7.0.tar.xz" - - "https://mirror.netcologne.de/qtproject/archive/qt/6.7/6.7.0/single/qt-everywhere-src-6.7.0.tar.xz" - - "https://qt-mirror.dannhauer.de/archive/qt/6.7/6.7.0/single/qt-everywhere-src-6.7.0.tar.xz" - - "https://ftp.fau.de/qtproject/archive/qt/6.7/6.7.0/single/qt-everywhere-src-6.7.0.tar.xz" - - "https://ftp.acc.umu.se/mirror/qt.io/qtproject/archive/qt/6.7/6.7.0/single/qt-everywhere-src-6.7.0.tar.xz" - - "https://qtproject.mirror.liquidtelecom.com/archive/qt/6.7/6.7.0/single/qt-everywhere-src-6.7.0.tar.xz" - - "https://mirrors.sjtug.sjtu.edu.cn/qt/archive/qt/6.7/6.7.0/single/qt-everywhere-src-6.7.0.tar.xz" - sha256: "bf5089912364f99cf9baf6c109de76a3172eec6267f148c69800575c47f90087" "6.6.3": url: - "https://download.qt.io/official_releases/qt/6.6/6.6.3/single/qt-everywhere-src-6.6.3.tar.xz" @@ -59,55 +44,6 @@ sources: - "https://ftp.jaist.ac.jp/pub/qtproject/archive/qt/6.6/6.6.3/single/qt-everywhere-src-6.6.3.tar.xz" - "https://ftp.yz.yamagata-u.ac.jp/pub/qtproject/archive/qt/6.6/6.6.3/single/qt-everywhere-src-6.6.3.tar.xz" sha256: "69d0348fef415da98aa890a34651e9cfb232f1bffcee289b7b4e21386bf36104" - "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" - - "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" - - "https://download.qt.io/archive/qt/6.6/6.6.0/single/qt-everywhere-src-6.6.0.tar.xz" - - "https://qt.mirror.constant.com/archive/qt/6.6/6.6.0/single/qt-everywhere-src-6.6.0.tar.xz" - - "https://mirrors.ukfast.co.uk/sites/qt.io/archive/qt/6.6/6.6.0/single/qt-everywhere-src-6.6.0.tar.xz" - - "https://mirrors.20i.com/pub/qt.io/archive/qt/6.6/6.6.0/single/qt-everywhere-src-6.6.0.tar.xz" - - "https://ftp.nluug.nl/languages/qt/archive/qt/6.6/6.6.0/single/qt-everywhere-src-6.6.0.tar.xz" - - "https://mirror.netcologne.de/qtproject/archive/qt/6.6/6.6.0/single/qt-everywhere-src-6.6.0.tar.xz" - - "https://mirror.web4africa.ng/qt/archive/qt/6.6/6.6.0/single/qt-everywhere-src-6.6.0.tar.xz" - - "https://qt-mirror.dannhauer.de/archive/qt/6.6/6.6.0/single/qt-everywhere-src-6.6.0.tar.xz" - - "https://ftp.fau.de/qtproject/archive/qt/6.6/6.6.0/single/qt-everywhere-src-6.6.0.tar.xz" - - "https://mirrors.dotsrc.org/qtproject/archive/qt/6.6/6.6.0/single/qt-everywhere-src-6.6.0.tar.xz" - - "https://ftp.icm.edu.pl/packages/qt/archive/qt/6.6/6.6.0/single/qt-everywhere-src-6.6.0.tar.xz" - - "https://ftp.acc.umu.se/mirror/qt.io/qtproject/archive/qt/6.6/6.6.0/single/qt-everywhere-src-6.6.0.tar.xz" - - "https://www.nic.funet.fi/pub/mirrors/download.qt-project.org/archive/qt/6.6/6.6.0/single/qt-everywhere-src-6.6.0.tar.xz" - - "https://qtproject.mirror.liquidtelecom.com/archive/qt/6.6/6.6.0/single/qt-everywhere-src-6.6.0.tar.xz" - - "https://mirrors.sjtug.sjtu.edu.cn/qt/archive/qt/6.6/6.6.0/single/qt-everywhere-src-6.6.0.tar.xz" - - "https://ftp.jaist.ac.jp/pub/qtproject/archive/qt/6.6/6.6.0/single/qt-everywhere-src-6.6.0.tar.xz" - - "https://ftp.yz.yamagata-u.ac.jp/pub/qtproject/archive/qt/6.6/6.6.0/single/qt-everywhere-src-6.6.0.tar.xz" - sha256: "652538fcb5d175d8f8176c84c847b79177c87847b7273dccaec1897d80b50002" "6.5.3": url: - "https://download.qt.io/official_releases/qt/6.5/6.5.3/single/qt-everywhere-src-6.5.3.tar.xz" @@ -128,22 +64,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.4.2": - url: - - "https://download.qt.io/archive/qt/6.4/6.4.2/single/qt-everywhere-src-6.4.2.tar.xz" - - "https://qt-mirror.dannhauer.de/archive/qt/6.4/6.4.2/single/qt-everywhere-src-6.4.2.tar.xz" - - "https://www.funet.fi/pub/mirrors/download.qt-project.org/archive/qt/6.4/6.4.2/single/qt-everywhere-src-6.4.2.tar.xz" - - "https://ftp.fau.de/qtproject/archive/qt/6.4/6.4.2/single/qt-everywhere-src-6.4.2.tar.xz" - - "https://mirrors.ustc.edu.cn/qtproject/archive/qt/6.4/6.4.2/single/qt-everywhere-src-6.4.2.tar.xz" - sha256: "689f53e6652da82fccf7c2ab58066787487339f28d1ec66a8765ad357f4976be" - "6.3.2": - url: - - "https://download.qt.io/archive/qt/6.3/6.3.2/single/qt-everywhere-src-6.3.2.tar.xz" - - "https://qt-mirror.dannhauer.de/archive/qt/6.3/6.3.2/single/qt-everywhere-src-6.3.2.tar.xz" - - "https://www.funet.fi/pub/mirrors/download.qt-project.org/archive/qt/6.3/6.3.2/single/qt-everywhere-src-6.3.2.tar.xz" - - "https://ftp.fau.de/qtproject/archive/qt/6.3/6.3.2/single/qt-everywhere-src-6.3.2.tar.xz" - - "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.7.1": - "base_path": "qtwebengine" @@ -151,56 +71,12 @@ patches: "patch_file": "patches/c72097e_6.6.0.diff" "patch_source": "https://codereview.qt-project.org/c/yocto/meta-qt5/+/192172" "patch_type": "bugfix" - "6.7.0": - - "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.3": - "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.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" - "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" - - "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" - "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" - - "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" @@ -217,45 +93,3 @@ patches: "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" - 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" - 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" - 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" - 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/config.yml b/recipes/qt/config.yml index 5eef7e23a9317a..c138b7fd62011e 100644 --- a/recipes/qt/config.yml +++ b/recipes/qt/config.yml @@ -1,21 +1,9 @@ versions: "6.7.1": folder: 6.x.x - "6.7.0": - folder: 6.x.x "6.6.3": folder: 6.x.x - "6.6.2": - folder: 6.x.x - "6.6.1": - folder: 6.x.x - "6.6.0": - folder: 6.x.x "6.5.3": folder: 6.x.x - "6.4.2": - folder: 6.x.x - "6.3.2": - folder: 6.x.x "5.15.14": folder: 5.x.x From cb74d78a5cbb8b94f3a5bf6b84f02d2a20f5c4f6 Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Fri, 26 Jul 2024 10:01:34 +0100 Subject: [PATCH 085/132] (#24721) [bot] Update authorized users list (2024-07-26) * Add/remove users to Access Request * Keep wer14 in wait list for now Signed-off-by: Uilian Ries --------- Signed-off-by: Uilian Ries Co-authored-by: conan-center-bot Co-authored-by: Uilian Ries --- .c3i/authorized_users.yml | 2 ++ .c3i/waitlist_users.yml | 1 + 2 files changed, 3 insertions(+) diff --git a/.c3i/authorized_users.yml b/.c3i/authorized_users.yml index 4b8d5fc088e08d..7a667791d5e128 100644 --- a/.c3i/authorized_users.yml +++ b/.c3i/authorized_users.yml @@ -1385,3 +1385,5 @@ authorized_users: - xiadnoring - FeignClaims - husitawi +- fpoirotte +- cuppajoeman diff --git a/.c3i/waitlist_users.yml b/.c3i/waitlist_users.yml index 0a820a622ea675..e0f4cd3b99c959 100644 --- a/.c3i/waitlist_users.yml +++ b/.c3i/waitlist_users.yml @@ -4,3 +4,4 @@ waitlist_users: - refactorTractor - jjbel - synaptics-lspintzyk +- wer14 From 5e52e6533c7b542bc3d25efcb2a81c0312d1074a Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 26 Jul 2024 18:31:30 +0900 Subject: [PATCH 086/132] (#24715) dice-template-library: add version 1.6.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 f3c3a88f7edef5..e5d11350e20d25 100644 --- a/recipes/dice-template-library/all/conandata.yml +++ b/recipes/dice-template-library/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.6.0": + url: "https://github.com/dice-group/dice-template-library/archive/refs/tags/v1.6.0.tar.gz" + sha256: "4eb176930beb05dba183d4a48fd9e9716676fe92f0a98a8f527cb8791b0d64fd" "1.5.0": url: "https://github.com/dice-group/dice-template-library/archive/refs/tags/v1.5.0.tar.gz" sha256: "5ab4155097af5674dc9b34d1643db9ea8b30f78d15c1e547c58396ea31068ffd" diff --git a/recipes/dice-template-library/config.yml b/recipes/dice-template-library/config.yml index 4b83ac8cb2f11e..84543460d120fa 100644 --- a/recipes/dice-template-library/config.yml +++ b/recipes/dice-template-library/config.yml @@ -1,4 +1,6 @@ versions: + "1.6.0": + folder: all "1.5.0": folder: all "1.3.0": From 62b24365cfbc20bc12d3a8cc98e1f3ddd8e3752c Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 26 Jul 2024 19:31:21 +0900 Subject: [PATCH 087/132] (#24578) vvenc: add version 0.12.0, relax c++ std version on 0.10.0 and later --- recipes/vvenc/all/conandata.yml | 3 +++ recipes/vvenc/all/conanfile.py | 16 +++++++++------- recipes/vvenc/config.yml | 2 ++ 3 files changed, 14 insertions(+), 7 deletions(-) diff --git a/recipes/vvenc/all/conandata.yml b/recipes/vvenc/all/conandata.yml index 96a4c747a1a95b..cab7ae30015bb2 100644 --- a/recipes/vvenc/all/conandata.yml +++ b/recipes/vvenc/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.12.0": + url: "https://github.com/fraunhoferhhi/vvenc/archive/refs/tags/v1.12.0.tar.gz" + sha256: "e7311ffcc87d8fcc4b839807061cca1b89be017ae7c449a69436dc2dd07615c2" "1.11.1": url: "https://github.com/fraunhoferhhi/vvenc/archive/refs/tags/v1.11.1.tar.gz" sha256: "4f0c8ac3f03eb970bee7a0cacc57a886ac511d58f081bb08ba4bce6f547d92fa" diff --git a/recipes/vvenc/all/conanfile.py b/recipes/vvenc/all/conanfile.py index ebfcf9dec9acab..c1b3ae45e3f998 100644 --- a/recipes/vvenc/all/conanfile.py +++ b/recipes/vvenc/all/conanfile.py @@ -8,6 +8,7 @@ from conan.tools.build import stdcpp_library, check_min_cppstd from conan.tools.cmake import CMakeToolchain, CMake, cmake_layout, CMakeDeps from conan.tools.files import get, copy, rmdir, rm +from conan.tools.scm import Version required_conan_version = ">=1.60.1" @@ -22,11 +23,11 @@ class vvencRecipe(ConanFile): package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { - "shared": [True, False], + "shared": [True, False], "fPIC": [True, False], } default_options = { - "shared": False, + "shared": False, "fPIC": True, } @@ -59,10 +60,11 @@ def _validate_build2(self): # and it cannot be built with newer C++ standard # because they have existing C++ features removed check_min_cppstd(self, 14) - # FIXME: linter complains, but function is there - # https://docs.conan.io/2.0/reference/tools/build.html?highlight=check_min_cppstd#conan-tools-build-check-max-cppstd - check_max_cppstd = getattr(sys.modules['conan.tools.build'], 'check_max_cppstd') - check_max_cppstd(self, 14) + if Version(self.version) < "1.10.0": + # FIXME: linter complains, but function is there + # https://docs.conan.io/2.0/reference/tools/build.html?highlight=check_min_cppstd#conan-tools-build-check-max-cppstd + check_max_cppstd = getattr(sys.modules['conan.tools.build'], 'check_max_cppstd') + check_max_cppstd(self, 14) def config_options(self): if self.settings.os == "Windows": @@ -80,7 +82,7 @@ def package_id(self): # object files created with newer binutils, # thus linker cannot find any valid object and therefore symbols # (fails to find `vvenc_get_version`, which is obviously always there) - # this is not exactly modeled by conan right now, + # this is not exactly modeled by conan right now, # so "compiler" setting is closest thing to avoid an issue # (while technically it's not a compiler, but linker and archiver) # del self.info.settings.compiler diff --git a/recipes/vvenc/config.yml b/recipes/vvenc/config.yml index 7674f2d9582293..dcf5ab8c726310 100644 --- a/recipes/vvenc/config.yml +++ b/recipes/vvenc/config.yml @@ -1,4 +1,6 @@ versions: + "1.12.0": + folder: "all" "1.11.1": folder: "all" "1.10.0": From fcaf9461a6c4d4a35862d028c74eb47747a5d1a6 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Fri, 26 Jul 2024 13:48:15 +0200 Subject: [PATCH 088/132] (#23397) ffmpeg: cleanup version comparisons, bump openjpeg * ffmpeg: bump openjpeg * add version 6.1.1, remove old versions * use short_paths * fix dav1d version for 4.4 * Revert "use short_paths" This reverts commit 9c95d8732e2ab307202500a42640f5275dd271ee. * fix --- recipes/ffmpeg/all/conanfile.py | 24 +++++------------------- 1 file changed, 5 insertions(+), 19 deletions(-) diff --git a/recipes/ffmpeg/all/conanfile.py b/recipes/ffmpeg/all/conanfile.py index 0d94387010d3cd..6e07ad722a2f4e 100644 --- a/recipes/ffmpeg/all/conanfile.py +++ b/recipes/ffmpeg/all/conanfile.py @@ -229,18 +229,10 @@ def _dependencies(self): "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) @@ -262,12 +254,8 @@ def config_options(self): del self.options.with_videotoolbox if not is_apple_os(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: @@ -290,7 +278,7 @@ def requirements(self): if self.options.with_freetype: self.requires("freetype/2.13.2") if self.options.with_openjpeg: - self.requires("openjpeg/2.5.0") + self.requires("openjpeg/2.5.2") if self.options.with_openh264: self.requires("openh264/2.3.1") if self.options.with_vorbis: @@ -325,7 +313,7 @@ def requirements(self): self.requires("vaapi/system") if self.options.get_safe("with_vdpau"): self.requires("vdpau/system") - if self._version_supports_vulkan and self.options.get_safe("with_vulkan"): + if 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") @@ -509,6 +497,8 @@ def opt_append_disable_if_set(args, what, v): opt_enable_disable("audiotoolbox", self.options.get_safe("with_audiotoolbox")), opt_enable_disable("videotoolbox", self.options.get_safe("with_videotoolbox")), opt_enable_disable("securetransport", self.options.with_ssl == "securetransport"), + opt_enable_disable("vulkan", self.options.get_safe("with_vulkan")), + opt_enable_disable("libdav1d", self.options.get_safe("with_libdav1d")), "--disable-cuda", # FIXME: CUDA support "--disable-cuvid", # FIXME: CUVID support # Licenses @@ -577,12 +567,8 @@ def opt_append_disable_if_set(args, what, v): args.extend(self._split_and_format_options_string( "disable-filter", self.options.disable_filters)) - 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") @@ -899,5 +885,5 @@ def _add_component(name, dependencies): if self.options.get_safe("with_vdpau"): avutil.requires.append("vdpau::vdpau") - if self._version_supports_vulkan and self.options.get_safe("with_vulkan"): + if self.options.get_safe("with_vulkan"): avutil.requires.append("vulkan-loader::vulkan-loader") From b8f333de7a89a6ef98d52c9cf28619409dfd4947 Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 26 Jul 2024 21:11:51 +0900 Subject: [PATCH 089/132] (#24703) glaze: add version 3.1.7 * glaze: add version 3.1.6 * add build_requirements in test_package * add c++23 minimum versions from upstream README.md * update 3.1.7 --- recipes/glaze/all/conandata.yml | 4 ++++ recipes/glaze/all/conanfile.py | 23 +++++++++++++------ recipes/glaze/all/test_package/CMakeLists.txt | 8 +++++-- recipes/glaze/all/test_package/conanfile.py | 3 +++ recipes/glaze/config.yml | 2 ++ 5 files changed, 31 insertions(+), 9 deletions(-) diff --git a/recipes/glaze/all/conandata.yml b/recipes/glaze/all/conandata.yml index 72803e3d4aa14c..449f9025ed1c68 100644 --- a/recipes/glaze/all/conandata.yml +++ b/recipes/glaze/all/conandata.yml @@ -1,4 +1,8 @@ sources: + "3.1.7": + url: "https://github.com/stephenberry/glaze/archive/v3.1.7.tar.gz" + sha256: "388483bb3dfa1fe25c1dfec24f0afd1651e0303833cfa1b7f51020a2569e992a" + # keep 2.9.5 for c++20 compilers "2.9.5": url: "https://github.com/stephenberry/glaze/archive/v2.9.5.tar.gz" sha256: "67fda0fb0cc701451c261bb1e0c94d63bafaaba13390527521e02a034eff085e" diff --git a/recipes/glaze/all/conanfile.py b/recipes/glaze/all/conanfile.py index 89e8119810b9ef..ab2848babbb5d7 100644 --- a/recipes/glaze/all/conanfile.py +++ b/recipes/glaze/all/conanfile.py @@ -22,17 +22,26 @@ class GlazeConan(ConanFile): @property def _min_cppstd(self): - return 20 + return "20" if Version(self.version) < "3.0.0" else "23" @property def _compilers_minimum_version(self): return { - "Visual Studio": "17", - "msvc": "193", - "gcc": "11" if Version(self.version) < "2.6.3" else "12", - "clang": "14", - "apple-clang": "13.1", - } + "20": { + "Visual Studio": "17", + "msvc": "193", + "gcc": "11" if Version(self.version) < "2.6.3" else "12", + "clang": "14", + "apple-clang": "13.1", + }, + "23": { + "Visual Studio": "17", + "msvc": "193", + "gcc": "12", + "clang": "15", + "apple-clang": "14", + }, + }.get(self._min_cppstd, {}) def layout(self): basic_layout(self, src_folder="src") diff --git a/recipes/glaze/all/test_package/CMakeLists.txt b/recipes/glaze/all/test_package/CMakeLists.txt index 4811c5114c3c22..fc973c8b2b0197 100644 --- a/recipes/glaze/all/test_package/CMakeLists.txt +++ b/recipes/glaze/all/test_package/CMakeLists.txt @@ -1,8 +1,12 @@ -cmake_minimum_required(VERSION 3.12) +cmake_minimum_required(VERSION 3.20) project(test_package LANGUAGES CXX) find_package(glaze REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) target_link_libraries(${PROJECT_NAME} PRIVATE glaze::glaze) -target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_20) +if(glaze_VERSION VERSION_GREATER_EQUAL "3.0.0") + target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_23) +else() + target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_20) +endif() diff --git a/recipes/glaze/all/test_package/conanfile.py b/recipes/glaze/all/test_package/conanfile.py index a9fb96656f2039..9fd1075c52a6be 100644 --- a/recipes/glaze/all/test_package/conanfile.py +++ b/recipes/glaze/all/test_package/conanfile.py @@ -15,6 +15,9 @@ def requirements(self): def layout(self): cmake_layout(self) + def build_requirements(self): + self.tool_requires("cmake/[>=3.20 <4]") + def build(self): cmake = CMake(self) cmake.configure() diff --git a/recipes/glaze/config.yml b/recipes/glaze/config.yml index 083004c9db1974..fa97242180e6bd 100644 --- a/recipes/glaze/config.yml +++ b/recipes/glaze/config.yml @@ -1,4 +1,6 @@ versions: + "3.1.7": + folder: all "2.9.5": folder: all "2.9.2": From 0a7aa1d3f7b714da17f97840548ae84db5a3ab3d Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 26 Jul 2024 22:12:58 +0900 Subject: [PATCH 090/132] (#24693) lz4: add version 1.10.0 * lz4: add version 1.10.0 * drop suportg 1.9.2 (checksum has been changed --- recipes/lz4/all/conandata.yml | 24 ++++------- recipes/lz4/all/conanfile.py | 10 ++--- .../0001-cmake-add-shared-DEFINE_SYMBOL.patch | 16 -------- .../all/patches/0002-cmake-optional-cli.patch | 41 ------------------- ...3-cmake-minimum-required-first-1.9.2.patch | 25 ----------- recipes/lz4/config.yml | 4 +- 6 files changed, 13 insertions(+), 107 deletions(-) delete mode 100644 recipes/lz4/all/patches/0001-cmake-add-shared-DEFINE_SYMBOL.patch delete mode 100644 recipes/lz4/all/patches/0002-cmake-optional-cli.patch delete mode 100644 recipes/lz4/all/patches/0003-cmake-minimum-required-first-1.9.2.patch diff --git a/recipes/lz4/all/conandata.yml b/recipes/lz4/all/conandata.yml index fc3f8472653fd5..27dd4979a6d6f5 100644 --- a/recipes/lz4/all/conandata.yml +++ b/recipes/lz4/all/conandata.yml @@ -1,13 +1,13 @@ sources: + "1.10.0": + url: "https://github.com/lz4/lz4/archive/v1.10.0.tar.gz" + sha256: "537512904744b35e232912055ccf8ec66d768639ff3abe5788d90d792ec5f48b" "1.9.4": - sha256: 0b0e3aa07c8c063ddf40b082bdf7e37a1562bda40a0ff5272957f3e987e0e54b - url: https://github.com/lz4/lz4/archive/v1.9.4.tar.gz + url: "https://github.com/lz4/lz4/archive/v1.9.4.tar.gz" + sha256: "0b0e3aa07c8c063ddf40b082bdf7e37a1562bda40a0ff5272957f3e987e0e54b" "1.9.3": - sha256: 030644df4611007ff7dc962d981f390361e6c97a34e5cbc393ddfbe019ffe2c1 - url: https://github.com/lz4/lz4/archive/v1.9.3.tar.gz - "1.9.2": - sha256: 658ba6191fa44c92280d4aa2c271b0f4fbc0e34d249578dd05e50e76d0e5efcc - url: https://github.com/lz4/lz4/archive/v1.9.2.tar.gz + url: "https://github.com/lz4/lz4/archive/v1.9.3.tar.gz" + sha256: "030644df4611007ff7dc962d981f390361e6c97a34e5cbc393ddfbe019ffe2c1" patches: "1.9.4": - patch_file: "patches/0004-Added-namespace-declaration-for-xxhash-in-CMake.patch" @@ -18,13 +18,3 @@ patches: - patch_file: "patches/0003-cmake-minimum-required-first-1.9.3.patch" patch_description: "Move cmake_minimum_required to the top of CMakeFile.txt" patch_type: conan - "1.9.2": - - patch_file: "patches/0001-cmake-add-shared-DEFINE_SYMBOL.patch" - patch_description: "Add LZ4_DLL_EXPORT to MSVC" - patch_type: portability - - patch_file: "patches/0002-cmake-optional-cli.patch" - patch_description: "Add ability not to compile the CLI" - patch_type: conan - - patch_file: "patches/0003-cmake-minimum-required-first-1.9.2.patch" - patch_description: "Move cmake_minimum_required to the top of CMakeFile.txt" - patch_type: conan diff --git a/recipes/lz4/all/conanfile.py b/recipes/lz4/all/conanfile.py index 00e8eb7116e692..ea0b3ac51007a7 100644 --- a/recipes/lz4/all/conanfile.py +++ b/recipes/lz4/all/conanfile.py @@ -16,7 +16,7 @@ class LZ4Conan(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/lz4/lz4" topics = ("compression") - + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -50,7 +50,8 @@ def source(self): def generate(self): tc = CMakeToolchain(self) tc.variables["LZ4_BUILD_CLI"] = False - tc.variables["LZ4_BUILD_LEGACY_LZ4C"] = False + if Version(self.version) < "1.10.0": + tc.variables["LZ4_BUILD_LEGACY_LZ4C"] = False tc.variables["LZ4_BUNDLED_MODE"] = False tc.variables["LZ4_POSITION_INDEPENDENT_LIB"] = self.options.get_safe("fPIC", True) # Generate a relocatable shared lib on Macos @@ -61,10 +62,7 @@ def generate(self): @property def _cmakelists_folder(self): - if Version(self.version) < "1.9.3": - subfolder = os.path.join("contrib", "cmake_unofficial") - else: - subfolder = os.path.join("build", "cmake") + subfolder = os.path.join("build", "cmake") return os.path.join(self.source_folder, subfolder) def build(self): diff --git a/recipes/lz4/all/patches/0001-cmake-add-shared-DEFINE_SYMBOL.patch b/recipes/lz4/all/patches/0001-cmake-add-shared-DEFINE_SYMBOL.patch deleted file mode 100644 index 5de5fbc440858c..00000000000000 --- a/recipes/lz4/all/patches/0001-cmake-add-shared-DEFINE_SYMBOL.patch +++ /dev/null @@ -1,16 +0,0 @@ ---- contrib/cmake_unofficial/CMakeLists.txt -+++ contrib/cmake_unofficial/CMakeLists.txt -@@ -103,9 +103,13 @@ - if(BUILD_SHARED_LIBS) - add_library(lz4_shared SHARED ${LZ4_SOURCES}) - set_target_properties(lz4_shared PROPERTIES - OUTPUT_NAME lz4 - SOVERSION "${LZ4_VERSION_MAJOR}" - VERSION "${LZ4_VERSION_STRING}") - list(APPEND LZ4_LIBRARIES_BUILT lz4_shared) -+ if(MSVC) -+ set_target_properties(lz4_shared PROPERTIES -+ DEFINE_SYMBOL LZ4_DLL_EXPORT=1) -+ endif() - endif() - if(BUILD_STATIC_LIBS) diff --git a/recipes/lz4/all/patches/0002-cmake-optional-cli.patch b/recipes/lz4/all/patches/0002-cmake-optional-cli.patch deleted file mode 100644 index b2fe91a0e8bf96..00000000000000 --- a/recipes/lz4/all/patches/0002-cmake-optional-cli.patch +++ /dev/null @@ -1,41 +0,0 @@ ---- a/contrib/cmake_unofficial/CMakeLists.txt -+++ b/contrib/cmake_unofficial/CMakeLists.txt -@@ -12,6 +12,7 @@ - - set(LZ4_TOP_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../..") - -+option(LZ4_BUILD_CLI "Build lz4 program" ON) - option(LZ4_BUILD_LEGACY_LZ4C "Build lz4c progam with legacy argument support" ON) - - # Parse version information -@@ -128,10 +129,12 @@ else() - endif() - - # lz4 -+if(LZ4_BUILD_CLI) - set(LZ4_PROGRAMS_BUILT lz4cli) - add_executable(lz4cli ${LZ4_CLI_SOURCES}) - set_target_properties(lz4cli PROPERTIES OUTPUT_NAME lz4) - target_link_libraries(lz4cli ${LZ4_LINK_LIBRARY}) -+endif() - - # lz4c - if (LZ4_BUILD_LEGACY_LZ4C) -@@ -193,7 +196,7 @@ if(NOT LZ4_BUNDLED_MODE) - DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig") - - # install lz4cat and unlz4 symlinks on *nix -- if(UNIX) -+ if(UNIX AND LZ4_BUILD_CLI) - install(CODE " - foreach(f lz4cat unlz4) - set(dest \"\$ENV{DESTDIR}${CMAKE_INSTALL_FULL_BINDIR}/\${f}\") -@@ -209,7 +212,7 @@ if(NOT LZ4_BUNDLED_MODE) - install(FILES "${CMAKE_CURRENT_BINARY_DIR}/${f}.1" - DESTINATION "${CMAKE_INSTALL_MANDIR}/man1") - endforeach() -- endif(UNIX) -+ endif(UNIX AND LZ4_BUILD_CLI) - endif(NOT LZ4_BUNDLED_MODE) - - # pkg-config diff --git a/recipes/lz4/all/patches/0003-cmake-minimum-required-first-1.9.2.patch b/recipes/lz4/all/patches/0003-cmake-minimum-required-first-1.9.2.patch deleted file mode 100644 index 2333a27871ed9b..00000000000000 --- a/recipes/lz4/all/patches/0003-cmake-minimum-required-first-1.9.2.patch +++ /dev/null @@ -1,25 +0,0 @@ ---- a/contrib/cmake_unofficial/CMakeLists.txt -+++ b/contrib/cmake_unofficial/CMakeLists.txt -@@ -9,11 +9,10 @@ - # - # LZ4's CMake support is maintained by Evan Nemerson; when filing - # bugs please mention @nemequ to make sure I see it. -+cmake_minimum_required (VERSION 2.8.6) - - set(LZ4_TOP_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../..") - --option(LZ4_BUILD_CLI "Build lz4 program" ON) --option(LZ4_BUILD_LEGACY_LZ4C "Build lz4c progam with legacy argument support" ON) - - # Parse version information - file(STRINGS "${LZ4_TOP_SOURCE_DIR}/lib/lz4.h" LZ4_VERSION_MAJOR REGEX "^#define LZ4_VERSION_MAJOR +([0-9]+) +.*$") -@@ -34,7 +33,8 @@ else() - LANGUAGES C) - endif() - --cmake_minimum_required (VERSION 2.8.6) -+option(LZ4_BUILD_CLI "Build lz4 program" ON) -+option(LZ4_BUILD_LEGACY_LZ4C "Build lz4c progam with legacy argument support" ON) - - # If LZ4 is being bundled in another project, we don't want to - # install anything. However, we want to let people override this, so diff --git a/recipes/lz4/config.yml b/recipes/lz4/config.yml index f96920e268df81..7af8322c881295 100644 --- a/recipes/lz4/config.yml +++ b/recipes/lz4/config.yml @@ -1,7 +1,7 @@ versions: + "1.10.0": + folder: all "1.9.4": folder: all "1.9.3": folder: all - "1.9.2": - folder: all From 3e309db2779f92910d2c0fc25daefdc35431eac5 Mon Sep 17 00:00:00 2001 From: ccn Date: Fri, 26 Jul 2024 09:24:16 -0400 Subject: [PATCH 091/132] (#24665) Update conandata_yml_format.md Clarify computation of sha256 checksum in documentation --- docs/adding_packages/conandata_yml_format.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/docs/adding_packages/conandata_yml_format.md b/docs/adding_packages/conandata_yml_format.md index ed96865802cc0a..065e1f2da34d46 100644 --- a/docs/adding_packages/conandata_yml_format.md +++ b/docs/adding_packages/conandata_yml_format.md @@ -126,8 +126,9 @@ Usually, `url` has a [https](https://tools.ietf.org/html/rfc2660) scheme, but ot #### sha256 [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](https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.utility/get-filehash?view=powershell-7.4) you can use PowerShell). +You may use an [online service](https://hash.online-convert.com/sha256-generator) to compute `sha256` sum for the given file located at `url`. + +If you're using linux you can run `wget -q -O - url | sha256sum` to get the hash which uses the [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 2b58aa00e449f3b53c2e99fcafef8bf3b1f6f6d3 Mon Sep 17 00:00:00 2001 From: Marian Klymov Date: Fri, 26 Jul 2024 16:51:42 +0300 Subject: [PATCH 092/132] (#24696) icu: fix build with Emscripten for 74.2 --- recipes/icu/all/conandata.yml | 4 + .../patches/0002-74.2-fix-emscripten.patch | 109 ++++++++++++++++++ 2 files changed, 113 insertions(+) create mode 100644 recipes/icu/all/patches/0002-74.2-fix-emscripten.patch diff --git a/recipes/icu/all/conandata.yml b/recipes/icu/all/conandata.yml index ffa121dbd1c685..2419b336ab78d8 100644 --- a/recipes/icu/all/conandata.yml +++ b/recipes/icu/all/conandata.yml @@ -19,6 +19,10 @@ patches: - patch_file: "patches/0001-69.1-fix-mingw.patch" "74.2": - patch_file: "patches/0001-69.1-fix-mingw.patch" + - patch_file: "patches/0002-74.2-fix-emscripten.patch" + patch_description: "Add config file for wasm-emscripten platform" + patch_type: "portability" + patch_source: "https://gerrit.libreoffice.org/c/core/+/111130/9/external/icu/icu4c-emscripten-cross.patch.1" "74.1": - patch_file: "patches/0001-69.1-fix-mingw.patch" "73.2": diff --git a/recipes/icu/all/patches/0002-74.2-fix-emscripten.patch b/recipes/icu/all/patches/0002-74.2-fix-emscripten.patch new file mode 100644 index 00000000000000..9c7748fc3e0f1c --- /dev/null +++ b/recipes/icu/all/patches/0002-74.2-fix-emscripten.patch @@ -0,0 +1,109 @@ +--- a/source/acinclude.m4 ++++ b/source/acinclude.m4 +@@ -85,6 +85,7 @@ powerpc*-apple-darwin*) icu_cv_host_frag=mh-darwin-ppc ;; + *-dec-osf*) icu_cv_host_frag=mh-alpha-osf ;; + *-*-nto*) icu_cv_host_frag=mh-qnx ;; + *-ncr-*) icu_cv_host_frag=mh-mpras ;; ++wasm*-*-emscripten*) icu_cv_host_frag=mh-emscripten ;; + *) icu_cv_host_frag=mh-unknown ;; + esac + ] +--- /dev/null ++++ b/source/config/mh-emscripten +@@ -0,0 +1,86 @@ ++## Emscripten-specific setup ++## Copyright (c) 1999-2013, International Business Machines Corporation and ++## others. All Rights Reserved. ++## Commands to generate dependency files ++GEN_DEPS.c= $(CC) -E -MM $(DEFS) $(CPPFLAGS) ++GEN_DEPS.cc= $(CXX) -E -MM $(DEFS) $(CPPFLAGS) $(CXXFLAGS) ++ ++## Flags for position independent code ++SHAREDLIBCFLAGS = -fPIC ++SHAREDLIBCXXFLAGS = -fPIC ++SHAREDLIBCPPFLAGS = -DPIC ++ ++## Additional flags when building libraries and with threads ++THREADSCPPFLAGS = -D_REENTRANT ++LIBCPPFLAGS = ++ ++## Compiler switch to embed a runtime search path ++LD_RPATH= -Wl,-zorigin,-rpath,'$$'ORIGIN ++LD_RPATH_PRE = -Wl,-rpath, ++ ++## Force RPATH=$ORIGIN to locate own dependencies w/o need for LD_LIBRARY_PATH: ++ENABLE_RPATH=YES ++RPATHLDFLAGS=${LD_RPATH_PRE}'$$ORIGIN' ++ ++## These are the library specific LDFLAGS ++#LDFLAGSICUDT=-nodefaultlibs -nostdlib ++# Debian change: linking icudata as data only causes too many problems. ++LDFLAGSICUDT= ++ ++## Compiler switch to embed a library name ++# The initial tab in the next line is to prevent icu-config from reading it. ++ LD_SONAME = -Wl,-soname -Wl,$(notdir $(MIDDLE_SO_TARGET)) ++#SH# # We can't depend on MIDDLE_SO_TARGET being set. ++#SH# LD_SONAME= ++ ++## Shared library options ++LD_SOOPTIONS= -Wl,-Bsymbolic-functions ++ ++## Shared object suffix ++SO = so ++## Non-shared intermediate object suffix ++STATIC_O = o ++ ++## Compilation rules ++# WASM needs -pthread for atomics support ++%.$(STATIC_O): $(srcdir)/%.c ++ $(call SILENT_COMPILE,$(strip $(COMPILE.c) $(STATICCPPFLAGS) $(STATICCFLAGS)) -pthread -o $@ $<) ++ ++%.$(STATIC_O): $(srcdir)/%.cpp ++ $(call SILENT_COMPILE,$(strip $(COMPILE.cc) $(STATICCPPFLAGS) $(STATICCXXFLAGS)) -pthread -o $@ $<) ++ ++ ++## Dependency rules ++%.d: $(srcdir)/%.c ++ $(call ICU_MSG,(deps)) $< ++ @$(SHELL) -ec '$(GEN_DEPS.c) $< \ ++ | sed '\''s%\($*\)\.o[ :]*%\1.o $@ : %g'\'' > $@; \ ++ [ -s $@ ] || rm -f $@' ++ ++%.d: $(srcdir)/%.cpp ++ $(call ICU_MSG,(deps)) $< ++ @$(SHELL) -ec '$(GEN_DEPS.cc) $< \ ++ | sed '\''s%\($*\)\.o[ :]*%\1.o $@ : %g'\'' > $@; \ ++ [ -s $@ ] || rm -f $@' ++ ++## Versioned libraries rules ++ ++%.$(SO).$(SO_TARGET_VERSION_MAJOR): %.$(SO).$(SO_TARGET_VERSION) ++ $(RM) $@ && ln -s ${ Date: Fri, 26 Jul 2024 23:13:28 +0900 Subject: [PATCH 093/132] (#24719) thorvg: add version 0.14.4, remove older versions --- recipes/thorvg/all/conandata.yml | 18 +++--------------- recipes/thorvg/config.yml | 12 ++---------- 2 files changed, 5 insertions(+), 25 deletions(-) diff --git a/recipes/thorvg/all/conandata.yml b/recipes/thorvg/all/conandata.yml index 1968085d2b1e58..8d7b19a192cd6c 100644 --- a/recipes/thorvg/all/conandata.yml +++ b/recipes/thorvg/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.14.4": + url: "https://github.com/thorvg/thorvg/archive/refs/tags/v0.14.4.tar.gz" + sha256: "0adabdb61395d9ad126c49ac80aa9c971ad7a37268a77a9712790a556df32838" "0.14.2": url: "https://github.com/thorvg/thorvg/archive/refs/tags/v0.14.2.tar.gz" sha256: "04202e8f5e17b427c3b16ae3b3d4be5d3f3cdac96d5c64ed3efd7b6db3ad731f" @@ -14,18 +17,3 @@ sources: "0.13.7": url: "https://github.com/thorvg/thorvg/archive/refs/tags/v0.13.7.tar.gz" sha256: "972c84e5670a7138eec24062d4ccc243d161158ecd9c53788300a8ca6aaf3426" - "0.13.6": - url: "https://github.com/thorvg/thorvg/archive/refs/tags/v0.13.6.tar.gz" - sha256: "f24fd3647e1a309dec00f6455b32258c0dd0e0dbd1133233169467571f188bad" - "0.13.5": - url: "https://github.com/thorvg/thorvg/archive/refs/tags/v0.13.5.tar.gz" - sha256: "977ed74c3846c9a6acd5765aff776745d40e3c91507b22e51177d59c69afd198" - "0.13.4": - url: "https://github.com/thorvg/thorvg/archive/refs/tags/v0.13.4.tar.gz" - sha256: "2521adf99fb04ae543f5c14bb5fafd5ba7df0ea2e2a9e61351105c27059fc9e6" - "0.13.2": - url: "https://github.com/thorvg/thorvg/archive/refs/tags/v0.13.2.tar.gz" - sha256: "03b5dbb4c73ff221a4bd7243cc0ad377aecff4c3077f5a57ee2902e4122d3218" - "0.13.0": - url: "https://github.com/thorvg/thorvg/archive/refs/tags/v0.13.0.tar.gz" - sha256: "4245c401fa637452c8526c0c4448d8c7915f09a6a2e1fa85d6e9032ee610b454" diff --git a/recipes/thorvg/config.yml b/recipes/thorvg/config.yml index 448de784dc4da7..62dcfcddca37d9 100644 --- a/recipes/thorvg/config.yml +++ b/recipes/thorvg/config.yml @@ -1,4 +1,6 @@ versions: + "0.14.4": + folder: all "0.14.2": folder: all "0.14.1": @@ -9,13 +11,3 @@ versions: folder: all "0.13.7": folder: all - "0.13.6": - folder: all - "0.13.5": - folder: all - "0.13.4": - folder: all - "0.13.2": - folder: all - "0.13.0": - folder: all From 9635424382e78d28793555e2d55f7e3eafcc3436 Mon Sep 17 00:00:00 2001 From: BogDan Vatra Date: Fri, 26 Jul 2024 17:22:40 +0300 Subject: [PATCH 094/132] (#19082) Add QuickPrivate module --- recipes/qt/5.x.x/conanfile.py | 3 +++ recipes/qt/6.x.x/conanfile.py | 3 +++ 2 files changed, 6 insertions(+) diff --git a/recipes/qt/5.x.x/conanfile.py b/recipes/qt/5.x.x/conanfile.py index 69f80f0f2eee05..b11a59b3d17b6a 100644 --- a/recipes/qt/5.x.x/conanfile.py +++ b/recipes/qt/5.x.x/conanfile.py @@ -964,6 +964,8 @@ def _create_private_module(module, dependencies=[]): if self.options.qtdeclarative: _create_private_module("Qml", ["CorePrivate", "Qml"]) + if self.options.gui: + _create_private_module("Quick", ["CorePrivate", "GuiPrivate", "QmlPrivate", "Quick"]) def package_info(self): self.cpp_info.set_property("cmake_file_name", "Qt5") @@ -1233,6 +1235,7 @@ def _create_plugin(pluginname, libname, plugintype, requires): self.cpp_info.components["qtQmlImportScanner"].requires = _get_corrected_reqs(["Qml"]) if self.options.gui: _create_module("Quick", ["Gui", "Qml", "QmlModels"]) + _add_build_module("qtQuick", self._cmake_qt5_private_file("Quick")) if self.options.widgets: _create_module("QuickWidgets", ["Gui", "Qml", "Quick", "Widgets"]) _create_module("QuickShapes", ["Gui", "Qml", "Quick"]) diff --git a/recipes/qt/6.x.x/conanfile.py b/recipes/qt/6.x.x/conanfile.py index 3d0fe776ff4b86..9c046142124cab 100644 --- a/recipes/qt/6.x.x/conanfile.py +++ b/recipes/qt/6.x.x/conanfile.py @@ -921,6 +921,8 @@ def _create_private_module(module, dependencies): save(self, os.path.join(self.package_folder, "lib", "cmake", "Qt6Qml", "conan_qt_qt6_policies.cmake"), textwrap.dedent("""\ set(QT_KNOWN_POLICY_QTP0001 TRUE) """)) + if self.options.gui and self.options.qtshadertools: + _create_private_module("Quick", ["CorePrivate", "GuiPrivate", "QmlPrivate", "Quick"]) if self.settings.os in ["Windows", "iOS"]: contents = textwrap.dedent("""\ @@ -1222,6 +1224,7 @@ def _create_plugin(pluginname, libname, plugintype, requires): self.cpp_info.components["qtQmlImportScanner"].requires = _get_corrected_reqs(["Qml"]) if qt_quick_enabled: _create_module("Quick", ["Gui", "Qml", "QmlModels"]) + _add_build_module("qtQuick", self._cmake_qt6_private_file("Quick")) if self.options.widgets: _create_module("QuickWidgets", ["Gui", "Qml", "Quick", "Widgets"]) _create_module("QuickShapes", ["Gui", "Qml", "Quick"]) From 3e619734f38042cace766cccd02e70c3457aef23 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Mon, 29 Jul 2024 10:34:24 +0300 Subject: [PATCH 095/132] (#24745) libwebm: use official GitHub mirror for source archives --- recipes/libwebm/all/conandata.yml | 10 ++++++---- recipes/libwebm/all/conanfile.py | 2 +- recipes/libwebm/config.yml | 4 ++-- 3 files changed, 9 insertions(+), 7 deletions(-) diff --git a/recipes/libwebm/all/conandata.yml b/recipes/libwebm/all/conandata.yml index 18c5b099c2c71c..db15e75e26a4f3 100644 --- a/recipes/libwebm/all/conandata.yml +++ b/recipes/libwebm/all/conandata.yml @@ -1,5 +1,7 @@ sources: - '1.0.0.31': - url: 'https://chromium.googlesource.com/webm/libwebm/+archive/libwebm-1.0.0.31.tar.gz' - '1.0.0.30': - url: 'https://chromium.googlesource.com/webm/libwebm/+archive/libwebm-1.0.0.30.tar.gz' + "1.0.0.31": + url: "https://github.com/webmproject/libwebm/archive/refs/tags/libwebm-1.0.0.31.tar.gz" + sha256: "616cfdca1c869222dc60d5a49d112c1464040390e3876afca4d385347c6ce55e" + "1.0.0.30": + url: "https://github.com/webmproject/libwebm/archive/refs/tags/libwebm-1.0.0.30.tar.gz" + sha256: "6c1381fd1a66e86e095b76028ede696724e198ea0e39957c9649af5f0718b96a" diff --git a/recipes/libwebm/all/conanfile.py b/recipes/libwebm/all/conanfile.py index 7d2ceec33ba43d..4fc3f3659a6590 100644 --- a/recipes/libwebm/all/conanfile.py +++ b/recipes/libwebm/all/conanfile.py @@ -42,7 +42,7 @@ def layout(self): cmake_layout(self, src_folder="src") def source(self): - get(self, **self.conan_data["sources"][self.version]) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): tc = CMakeToolchain(self) diff --git a/recipes/libwebm/config.yml b/recipes/libwebm/config.yml index 71746ecdc81bd8..c6c0e669617aaa 100644 --- a/recipes/libwebm/config.yml +++ b/recipes/libwebm/config.yml @@ -1,5 +1,5 @@ versions: - '1.0.0.31': + "1.0.0.31": folder: all - '1.0.0.30': + "1.0.0.30": folder: all From 8c7ec6b908d4ea406768887b313228dfb3cc6d80 Mon Sep 17 00:00:00 2001 From: Klaus Holst Jacobsen <48069914+klausholstjacobsen@users.noreply.github.com> Date: Mon, 29 Jul 2024 10:03:47 +0200 Subject: [PATCH 096/132] (#18936) glib/*: QNX 7.1 support * QNX 7.0 support for 2.76.1 and forward * Adding missing endline in patch file * Removing qnx 7.0 stuff * Update recipes/glib/all/conanfile.py --------- Co-authored-by: Daniel --- recipes/glib/all/conanfile.py | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/recipes/glib/all/conanfile.py b/recipes/glib/all/conanfile.py index d1e395a15a8582..491dcc75870188 100644 --- a/recipes/glib/all/conanfile.py +++ b/recipes/glib/all/conanfile.py @@ -54,6 +54,9 @@ def config_options(self): if is_msvc(self): del self.options.with_elf + if self.settings.os == "Neutrino": + del self.options.with_elf + def configure(self): if self.options.shared: self.options.rm_safe("fPIC") @@ -97,10 +100,16 @@ def generate(self): tc.project_options["selinux"] = "enabled" if self.options.get_safe("with_selinux") else "disabled" tc.project_options["libmount"] = "enabled" if self.options.get_safe("with_mount") else "disabled" - if self.settings.os == "FreeBSD": + if self.settings.os == "FreeBSD" or self.settings.os == "Neutrino": tc.project_options["xattr"] = "false" tc.project_options["tests"] = "false" tc.project_options["libelf"] = "enabled" if self.options.get_safe("with_elf") else "disabled" + + if self.settings.os == "Neutrino": + tc.cross_build["host"]["system"] = "qnx" + tc.c_link_args.append("-lm") + tc.c_link_args.append("-lsocket") + tc.generate() def _patch_sources(self): @@ -110,7 +119,7 @@ def _patch_sources(self): "subdir('fuzzing')", "#subdir('fuzzing')", ) # https://gitlab.gnome.org/GNOME/glib/-/issues/2152 - if self.settings.os != "Linux": + if self.settings.os != "Linux" and self.settings.os != "Neutrino": # allow to find gettext replace_in_file(self, os.path.join(self.source_folder, "meson.build"), @@ -197,6 +206,15 @@ def package_info(self): self.cpp_info.components["gthread-2.0"].system_libs.append("pthread") self.cpp_info.components["gio-2.0"].system_libs.append("dl") + if self.settings.os == "Neutrino": + self.cpp_info.components["gmodule-export-2.0"].sharedlinkflags.append("-Wl,--export-dynamic") + self.cpp_info.components["gmodule-2.0"].sharedlinkflags.append("-Wl,--export-dynamic") + self.cpp_info.components["glib-2.0"].system_libs.append("m") + self.cpp_info.components["glib-2.0"].system_libs.append("socket") + self.cpp_info.components["gmodule-no-export-2.0"].system_libs.append("c") + self.cpp_info.components["gio-2.0"].system_libs.append("c") + self.cpp_info.components["gio-2.0"].system_libs.append("socket") + if self.settings.os == "Windows": self.cpp_info.components["glib-2.0"].system_libs += ["ws2_32", "ole32", "shell32", "user32", "advapi32"] self.cpp_info.components["gio-2.0"].system_libs.extend(["iphlpapi", "dnsapi", "shlwapi"]) From 18f076155b8a554ffdcacb7a12e2bdf9d4b7078c Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 29 Jul 2024 17:33:52 +0900 Subject: [PATCH 097/132] (#24619) quill: add version 6.0.0 * quill: add version 5.0.0 * link rt * update 5.1.0 * link -rt on 4.0.0 or later * update 6.0.0 --- recipes/quill/all/conandata.yml | 11 +++++++---- recipes/quill/all/conanfile.py | 2 ++ recipes/quill/config.yml | 2 ++ recipes/quill/old/conanfile.py | 2 +- 4 files changed, 12 insertions(+), 5 deletions(-) diff --git a/recipes/quill/all/conandata.yml b/recipes/quill/all/conandata.yml index e3bb4f4c9035be..3e08beff90722d 100644 --- a/recipes/quill/all/conandata.yml +++ b/recipes/quill/all/conandata.yml @@ -1,10 +1,13 @@ sources: + "6.0.0": + url: "https://github.com/odygrd/quill/releases/download/v6.0.0/quill-6.0.0.zip" + sha256: "912de8486ce781d06e3f03c4267d112a0c7f20f93f0470f6ac66a52774c08283" "4.5.0": - url: "https://github.com/odygrd/quill/archive/v4.5.0.tar.gz" - sha256: "70e8f4a76fd8a83b60d378f31b70dd09a9381686ebafdcd0db08fe099f518309" + url: "https://github.com/odygrd/quill/releases/download/v4.5.0/quill-4.5.0.zip" + sha256: "cfd579e58c71f884835079287fb0212278de56c0fbbb1484a8e8b26a5e73642e" "4.4.1": - url: "https://github.com/odygrd/quill/archive/v4.4.1.tar.gz" - sha256: "c5e0c829096f81364fd55ac1358fe72b27785839474caa9c904b12a9e95c0e88" + url: "https://github.com/odygrd/quill/releases/download/v4.4.1/quill-v4.4.1.zip" + sha256: "56587af304f152445bc3594c328521666e04e580200f7a4bbc5e842fc0d7868f" "4.4.0": url: "https://github.com/odygrd/quill/archive/v4.4.0.tar.gz" sha256: "be166da93210df53aab34ece1bddd14b08506588186723b504ffeeec651bbf7c" diff --git a/recipes/quill/all/conanfile.py b/recipes/quill/all/conanfile.py index a696da22a6a0ae..6bf090b4a06698 100644 --- a/recipes/quill/all/conanfile.py +++ b/recipes/quill/all/conanfile.py @@ -84,5 +84,7 @@ def package_info(self): if self.settings.os in ["Linux", "FreeBSD"]: self.cpp_info.system_libs.append("pthread") + if Version(self.version) >= "4.4.0": + self.cpp_info.system_libs.append("rt") if self.settings.compiler == "gcc" and Version(self.settings.compiler.version).major == "8": self.cpp_info.system_libs.append("stdc++fs") diff --git a/recipes/quill/config.yml b/recipes/quill/config.yml index 5fc71b60926cd5..9b11652fad5430 100644 --- a/recipes/quill/config.yml +++ b/recipes/quill/config.yml @@ -1,4 +1,6 @@ versions: + "6.0.0": + folder: "all" "4.5.0": folder: "all" "4.4.1": diff --git a/recipes/quill/old/conanfile.py b/recipes/quill/old/conanfile.py index a45f9d7d132976..1450559554d504 100644 --- a/recipes/quill/old/conanfile.py +++ b/recipes/quill/old/conanfile.py @@ -49,7 +49,7 @@ def _compilers_minimum_versions(self): def config_options(self): if self.settings.os == "Windows": - del self.options.fPIC + del self.options.fPIC def layout(self): cmake_layout(self, src_folder="src") From be88746d26de374e2b0b483553a8c78a04c57996 Mon Sep 17 00:00:00 2001 From: Uilian Ries Date: Mon, 29 Jul 2024 10:04:14 +0100 Subject: [PATCH 098/132] (#24642) [qt6] Add support for MACOSX_BUNDLE * Add support for Info.plist.app.in on Mac Signed-off-by: Uilian Ries * qt: add version ranges to `libpng` and `expat` * qt: use version ranges for some tool requires * Use relative path for res folder Signed-off-by: Uilian Ries --------- Signed-off-by: Uilian Ries Co-authored-by: Martin Valgur Co-authored-by: Luis Caro Campos <3535649+jcar87@users.noreply.github.com> --- recipes/qt/5.x.x/conanfile.py | 8 ++++---- recipes/qt/6.x.x/conanfile.py | 12 ++++++++---- 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/recipes/qt/5.x.x/conanfile.py b/recipes/qt/5.x.x/conanfile.py index b11a59b3d17b6a..cd5ddffbd5999a 100644 --- a/recipes/qt/5.x.x/conanfile.py +++ b/recipes/qt/5.x.x/conanfile.py @@ -381,7 +381,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.42") + self.requires("libpng/[>=1.6 <2]") if self.options.with_sqlite3 and not self.options.multiconfiguration: self.requires("sqlite3/3.45.0") if self.options.get_safe("with_mysql", False): @@ -404,7 +404,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.6.0") + self.requires("expat/[>=2.6.2 <3]") self.requires("opus/1.4") if not self.options.qtwayland: self.requires("xorg-proto/2022.2") @@ -445,9 +445,9 @@ def package_id(self): def build_requirements(self): if self._settings_build.os == "Windows" and is_msvc(self): - self.tool_requires("jom/1.1.3") + self.tool_requires("jom/[>=1.1 <2]") if self.options.qtwebengine: - self.tool_requires("ninja/1.11.1") + self.tool_requires("ninja/[>=1.12 <2]") self.tool_requires("nodejs/18.15.0") self.tool_requires("gperf/3.1") # gperf, bison, flex, python >= 2.7.5 & < 3 diff --git a/recipes/qt/6.x.x/conanfile.py b/recipes/qt/6.x.x/conanfile.py index 9c046142124cab..1e24a9986d989d 100644 --- a/recipes/qt/6.x.x/conanfile.py +++ b/recipes/qt/6.x.x/conanfile.py @@ -351,7 +351,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.42") + self.requires("libpng/[>=1.6 <2]") if self.options.with_sqlite3 and not self.options.multiconfiguration: self.requires("sqlite3/3.45.0") if self.options.get_safe("with_mysql", False): @@ -380,7 +380,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.6.0") + self.requires("expat/[>=2.6.2 <3]") self.requires("opus/1.4") self.requires("xorg-proto/2022.2") self.requires("libxshmfence/1.3") @@ -400,9 +400,9 @@ def requirements(self): def build_requirements(self): self.tool_requires("cmake/[>=3.21.1 <4]") - self.tool_requires("ninja/1.11.1") + self.tool_requires("ninja/[>=1.12 <2]") if not self.conf.get("tools.gnu:pkg_config", check_type=str): - self.tool_requires("pkgconf/2.1.0") + self.tool_requires("pkgconf/[>=2.2 <3]") if self.settings.os == "Windows": self.tool_requires('strawberryperl/5.32.1.1') @@ -803,6 +803,8 @@ def package(self): if self.settings.os == "Macos": save(self, ".qmake.stash", "") save(self, ".qmake.super", "") + copy(self, "Info.plist.app.in", src=os.path.join(self.package_folder, "lib", "cmake", "Qt6", "macos"), + dst=os.path.join(self.package_folder, "res", "macos")) cmake = CMake(self) cmake.install() copy(self, "*LICENSE*", self.source_folder, os.path.join(self.package_folder, "licenses"), @@ -837,6 +839,8 @@ def package(self): filecontents += f"set(QT_VERSION_MAJOR {ver.major})\n" filecontents += f"set(QT_VERSION_MINOR {ver.minor})\n" filecontents += f"set(QT_VERSION_PATCH {ver.patch})\n" + if self.settings.os == "Macos": + filecontents += f'set(__qt_internal_cmake_apple_support_files_path "${{CMAKE_CURRENT_LIST_DIR}}/../../../res/macos")\n' targets = ["moc", "rcc", "tracegen", "cmake_automoc_parser", "qlalr", "qmake"] if self.options.with_dbus: targets.extend(["qdbuscpp2xml", "qdbusxml2cpp"]) From eeed674f2aef5e2df9730a87636e940b139e69c1 Mon Sep 17 00:00:00 2001 From: James Date: Mon, 29 Jul 2024 11:24:20 +0200 Subject: [PATCH 099/132] (#24731) fix libxslt for extensions static library --- recipes/libxslt/all/conanfile.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/recipes/libxslt/all/conanfile.py b/recipes/libxslt/all/conanfile.py index ebed177675bb03..c90421153fff47 100644 --- a/recipes/libxslt/all/conanfile.py +++ b/recipes/libxslt/all/conanfile.py @@ -225,6 +225,8 @@ def package_info(self): self.cpp_info.components["exslt"].set_property("pkg_config_name", "libexslt") self.cpp_info.components["exslt"].libs = [f"{prefix}exslt{suffix}"] self.cpp_info.components["exslt"].requires = ["xslt"] + if not self.options.shared: + self.cpp_info.components["exslt"].defines = ["LIBEXSLT_STATIC"] # TODO: to remove in conan v2 once cmake_find_package* & pkg_config generators removed self.cpp_info.names["cmake_find_package"] = "LibXslt" From 10d2fe8ebb90133479295f8e0514b642a9b78546 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Mon, 29 Jul 2024 12:55:43 +0300 Subject: [PATCH 100/132] (#24628) nanoflann: add v1.6.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * nanoflann: add v1.6.0 * Link pthread when needed --------- Co-authored-by: Abril Rincón Blanco --- recipes/nanoflann/all/conandata.yml | 3 +++ recipes/nanoflann/all/conanfile.py | 10 ++++++---- recipes/nanoflann/config.yml | 2 ++ 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/recipes/nanoflann/all/conandata.yml b/recipes/nanoflann/all/conandata.yml index f8c576a4749fe4..9d51335bc5f52b 100644 --- a/recipes/nanoflann/all/conandata.yml +++ b/recipes/nanoflann/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.6.0": + url: "https://github.com/jlblancoc/nanoflann/archive/v1.6.0.tar.gz" + sha256: "f889026fbcb241e1e9d71bab5dfb9cc35775bf18a6466a283e2cbcd60edb2705" "1.5.2": url: "https://github.com/jlblancoc/nanoflann/archive/v1.5.2.tar.gz" sha256: "2adcea7821445119a7a4f83c27abd56dba963e1e9c05a3f58bdb2273ae1b4698" diff --git a/recipes/nanoflann/all/conanfile.py b/recipes/nanoflann/all/conanfile.py index 47bfe18256ddd5..90669ce351aaf4 100644 --- a/recipes/nanoflann/all/conanfile.py +++ b/recipes/nanoflann/all/conanfile.py @@ -9,10 +9,9 @@ class NanoflannConan(ConanFile): name = "nanoflann" - description = """nanoflann is a C++11 header-only library for building KD-Trees - of datasets with different topologies: R2, R3 (point clouds), - SO(2) and SO(3) (2D and 3D rotation groups). - """ + description = ("nanoflann is a C++11 header-only library for building KD-Trees" + " of datasets with different topologies: R2, R3 (point clouds)," + " SO(2) and SO(3) (2D and 3D rotation groups).") topics = ("flann", "nearest-neighbor", "kd-trees") url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/jlblancoc/nanoflann" @@ -48,3 +47,6 @@ def package_info(self): self.cpp_info.set_property("pkg_config_name", "nanoflann") self.cpp_info.bindirs = [] self.cpp_info.libdirs = [] + if self.settings.os in ("Linux", "FreeBSD"): + # If we ever support NANOFLANN_NO_THREADS, there would be no need to add this if set + self.cpp_info.system_libs.append("pthread") diff --git a/recipes/nanoflann/config.yml b/recipes/nanoflann/config.yml index 42431fc83ed1ec..43ca2b954f0dcf 100644 --- a/recipes/nanoflann/config.yml +++ b/recipes/nanoflann/config.yml @@ -1,4 +1,6 @@ versions: + "1.6.0": + folder: "all" "1.5.2": folder: "all" "1.5.0": From f7fd45789cb850c41cb1dbe385117cd1859b3078 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 29 Jul 2024 19:36:05 +0900 Subject: [PATCH 101/132] (#24547) stb: add new version cci.20240531, remove old versions * stb: add version cci.20240531 * remove old versions --- recipes/stb/all/conandata.yml | 12 +++--------- recipes/stb/all/conanfile.py | 7 ++----- recipes/stb/config.yml | 8 ++------ 3 files changed, 7 insertions(+), 20 deletions(-) diff --git a/recipes/stb/all/conandata.yml b/recipes/stb/all/conandata.yml index 475c92e1a56fda..1fad76276ca332 100644 --- a/recipes/stb/all/conandata.yml +++ b/recipes/stb/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "cci.20240531": + url: "https://github.com/nothings/stb/archive/013ac3beddff3dbffafd5177e7972067cd2b5083.zip" + sha256: "b7f476902bbef1b30f8ecc2d9d95c459c32302c8b559d09b589b5955463b7af8" "cci.20240213": url: "https://github.com/nothings/stb/archive/ae721c50eaf761660b4f90cc590453cdb0c2acd0.zip" sha256: "5d075769721e676746d0c25b698a0f00741f68252f9ab4b7ee245c513aeec3de" @@ -8,12 +11,3 @@ sources: "cci.20220909": url: "https://github.com/nothings/stb/archive/8b5f1f37b5b75829fc72d38e7b5d4bcbf8a26d55.zip" sha256: "93a16ee3e866e719feec459f6f132cce932c5ec751eb38e3ec1975f911353d2e" - "cci.20210910": - url: "https://github.com/nothings/stb/archive/af1a5bc352164740c1cc1354942b1c6b72eacb8a.zip" - sha256: "e3d0edbecd356506d3d69b87419de2f9d180a98099134c6343177885f6c2cbef" - "cci.20210713": - url: "https://github.com/nothings/stb/archive/3a1174060a7dd4eb652d4e6854bc4cd98c159200.zip" - sha256: "9313f6871195b97771ce7da1feae0b3d92c7936456f13099edb54a78096ca93c" - "cci.20200203": - url: "https://github.com/nothings/stb/archive/0224a44a10564a214595797b4c88323f79a5f934.zip" - sha256: "5dd9cf8a9a8c0f253fad3e9904923b2dfc740eddbc86415c3f76152bd534f23a" diff --git a/recipes/stb/all/conanfile.py b/recipes/stb/all/conanfile.py index 7c777ca96ad4c7..c1669e45a6c47b 100644 --- a/recipes/stb/all/conanfile.py +++ b/recipes/stb/all/conanfile.py @@ -10,10 +10,10 @@ class StbConan(ConanFile): name = "stb" description = "single-file public domain libraries for C/C++" - topics = ("stb", "single-file") + license = ("Unlicense", "MIT") url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/nothings/stb" - license = ("Unlicense", "MIT") + topics = ("stb", "single-file", "header-only") package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True @@ -51,9 +51,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, "LICENSE", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) copy(self, "*.h", src=self.source_folder, dst=os.path.join(self.package_folder, "include")) diff --git a/recipes/stb/config.yml b/recipes/stb/config.yml index 6df647ee3d6a75..ea0f41f79734d9 100644 --- a/recipes/stb/config.yml +++ b/recipes/stb/config.yml @@ -1,13 +1,9 @@ versions: + "cci.20240531": + folder: all "cci.20240213": folder: all "cci.20230920": folder: all "cci.20220909": folder: all - "cci.20210910": - folder: all - "cci.20210713": - folder: all - "cci.20200203": - folder: all From 5c7a047fad8f38be431f575825ee691ff892d6c2 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Mon, 29 Jul 2024 14:31:40 +0300 Subject: [PATCH 102/132] (#21987) libaec: add v1.1.2, modernize, add components, simplify patching * libaec: add v1.1.2, modernize, add components, simplify patching * libaec: fix static lib suffix --- recipes/libaec/all/conandata.yml | 25 +--- recipes/libaec/all/conanfile.py | 92 ++++++------ ...1.0.4-0001-Fix-static-library-builds.patch | 135 ------------------ .../patches/1.0.4-0002-fix-install-ios.patch | 10 -- .../1.0.6-0001-fix-library-builds.patch | 113 --------------- ....0.6-0002-fix-cmake-build-with-ninja.patch | 11 -- .../libaec/all/set_runtime_output_dir.cmake | 2 + .../libaec/all/test_package/CMakeLists.txt | 5 +- recipes/libaec/all/test_package/conanfile.py | 14 +- recipes/libaec/config.yml | 4 +- 10 files changed, 64 insertions(+), 347 deletions(-) delete mode 100644 recipes/libaec/all/patches/1.0.4-0001-Fix-static-library-builds.patch delete mode 100644 recipes/libaec/all/patches/1.0.4-0002-fix-install-ios.patch delete mode 100644 recipes/libaec/all/patches/1.0.6-0001-fix-library-builds.patch delete mode 100644 recipes/libaec/all/patches/1.0.6-0002-fix-cmake-build-with-ninja.patch create mode 100644 recipes/libaec/all/set_runtime_output_dir.cmake diff --git a/recipes/libaec/all/conandata.yml b/recipes/libaec/all/conandata.yml index f02aae783d14c2..02f7c64ddfad55 100644 --- a/recipes/libaec/all/conandata.yml +++ b/recipes/libaec/all/conandata.yml @@ -1,22 +1,7 @@ sources: + "1.1.2": + url: "https://gitlab.dkrz.de/k202009/libaec/-/archive/v1.1.2/libaec-v1.1.2.tar.bz2" + sha256: "bdad8c7923537c3695327aa85afdcd714fb3d30a5f956a27ba2971ef98c043ac" "1.0.6": - url: "https://gitlab.dkrz.de/k202009/libaec/uploads/45b10e42123edd26ab7b3ad92bcf7be2/libaec-1.0.6.tar.gz" - sha256: "032961877231113bb094ef224085e6d66fd670f85a3e17f53d0f131abf24f2fd" - "1.0.4": - url: "https://gitlab.dkrz.de/k202009/libaec/uploads/ea0b7d197a950b0c110da8dfdecbb71f/libaec-1.0.4.tar.gz" - sha256: "f2b1b232083bd8beaf8a54a024225de3dd72a673a9bcdf8c3ba96c39483f4309" -patches: - "1.0.4": - - patch_file: "patches/1.0.4-0001-Fix-static-library-builds.patch" - patch_type: "conan" - patch_description: "Fix static library builds" - - patch_file: "patches/1.0.4-0002-fix-install-ios.patch" - patch_type: "conan" - patch_description: "Fix install iOS" - "1.0.6": - - patch_file: "patches/1.0.6-0001-fix-library-builds.patch" - patch_type: "conan" - patch_description: "Fix library builds" - - patch_file: "patches/1.0.6-0002-fix-cmake-build-with-ninja.patch" - patch_type: "conan" - patch_description: "Ninja needs 'aec' binary to be put in a separate folder to an imaginary 'aec' object output" + url: "https://gitlab.dkrz.de/k202009/libaec/-/archive/v1.0.6/libaec-v1.0.6.tar.bz2" + sha256: "31fb65b31e835e1a0f3b682d64920957b6e4407ee5bbf42ca49549438795a288" diff --git a/recipes/libaec/all/conanfile.py b/recipes/libaec/all/conanfile.py index e624f9f76f9b59..82b06f8697908e 100644 --- a/recipes/libaec/all/conanfile.py +++ b/recipes/libaec/all/conanfile.py @@ -1,12 +1,12 @@ from conan import ConanFile from conan.errors import ConanInvalidConfiguration -from conan.tools.microsoft import is_msvc -from conan.tools.files import apply_conandata_patches, export_conandata_patches, get, copy, rm, rmdir, replace_in_file -from conan.tools.scm import Version from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout +from conan.tools.files import get, copy, rm, rmdir, replace_in_file +from conan.tools.microsoft import is_msvc, check_min_vs +from conan.tools.scm import Version import os -required_conan_version = ">=1.52.0" +required_conan_version = ">=1.53.0" class LibaecConan(ConanFile): @@ -16,6 +16,8 @@ class LibaecConan(ConanFile): homepage = "https://gitlab.dkrz.de/k202009/libaec" description = "Adaptive Entropy Coding library" topics = "dsp", "encoding", "decoding" + + package_type = "library" settings = "os", "compiler", "build_type", "arch" options = { "shared": [True, False], @@ -27,7 +29,7 @@ class LibaecConan(ConanFile): } def export_sources(self): - export_conandata_patches(self) + copy(self, "set_runtime_output_dir.cmake", self.recipe_folder, os.path.join(self.export_sources_folder, "src")) def config_options(self): if self.settings.os == "Windows": @@ -35,72 +37,74 @@ 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.cppstd") + self.settings.rm_safe("compiler.libcxx") def layout(self): cmake_layout(self, src_folder="src") def validate(self): - if Version(self.version) >= "1.0.6" and is_msvc(self): - # libaec/1.0.6 uses "restrict" keyword which seems to be supported since Visual Studio 16. - if Version(self.settings.compiler.version) < "16": - raise ConanInvalidConfiguration("{} does not support Visual Studio {}".format(self.name, self.settings.compiler.version)) - # In libaec/1.0.6, fail to build aec_client command with debug and shared settings in Visual Studio. - # Temporary, this recipe doesn't support these settings. - if self.options.shared and self.settings.build_type == "Debug": - raise ConanInvalidConfiguration("{} does not support debug and shared build in Visual Studio(currently)".format(self.name)) + # libaec/1.0.6 uses "restrict" keyword which seems to be supported since Visual Studio 16. + check_min_vs(self, 192) + # libaec/1.0.6 fails to build aec_client command with debug and shared settings in Visual Studio. + # Temporary, this recipe doesn't support these settings. + if is_msvc(self) and self.options.shared and self.settings.build_type == "Debug": + raise ConanInvalidConfiguration(f"{self.name} does not support debug and shared build in Visual Studio (currently)") 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) - # 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_PROJECT_libaec_INCLUDE"] = "set_runtime_output_dir.cmake" + tc.cache_variables["CMAKE_POSITION_INDEPENDENT_CODE"] = self.options.get_safe("fPIC", True) + tc.cache_variables["BUILD_SHARED_LIBS"] = self.options.shared tc.generate() + def _patch_sources(self): + cmakelists = os.path.join(self.source_folder, "CMakeLists.txt") + replace_in_file(self, cmakelists, "set(CMAKE_C_STANDARD 99)", "set(CMAKE_C_STANDARD 11)") + replace_in_file(self, cmakelists, "set(CMAKE_POSITION_INDEPENDENT_CODE ON)", "") + targets = "aec_shared sz_shared" if self.options.shared else "aec_static sz_static" + aec_client = " aec_client" if Version(self.version) < "1.1" else "" + replace_in_file(self, os.path.join(self.source_folder, "src", "CMakeLists.txt"), + f"install(TARGETS aec_static aec_shared sz_static sz_shared{aec_client})", + f"install(TARGETS {targets}{aec_client} ARCHIVE DESTINATION lib LIBRARY DESTINATION lib RUNTIME DESTINATION bin)") + def build(self): - apply_conandata_patches(self) - if Version(self.version) < "1.0.6": - replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), - "add_subdirectory(tests)", "") + self._patch_sources() cmake = CMake(self) cmake.configure() cmake.build() def package(self): - if Version(self.version) < "1.0.6": - copy(self, pattern="Copyright.txt", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) - else: - copy(self, pattern="LICENSE.txt", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + copy(self, "LICENSE.txt", self.source_folder, os.path.join(self.package_folder, "licenses")) cmake = CMake(self) cmake.install() + copy(self, "*.h", os.path.join(self.source_folder, "include"), os.path.join(self.package_folder, "include")) + copy(self, "libaec.h", os.path.join(self.build_folder, "include"), os.path.join(self.package_folder, "include")) rmdir(self, os.path.join(self.package_folder, "share")) rmdir(self, os.path.join(self.package_folder, "cmake")) rm(self, "*.pdb", os.path.join(self.package_folder, "bin")) def package_info(self): + self.cpp_info.set_property("cmake_file_name", "libaec") + + # CMake targets are based on + # https://gitlab.dkrz.de/k202009/libaec/-/blob/master/cmake/libaec-config.cmake.in + self.cpp_info.components["aec"].set_property("cmake_target_name", "libaec::aec") aec_name = "aec" - if self.settings.os == "Windows" and Version(self.version) >= "1.0.6" and not self.options.shared: - aec_name = "aec_static" + if self.settings.os == "Windows" and not self.options.shared: + aec_name = "aec-static" + self.cpp_info.components["aec"].libs = [aec_name] + + self.cpp_info.components["sz"].set_property("cmake_target_name", "libaec::sz") szip_name = "sz" if self.settings.os == "Windows": - if Version(self.version) >= "1.0.6": - szip_name = "szip" if self.options.shared else "szip_static" - elif self.options.shared: - szip_name = "szip" - self.cpp_info.libs = [szip_name, aec_name] + szip_name = "szip" if self.options.shared else "szip-static" + self.cpp_info.components["sz"].libs = [szip_name] + + # TODO: Legacy, to be removed on Conan 2.0 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/libaec/all/patches/1.0.4-0001-Fix-static-library-builds.patch b/recipes/libaec/all/patches/1.0.4-0001-Fix-static-library-builds.patch deleted file mode 100644 index ba756f64d8e763..00000000000000 --- a/recipes/libaec/all/patches/1.0.4-0001-Fix-static-library-builds.patch +++ /dev/null @@ -1,135 +0,0 @@ -From 6df13969e6967dbed660271011e872c9c366037a Mon Sep 17 00:00:00 2001 -From: Brennan Ashton -Date: Tue, 28 Jan 2020 03:59:02 -0800 -Subject: [PATCH] Fix static library builds - -Signed-off-by: Brennan Ashton ---- - CMakeLists.txt | 3 --- - src/CMakeLists.txt | 10 +++++++++- - src/libaec.h | 28 ++++++++++------------------ - src/szlib.h | 6 +++--- - 4 files changed, 22 insertions(+), 25 deletions(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index d71d26c..4f38618 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -43,9 +43,6 @@ option(BUILD_SHARED_LIBS "Build Shared Libraries" ON) - if(BUILD_SHARED_LIBS) - set (LIB_TYPE SHARED) - else(BUILD_SHARED_LIBS) -- if(WIN32) -- message(WARNING "You will have to modify libaec.h for static libs.") -- endif(WIN32) - set(LIB_TYPE STATIC) - endif(BUILD_SHARED_LIBS) - -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index ed6053e..93a78f2 100644 ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -1,5 +1,13 @@ -+include (GenerateExportHeader) - add_library(aec ${LIB_TYPE} ${libaec_SRCS}) - set_target_properties(aec PROPERTIES VERSION 0.0.10 SOVERSION 0) -+generate_export_header(aec -+ BASE_NAME libaec -+ EXPORT_MACRO_NAME libaec_EXPORT -+ EXPORT_FILE_NAME ${PROJECT_BINARY_DIR}/libaec_Export.h -+ STATIC_DEFINE libaec_BUILT_AS_STATIC -+) -+ - add_library(sz ${LIB_TYPE} sz_compat.c) - set_target_properties(sz PROPERTIES VERSION 2.0.1 SOVERSION 2) - -@@ -41,7 +49,7 @@ else(WIN32) - DESTINATION ${CMAKE_INSTALL_FULL_MANDIR}/man1 COMPONENT doc) - endif(WIN32) - --install(FILES libaec.h szlib.h -+install(FILES libaec.h szlib.h ${PROJECT_BINARY_DIR}/libaec_Export.h - DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} - COMPONENT headers) - install(TARGETS aec_client -diff --git a/src/libaec.h b/src/libaec.h -index bb43be9..44505e4 100644 ---- a/src/libaec.h -+++ b/src/libaec.h -@@ -52,20 +52,12 @@ - - #include - -+#include "libaec_Export.h" -+ - #ifdef __cplusplus - extern "C"{ - #endif - --#if BUILDING_LIBAEC && HAVE_VISIBILITY --# define LIBAEC_DLL_EXPORTED __attribute__((__visibility__("default"))) --#elif BUILDING_LIBAEC && defined _MSC_VER --# define LIBAEC_DLL_EXPORTED __declspec(dllexport) --#elif defined _MSC_VER --# define LIBAEC_DLL_EXPORTED __declspec(dllimport) --#else --# define LIBAEC_DLL_EXPORTED --#endif -- - struct internal_state; - - struct aec_stream { -@@ -155,19 +147,19 @@ struct aec_stream { - /*********************************************/ - /* Streaming encoding and decoding functions */ - /*********************************************/ --LIBAEC_DLL_EXPORTED int aec_encode_init(struct aec_stream *strm); --LIBAEC_DLL_EXPORTED int aec_encode(struct aec_stream *strm, int flush); --LIBAEC_DLL_EXPORTED int aec_encode_end(struct aec_stream *strm); -+libaec_EXPORT int aec_encode_init(struct aec_stream *strm); -+libaec_EXPORT int aec_encode(struct aec_stream *strm, int flush); -+libaec_EXPORT int aec_encode_end(struct aec_stream *strm); - --LIBAEC_DLL_EXPORTED int aec_decode_init(struct aec_stream *strm); --LIBAEC_DLL_EXPORTED int aec_decode(struct aec_stream *strm, int flush); --LIBAEC_DLL_EXPORTED int aec_decode_end(struct aec_stream *strm); -+libaec_EXPORT int aec_decode_init(struct aec_stream *strm); -+libaec_EXPORT int aec_decode(struct aec_stream *strm, int flush); -+libaec_EXPORT int aec_decode_end(struct aec_stream *strm); - - /***************************************************************/ - /* Utility functions for encoding or decoding a memory buffer. */ - /***************************************************************/ --LIBAEC_DLL_EXPORTED int aec_buffer_encode(struct aec_stream *strm); --LIBAEC_DLL_EXPORTED int aec_buffer_decode(struct aec_stream *strm); -+libaec_EXPORT int aec_buffer_encode(struct aec_stream *strm); -+libaec_EXPORT int aec_buffer_decode(struct aec_stream *strm); - - #ifdef __cplusplus - } -diff --git a/src/szlib.h b/src/szlib.h -index 1eaa577..18b6a3c 100644 ---- a/src/szlib.h -+++ b/src/szlib.h -@@ -80,15 +80,15 @@ typedef struct SZ_com_t_s - int pixels_per_scanline; - } SZ_com_t; - --LIBAEC_DLL_EXPORTED int SZ_BufftoBuffCompress( -+libaec_EXPORT int SZ_BufftoBuffCompress( - void *dest, size_t *destLen, - const void *source, size_t sourceLen, - SZ_com_t *param); --LIBAEC_DLL_EXPORTED int SZ_BufftoBuffDecompress( -+libaec_EXPORT int SZ_BufftoBuffDecompress( - void *dest, size_t *destLen, - const void *source, size_t sourceLen, - SZ_com_t *param); - --LIBAEC_DLL_EXPORTED int SZ_encoder_enabled(void); -+libaec_EXPORT int SZ_encoder_enabled(void); - - #endif /* SZLIB_H */ --- -2.24.1 - diff --git a/recipes/libaec/all/patches/1.0.4-0002-fix-install-ios.patch b/recipes/libaec/all/patches/1.0.4-0002-fix-install-ios.patch deleted file mode 100644 index 7d7d56d1f60b62..00000000000000 --- a/recipes/libaec/all/patches/1.0.4-0002-fix-install-ios.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -53,7 +53,6 @@ install(FILES libaec.h szlib.h ${PROJECT_BINARY_DIR}/libaec_Export.h - DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} - COMPONENT headers) - install(TARGETS aec_client -- RUNTIME - DESTINATION ${CMAKE_INSTALL_BINDIR} - COMPONENT applications) - diff --git a/recipes/libaec/all/patches/1.0.6-0001-fix-library-builds.patch b/recipes/libaec/all/patches/1.0.6-0001-fix-library-builds.patch deleted file mode 100644 index 500c20a889d8c1..00000000000000 --- a/recipes/libaec/all/patches/1.0.6-0001-fix-library-builds.patch +++ /dev/null @@ -1,113 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 6f75ead..c974cce 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -4,7 +4,7 @@ project(libaec LANGUAGES C VERSION 1.0.6) - # Automatically export symbols for Windows DLLs - set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS TRUE) - --set(CMAKE_C_STANDARD 99) -+set(CMAKE_C_STANDARD 11) - set(CMAKE_C_VISIBILITY_PRESET hidden) - set(CMAKE_POSITION_INDEPENDENT_CODE ON) - include(CTest) -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index a26f9b7..3cd8f72 100644 ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -10,12 +10,17 @@ target_include_directories(aec - "$" - "$") - --# Create both static and shared aec library. -+if (NOT BUILD_SHARED_LIBS) -+ -+# Create aec library. - add_library(aec_static STATIC "$") - target_link_libraries(aec_static PUBLIC aec) - set_target_properties(aec_static - PROPERTIES -- OUTPUT_NAME $,aec_static,aec>) -+ OUTPUT_NAME $,aec_static,aec> -+ PUBLIC_HEADER ../include/libaec.h) -+ -+else() - - add_library(aec_shared SHARED "$") - target_link_libraries(aec_shared PUBLIC aec) -@@ -26,17 +31,24 @@ set_target_properties(aec_shared - OUTPUT_NAME aec - PUBLIC_HEADER ../include/libaec.h) - -+endif() -+ - # Wrapper for compatibility with szip - add_library(sz OBJECT sz_compat.c) - target_link_libraries(sz PUBLIC aec) - --# Create both static and shared szip library. -+# Create szip library. -+if (NOT BUILD_SHARED_LIBS) -+ - add_library(sz_static STATIC "$" "$") - set_target_properties(sz_static - PROPERTIES -- OUTPUT_NAME $,szip_static,sz>) -+ OUTPUT_NAME $,szip_static,sz> -+ PUBLIC_HEADER ../include/szlib.h) - target_link_libraries(sz_static PUBLIC sz) - -+else() -+ - add_library(sz_shared SHARED "$" "$") - target_link_libraries(sz_shared PUBLIC sz) - set_target_properties(sz_shared -@@ -46,11 +58,16 @@ set_target_properties(sz_shared - OUTPUT_NAME $,szip,sz> - PUBLIC_HEADER ../include/szlib.h) - -+endif() -+ - # Simple client for testing and benchmarking. - # Can also be used stand-alone - add_executable(aec_client aec.c) - set_target_properties(aec_client PROPERTIES OUTPUT_NAME aec) - target_link_libraries(aec_client PUBLIC aec) -+if (MSVC) -+ target_compile_options(aec_client PUBLIC /FS /Z7) -+endif() - - include(GNUInstallDirs) - if(UNIX) -@@ -61,23 +78,14 @@ if(UNIX) - PROPERTIES - COMPILE_DEFINITIONS - "HAVE_VISIBILITY=$;BUILDING_LIBAEC") -- -- # The shell scripts for benchmarking are supported on unix only -- add_executable(utime EXCLUDE_FROM_ALL utime.c) -- target_include_directories(utime PRIVATE "${CMAKE_CURRENT_BINARY_DIR}/..") -- add_custom_target(bench -- COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/benc.sh -- ${CMAKE_CURRENT_SOURCE_DIR}/../data/typical.rz -- COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/bdec.sh -- DEPENDS aec_client utime) - endif() - --if(UNIX OR MINGW) -- # Install manpage -- install( -- FILES aec.1 -- DESTINATION ${CMAKE_INSTALL_FULL_MANDIR}/man1 -- COMPONENT doc) --endif() -+if (NOT BUILD_SHARED_LIBS) - --install(TARGETS aec_static aec_shared sz_static sz_shared aec_client) -+install(TARGETS aec_static sz_static aec_client) -+ -+else() -+ -+install(TARGETS aec_shared sz_shared aec_client) -+ -+endif() diff --git a/recipes/libaec/all/patches/1.0.6-0002-fix-cmake-build-with-ninja.patch b/recipes/libaec/all/patches/1.0.6-0002-fix-cmake-build-with-ninja.patch deleted file mode 100644 index b3782f6654ad35..00000000000000 --- a/recipes/libaec/all/patches/1.0.6-0002-fix-cmake-build-with-ninja.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/CMakeLists.txt 2021-09-17 19:28:01.000000000 +0800 -+++ b/CMakeLists.txt 2022-11-04 07:43:58.413439439 +0800 -@@ -12,6 +12,8 @@ - include(TestBigEndian) - test_big_endian(WORDS_BIGENDIAN) - -+set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/bin) -+ - # Check for __builtin_clzll for faster decoding - include(CheckCSourceCompiles) - check_c_source_compiles( diff --git a/recipes/libaec/all/set_runtime_output_dir.cmake b/recipes/libaec/all/set_runtime_output_dir.cmake new file mode 100644 index 00000000000000..d154a1133b3277 --- /dev/null +++ b/recipes/libaec/all/set_runtime_output_dir.cmake @@ -0,0 +1,2 @@ +# Ninja needs 'aec' binary to be put in a separate folder to an imaginary 'aec' object output +set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/bin) diff --git a/recipes/libaec/all/test_package/CMakeLists.txt b/recipes/libaec/all/test_package/CMakeLists.txt index f87e0b5ca8eb98..957285057e22bb 100644 --- a/recipes/libaec/all/test_package/CMakeLists.txt +++ b/recipes/libaec/all/test_package/CMakeLists.txt @@ -1,7 +1,8 @@ -cmake_minimum_required(VERSION 3.1.3) +cmake_minimum_required(VERSION 3.15) project(test_package C) find_package(libaec CONFIG REQUIRED) add_executable(${PROJECT_NAME} test_package.c) -target_link_libraries(${PROJECT_NAME} libaec::libaec) +target_link_libraries(${PROJECT_NAME} libaec::aec) +target_compile_features(${PROJECT_NAME} PRIVATE c_std_11) diff --git a/recipes/libaec/all/test_package/conanfile.py b/recipes/libaec/all/test_package/conanfile.py index 75526b1d02b79e..0c7c612cdc73eb 100644 --- a/recipes/libaec/all/test_package/conanfile.py +++ b/recipes/libaec/all/test_package/conanfile.py @@ -1,8 +1,8 @@ +import os + from conan import ConanFile from conan.tools.build import can_run -from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout -from conan.tools.scm import Version -import os +from conan.tools.cmake import CMake, cmake_layout class TestPackageConan(ConanFile): @@ -16,12 +16,6 @@ def requirements(self): def layout(self): cmake_layout(self) - def generate(self): - tc = CMakeToolchain(self) - if Version(self.dependencies["libaec"].ref.version) >= "1.0.6": - tc.variables["CMAKE_C_STANDARD"] = "11" - tc.generate() - def build(self): cmake = CMake(self) cmake.configure() @@ -29,5 +23,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/libaec/config.yml b/recipes/libaec/config.yml index a41a7cbb0ffc2d..e52184bafc9747 100644 --- a/recipes/libaec/config.yml +++ b/recipes/libaec/config.yml @@ -1,5 +1,5 @@ versions: - "1.0.6": + "1.1.2": folder: all - "1.0.4": + "1.0.6": folder: all From f82a5bc90701b849f54b6a846e32c1e080cb04ec Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 29 Jul 2024 21:13:11 +0900 Subject: [PATCH 103/132] (#24516) plutovg: add version 0.0.1, remove pre release versions MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * plutovg: add version 0.0.1 * include stdint.h * support MSVC on 0.0.1 * remove pre release versions * Update recipes/plutovg/all/conanfile.py --------- Co-authored-by: Abril Rincón Blanco --- recipes/plutovg/all/conandata.yml | 17 +++-- recipes/plutovg/all/conanfile.py | 65 +++++++++++++------ .../patches/0.0.1-0001-include-stdint.patch | 12 ++++ .../plutovg/all/test_package/CMakeLists.txt | 7 -- recipes/plutovg/all/test_package/conanfile.py | 22 ++++--- recipes/plutovg/all/test_package/meson.build | 5 ++ .../plutovg/all/test_package/test_package.c | 22 +++++-- .../all/test_v1_package/CMakeLists.txt | 8 --- .../plutovg/all/test_v1_package/conanfile.py | 17 ----- recipes/plutovg/config.yml | 6 +- 10 files changed, 101 insertions(+), 80 deletions(-) create mode 100644 recipes/plutovg/all/patches/0.0.1-0001-include-stdint.patch delete mode 100644 recipes/plutovg/all/test_package/CMakeLists.txt create mode 100644 recipes/plutovg/all/test_package/meson.build delete mode 100644 recipes/plutovg/all/test_v1_package/CMakeLists.txt delete mode 100644 recipes/plutovg/all/test_v1_package/conanfile.py diff --git a/recipes/plutovg/all/conandata.yml b/recipes/plutovg/all/conandata.yml index caee6f61d4f897..6ca1f29254c5bc 100644 --- a/recipes/plutovg/all/conandata.yml +++ b/recipes/plutovg/all/conandata.yml @@ -1,10 +1,9 @@ sources: - "cci.20230205": - url: "https://github.com/sammycage/plutovg/archive/ccaa687ac6092ef548b840144820a757c24e718b.tar.gz" - sha256: "e7cb644a76612bcbaeb26f401adf7eff9cc45fbef69aadc7a9d0f84416f0ea98" - "cci.20221030": - url: "https://github.com/sammycage/plutovg/archive/4d0eee77ce7d1850aac4d90e20ddaaa313d83e6a.tar.gz" - sha256: "bb44b1107d1cd41032fecdf3e16cff59a1a06f15a92527029aacb73c5c4d059e" - "cci.20220103": - url: "https://github.com/sammycage/plutovg/archive/51f1a79e04fbb42ec9e93499a18869eea06f3054.tar.gz" - sha256: "c2ce39b8085e0a8795263666f62af15239c36964330865fd54b9db25c67e063b" + "0.0.1": + url: "https://github.com/sammycage/plutovg/archive/refs/tags/v0.0.1.tar.gz" + sha256: "593653d226dd54dc322bc0874c19bd0a80314b5471ae4da6b9cd9e12211e3261" +patches: + "0.0.1": + - patch_file: "patches/0.0.1-0001-include-stdint.patch" + patch_description: "include stdint.h" + patch_type: "portability" diff --git a/recipes/plutovg/all/conanfile.py b/recipes/plutovg/all/conanfile.py index ac581e3e792044..be43bdb8956f45 100644 --- a/recipes/plutovg/all/conanfile.py +++ b/recipes/plutovg/all/conanfile.py @@ -1,7 +1,11 @@ from conan import ConanFile -from conan.tools.files import get, copy, replace_in_file -from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout - +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, rename +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 import os required_conan_version = ">=1.53.0" @@ -24,6 +28,9 @@ class PlutoVGConan(ConanFile): "fPIC": True, } + def export_sources(self): + export_conandata_patches(self) + def config_options(self): if self.settings.os == "Windows": del self.options.fPIC @@ -31,39 +38,55 @@ def config_options(self): def configure(self): if self.options.shared: self.options.rm_safe("fPIC") - self.settings.rm_safe("compiler.libcxx") self.settings.rm_safe("compiler.cppstd") + self.settings.rm_safe("compiler.libcxx") def layout(self): - cmake_layout(self, src_folder="src") + basic_layout(self, src_folder="src") + + def build_requirements(self): + self.tool_requires("meson/[>=1.2.3 <2]") + 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 = CMakeToolchain(self) - tc.variables["CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS"] = True + tc = MesonToolchain(self) + tc.project_options["examples"] = "disabled" + tc.project_options["tests"] = "disabled" + tc.generate() + tc = PkgConfigDeps(self) + tc.generate() + tc = VirtualBuildEnv(self) tc.generate() def build(self): - replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), - "add_library(plutovg STATIC)", "add_library(plutovg)") - replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), - "add_subdirectory(example)", "") - cmake = CMake(self) - cmake.configure() - cmake.build() + apply_conandata_patches(self) + meson = Meson(self) + meson.configure() + meson.build() 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")) - copy(self, pattern="*.a", dst=os.path.join(self.package_folder, "lib"), src=self.build_folder, keep_path=False) - copy(self, pattern="*.so", dst=os.path.join(self.package_folder, "lib"), src=self.build_folder, keep_path=False) - copy(self, pattern="*.lib", dst=os.path.join(self.package_folder, "lib"), src=self.build_folder, keep_path=False) - copy(self, pattern="*.dll", dst=os.path.join(self.package_folder, "bin"), src=self.build_folder, keep_path=False) - copy(self, pattern="*.dylib", dst=os.path.join(self.package_folder, "lib"), src=self.build_folder, keep_path=False) + copy(self, "LICENSE", 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")) + + fix_apple_shared_install_name(self) + + if is_msvc(self) and not self.options.shared: + rename(self, os.path.join(self.package_folder, "lib", "libplutovg.a"), os.path.join(self.package_folder, "lib", "plutovg.lib")) def package_info(self): self.cpp_info.libs = ["plutovg"] if self.settings.os in ("FreeBSD", "Linux"): self.cpp_info.system_libs = ["m"] + if is_msvc(self) and not self.options.shared: + self.cpp_info.defines.append("PLUTOVG_BUILD_STATIC") diff --git a/recipes/plutovg/all/patches/0.0.1-0001-include-stdint.patch b/recipes/plutovg/all/patches/0.0.1-0001-include-stdint.patch new file mode 100644 index 00000000000000..38089ef589d9ad --- /dev/null +++ b/recipes/plutovg/all/patches/0.0.1-0001-include-stdint.patch @@ -0,0 +1,12 @@ +diff --git a/source/plutovg-surface.c b/source/plutovg-surface.c +index f81a51b..70be9e2 100644 +--- a/source/plutovg-surface.c ++++ b/source/plutovg-surface.c +@@ -1,5 +1,7 @@ + #include "plutovg-private.h" + ++#include ++ + #define STB_IMAGE_IMPLEMENTATION + #define STB_IMAGE_WRITE_IMPLEMENTATION + diff --git a/recipes/plutovg/all/test_package/CMakeLists.txt b/recipes/plutovg/all/test_package/CMakeLists.txt deleted file mode 100644 index 05f05dd40b2ba3..00000000000000 --- a/recipes/plutovg/all/test_package/CMakeLists.txt +++ /dev/null @@ -1,7 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package LANGUAGES C) - -find_package(plutovg REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} test_package.c) -target_link_libraries(${PROJECT_NAME} PRIVATE plutovg::plutovg) diff --git a/recipes/plutovg/all/test_package/conanfile.py b/recipes/plutovg/all/test_package/conanfile.py index a9fbb7f5431620..7433710099642c 100644 --- a/recipes/plutovg/all/test_package/conanfile.py +++ b/recipes/plutovg/all/test_package/conanfile.py @@ -1,25 +1,31 @@ from conan import ConanFile from conan.tools.build import can_run -from conan.tools.cmake import cmake_layout, CMake +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 = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + generators = "PkgConfigDeps", "MesonToolchain", "VirtualRunEnv", "VirtualBuildEnv" test_type = "explicit" + def layout(self): + basic_layout(self) + def requirements(self): self.requires(self.tested_reference_str) - def layout(self): - cmake_layout(self) + 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): - cmake = CMake(self) - cmake.configure() - cmake.build() + meson = Meson(self) + meson.configure() + meson.build() 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/plutovg/all/test_package/meson.build b/recipes/plutovg/all/test_package/meson.build new file mode 100644 index 00000000000000..af5cd82ec83dc6 --- /dev/null +++ b/recipes/plutovg/all/test_package/meson.build @@ -0,0 +1,5 @@ +project('test_package', 'c') +package_dep = dependency('plutovg') +executable('test_package', + sources : ['test_package.c'], + dependencies : [package_dep]) diff --git a/recipes/plutovg/all/test_package/test_package.c b/recipes/plutovg/all/test_package/test_package.c index 528e8031367ec1..50be3a04fdea91 100644 --- a/recipes/plutovg/all/test_package/test_package.c +++ b/recipes/plutovg/all/test_package/test_package.c @@ -1,14 +1,26 @@ -#include "plutovg.h" +#include -int main(void) { +int main(void) +{ const int width = 150; const int height = 150; plutovg_surface_t* surface = plutovg_surface_create(width, height); - plutovg_t* pluto = plutovg_create(surface); + plutovg_canvas_t* canvas = plutovg_canvas_create(surface); - plutovg_surface_destroy(surface); - plutovg_destroy(pluto); + float center_x = width * 0.5; + float center_y = height * 0.5; + float face_radius = 70; + float eye_radius = 10; + float mouth_radius = 50; + float eye_offset_x = 25; + float eye_offset_y = 20; + float eye_x = center_x - eye_offset_x; + float eye_y = center_y - eye_offset_y; + + const float pi = 3.14159265358979323846; + plutovg_surface_destroy(surface); + plutovg_canvas_destroy(canvas); return 0; } diff --git a/recipes/plutovg/all/test_v1_package/CMakeLists.txt b/recipes/plutovg/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index de3b75d9538de0..00000000000000 --- a/recipes/plutovg/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package LANGUAGES C) - -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/plutovg/all/test_v1_package/conanfile.py b/recipes/plutovg/all/test_v1_package/conanfile.py deleted file mode 100644 index 20d4d2e28d57e0..00000000000000 --- a/recipes/plutovg/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +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) diff --git a/recipes/plutovg/config.yml b/recipes/plutovg/config.yml index 2d50305e8506d7..f6f5b5679b9d41 100644 --- a/recipes/plutovg/config.yml +++ b/recipes/plutovg/config.yml @@ -1,7 +1,3 @@ versions: - "cci.20230205": - folder: all - "cci.20221030": - folder: all - "cci.20220103": + "0.0.1": folder: all From 8f4478222291a380b84907ff2edc3a409444701e Mon Sep 17 00:00:00 2001 From: Piotr Gaczkowski Date: Mon, 29 Jul 2024 14:32:31 +0200 Subject: [PATCH 104/132] (#24605) Ohpipeline 1.155.1133 cmake * ohPipeline: Bump version to 1.155.1133 * Change version constraints * Remove waf patches * Remove cpython dependency * Switch requirements --- recipes/ohpipeline/all/conandata.yml | 9 ++++++++- recipes/ohpipeline/all/conanfile.py | 2 +- ...-missing-include.patch => 0001-missing-include.patch} | 0 recipes/ohpipeline/config.yml | 2 ++ 4 files changed, 11 insertions(+), 2 deletions(-) rename recipes/ohpipeline/all/patches/{001-missing-include.patch => 0001-missing-include.patch} (100%) diff --git a/recipes/ohpipeline/all/conandata.yml b/recipes/ohpipeline/all/conandata.yml index 22671b2e2dbe7b..3d9d1c4c370e74 100644 --- a/recipes/ohpipeline/all/conandata.yml +++ b/recipes/ohpipeline/all/conandata.yml @@ -6,8 +6,15 @@ sources: cmake: url: "https://raw.githubusercontent.com/merakiacoustic/ohPipeline/ohMediaPlayer_1.139.1000_meraki3/CMakeLists.txt" sha256: "4ebe83cf0419802f42d9d9c7ff36c666bd1094415eb29c77927273753019a202" + "1.155.1133": + source: + url: "https://github.com/openhome/ohPipeline/archive/refs/tags/ohMediaPlayer_1.155.1133.tar.gz" + sha256: "507bdf70fc6b9bf8e4605546a5c7ae99abbe537cce4b74b3e091764323939fae" + cmake: + url: "https://raw.githubusercontent.com/merakiacoustic/ohPipeline/ohMediaPlayer_1.155.1133_meraki1/CMakeLists.txt" + sha256: "6f73357f1c9a2a8dfc48db39b74c10102df34e86ae68985ff0cecf95748ba89c" patches: "1.139.1000": - - patch_file: "patches/001-missing-include.patch" + - patch_file: "patches/0001-missing-include.patch" patch_type: "portability" patch_description: "Add a missing stdlib include" diff --git a/recipes/ohpipeline/all/conanfile.py b/recipes/ohpipeline/all/conanfile.py index 556004392d8278..d2314dfa547893 100755 --- a/recipes/ohpipeline/all/conanfile.py +++ b/recipes/ohpipeline/all/conanfile.py @@ -48,7 +48,7 @@ def build_requirements(self): self.tool_requires("cmake/[>3.23 <4]") def requirements(self): - self.requires("ohnet/1.36.5182", transitive_headers=True, transitive_libs=True) + self.requires("ohnet/1.37.5454", transitive_headers=True, transitive_libs=True) self.requires("openssl/[>=1.1 <4]") self.requires("libmad/0.15.1b") self.requires("alac/cci.20121212") diff --git a/recipes/ohpipeline/all/patches/001-missing-include.patch b/recipes/ohpipeline/all/patches/0001-missing-include.patch similarity index 100% rename from recipes/ohpipeline/all/patches/001-missing-include.patch rename to recipes/ohpipeline/all/patches/0001-missing-include.patch diff --git a/recipes/ohpipeline/config.yml b/recipes/ohpipeline/config.yml index 4948dbd895802a..12fa6342057051 100644 --- a/recipes/ohpipeline/config.yml +++ b/recipes/ohpipeline/config.yml @@ -1,3 +1,5 @@ versions: "1.139.1000": folder: all + "1.155.1133": + folder: all From 44263f5ea300e0394a6636192ce1183505c2a836 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 29 Jul 2024 21:53:34 +0900 Subject: [PATCH 105/132] (#24710) mppp: add version 1.0.3 --- recipes/mppp/all/conandata.yml | 11 ++++++++++ .../1.0.3-0001-disable-warning-error.patch | 22 +++++++++++++++++++ .../1.0.3-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.3-0001-disable-warning-error.patch create mode 100644 recipes/mppp/all/patches/1.0.3-0002-remove-fmt-version.patch diff --git a/recipes/mppp/all/conandata.yml b/recipes/mppp/all/conandata.yml index 5ecb23c111e1ae..65c8b63bf08047 100644 --- a/recipes/mppp/all/conandata.yml +++ b/recipes/mppp/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.0.3": + url: "https://github.com/bluescarni/mppp/archive/v1.0.3.tar.gz" + sha256: "d5beb0002910de4ea96dc15dc0d80d759afeb2c5e68716523d519d66a7dfe423" "1.0.2": url: "https://github.com/bluescarni/mppp/archive/v1.0.2.tar.gz" sha256: "2a537bc339726388fdda39905692d3df92fceee51d264e720e0e7ab7570bcdaf" @@ -12,6 +15,14 @@ sources: url: "https://github.com/bluescarni/mppp/archive/v0.26.tar.gz" sha256: "4dbfa68802d9a1365eda884f085418afc147d01b7a928e8333e4dcc1c3b3ce9e" patches: + "1.0.3": + - patch_file: "patches/1.0.3-0001-disable-warning-error.patch" + patch_description: "disable the flag for treats warning as errors" + patch_type: "portability" + - patch_file: "patches/1.0.3-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.2": - 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/all/patches/1.0.3-0001-disable-warning-error.patch b/recipes/mppp/all/patches/1.0.3-0001-disable-warning-error.patch new file mode 100644 index 00000000000000..2bbd6313a54a7c --- /dev/null +++ b/recipes/mppp/all/patches/1.0.3-0001-disable-warning-error.patch @@ -0,0 +1,22 @@ +diff --git a/cmake/yacma/YACMACompilerLinkerSettings.cmake b/cmake/yacma/YACMACompilerLinkerSettings.cmake +index 3d9cd9d..2b8cf7b 100644 +--- a/cmake/yacma/YACMACompilerLinkerSettings.cmake ++++ b/cmake/yacma/YACMACompilerLinkerSettings.cmake +@@ -96,7 +96,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) +@@ -197,7 +197,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.3-0002-remove-fmt-version.patch b/recipes/mppp/all/patches/1.0.3-0002-remove-fmt-version.patch new file mode 100644 index 00000000000000..33106dff23d74f --- /dev/null +++ b/recipes/mppp/all/patches/1.0.3-0002-remove-fmt-version.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 6fd31fe..503cedf 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -430,7 +430,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 460a704f2241d3..518666119a0f90 100644 --- a/recipes/mppp/config.yml +++ b/recipes/mppp/config.yml @@ -1,4 +1,6 @@ versions: + "1.0.3": + folder: all "1.0.2": folder: all "1.0.0": From 477b051d3972f70899097bc418ca4c654a0befea Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 29 Jul 2024 22:34:47 +0900 Subject: [PATCH 106/132] (#24726) toml11: add version 4.1.0 --- recipes/toml11/all/conandata.yml | 3 +++ recipes/toml11/all/conanfile.py | 6 ++++-- recipes/toml11/config.yml | 2 ++ 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/recipes/toml11/all/conandata.yml b/recipes/toml11/all/conandata.yml index ac81047f5f6b38..86dbccc43bd111 100644 --- a/recipes/toml11/all/conandata.yml +++ b/recipes/toml11/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "4.1.0": + url: "https://github.com/ToruNiina/toml11/archive/refs/tags/v4.1.0.tar.gz" + sha256: "fb4c02cc708ae28e6fc3496514e3625e4b6738ed4ce40897710ca4d7a29de4f7" "4.0.3": url: "https://github.com/ToruNiina/toml11/archive/refs/tags/v4.0.3.tar.gz" sha256: "c8cbc7839cb3f235153045ce550e559f55a04554dfcab8743ba8a1e8ef6a54bf" diff --git a/recipes/toml11/all/conanfile.py b/recipes/toml11/all/conanfile.py index 6ba04d6746f118..a610df26ea139b 100644 --- a/recipes/toml11/all/conanfile.py +++ b/recipes/toml11/all/conanfile.py @@ -42,8 +42,10 @@ def package(self): 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", "toml11") self.cpp_info.set_property("cmake_target_name", "toml11::toml11") - self.cpp_info.bindirs = [] + self.cpp_info.includedirs.append(os.path.join("include", "toml11")) - self.cpp_info.libdirs = [] diff --git a/recipes/toml11/config.yml b/recipes/toml11/config.yml index 2c9b67b0ff120a..111b726b75323b 100644 --- a/recipes/toml11/config.yml +++ b/recipes/toml11/config.yml @@ -1,4 +1,6 @@ versions: + "4.1.0": + folder: all "4.0.3": folder: all "4.0.1": From c2994810ad34088cf0fff3e06ed6228f7734a0c7 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 29 Jul 2024 23:14:37 +0900 Subject: [PATCH 107/132] (#24594) libavif: add new version 1.1.0 * libavif: add version 1.1.0 * require cmake 3.19 or later --- recipes/libavif/all/conandata.yml | 7 +++ recipes/libavif/all/conanfile.py | 44 ++++++++++++++++--- ...001-disable-developer-only-codepaths.patch | 38 ++++++++++++++++ recipes/libavif/config.yml | 2 + 4 files changed, 85 insertions(+), 6 deletions(-) create mode 100644 recipes/libavif/all/patches/1.1.0-0001-disable-developer-only-codepaths.patch diff --git a/recipes/libavif/all/conandata.yml b/recipes/libavif/all/conandata.yml index f4a45a5fbdb306..fcc0c8b59fca85 100644 --- a/recipes/libavif/all/conandata.yml +++ b/recipes/libavif/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.1.0": + url: "https://github.com/AOMediaCodec/libavif/archive/refs/tags/v1.1.0.tar.gz" + sha256: "edb31951005d7a143be1724f24825809599a4832073add50eaf987733defb5c8" "1.0.4": url: "https://github.com/AOMediaCodec/libavif/archive/refs/tags/v1.0.4.tar.gz" sha256: "dc56708c83a4b934a8af2b78f67f866ba2fb568605c7cf94312acf51ee57d146" @@ -18,6 +21,10 @@ sources: url: "https://github.com/AOMediaCodec/libavif/archive/refs/tags/v0.9.3.tar.gz" sha256: "bcd9a1f57f982a9615eb7e2faf87236dc88eb1d0c886f3471c7440ead605060d" patches: + "1.1.0": + - patch_file: patches/1.1.0-0001-disable-developer-only-codepaths.patch + patch_description: "disable compiler options for develop" + patch_type: "portability" "1.0.4": - patch_file: patches/1.0.1-0001-disable-developer-only-codepaths.patch patch_description: "disable compiler options for develop" diff --git a/recipes/libavif/all/conanfile.py b/recipes/libavif/all/conanfile.py index 49fe058e914552..f9c0bcaec29013 100644 --- a/recipes/libavif/all/conanfile.py +++ b/recipes/libavif/all/conanfile.py @@ -3,6 +3,7 @@ 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.scm import Version +from conan.tools.env import VirtualBuildEnv import os import textwrap @@ -22,11 +23,19 @@ class LibAVIFConan(ConanFile): "shared": [True, False], "fPIC": [True, False], "with_decoder": ["aom", "dav1d"], + "with_ycgco_r": [True, False], + "with_gain_map": [True, False], + "with_metav1": [True, False], + "with_sample_transform": [True, False], } default_options = { "shared": False, "fPIC": True, "with_decoder": "dav1d", + "with_ycgco_r": False, + "with_gain_map": False, + "with_metav1": False, + "with_sample_transform": False, } @property @@ -39,6 +48,12 @@ def export_sources(self): def config_options(self): if self.settings.os == "Windows": del self.options.fPIC + if Version(self.version) < "1.0.0": + del self.options.with_ycgco_r + if Version(self.version) < "1.1.0": + del self.options.with_gain_map + del self.options.with_metav1 + del self.options.with_sample_transform def configure(self): if self.options.shared: @@ -65,6 +80,9 @@ def validate(self): if self._depends_on_sharpyuv and Version(self.dependencies["libwebp"].ref.version) < "1.3.0": raise ConanInvalidConfiguration(f"{self.ref} requires libwebp >= 1.3.0 in order to get libsharpyuv") + def build_requirements(self): + self.tool_requires("cmake/[>=3.19 <4]") + def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) @@ -75,19 +93,33 @@ def generate(self): tc.variables["AVIF_CODEC_DAV1D"] = self.options.with_decoder == "dav1d" tc.variables["AVIF_CODEC_AOM_DECODE"] = self.options.with_decoder == "aom" tc.variables["LIBYUV_VERSION"] = self.dependencies["libyuv"].ref.version + if "with_ycgco_r" in self.options: + tc.variables["AVIF_ENABLE_EXPERIMENTAL_YCGCO_R"] = self.options.with_ycgco_r + if "with_gain_map" in self.options: + tc.variables["AVIF_ENABLE_EXPERIMENTAL_GAIN_MAP"] = self.options.with_gain_map + if "with_metav1" in self.options: + tc.variables["AVIF_ENABLE_EXPERIMENTAL_METAV1"] = self.options.with_metav1 + if "with_sample_transform" in self.options: + tc.variables["AVIF_ENABLE_EXPERIMENTAL_SAMPLE_TRANSFORM"] = self.options.with_sample_transform tc.generate() deps = CMakeDeps(self) + if Version(self.version) >= "1.1.0": + deps.set_property("libyuv", "cmake_target_name", "yuv::yuv") deps.generate() + venv = VirtualBuildEnv(self) + venv.generate(scope="build") + def _patch_sources(self): apply_conandata_patches(self) cmakelists = os.path.join(self.source_folder, "CMakeLists.txt") - replace_in_file(self, cmakelists, "find_package(libyuv QUIET)", "find_package(libyuv REQUIRED CONFIG)") - replace_in_file(self, cmakelists, "${LIBYUV_LIBRARY}", "libyuv::libyuv") - replace_in_file(self, cmakelists, "find_package(dav1d REQUIRED)", "find_package(dav1d REQUIRED CONFIG)") - replace_in_file(self, cmakelists, "${DAV1D_LIBRARY}", "dav1d::dav1d") - replace_in_file(self, cmakelists, "find_package(aom REQUIRED)", "find_package(libaom-av1 REQUIRED CONFIG)") - replace_in_file(self, cmakelists, "${AOM_LIBRARIES}", "libaom-av1::libaom-av1") + if Version(self.version) < "1.1.0": + replace_in_file(self, cmakelists, "find_package(libyuv QUIET)", "find_package(libyuv REQUIRED CONFIG)") + replace_in_file(self, cmakelists, "${LIBYUV_LIBRARY}", "libyuv::libyuv") + replace_in_file(self, cmakelists, "find_package(dav1d REQUIRED)", "find_package(dav1d REQUIRED CONFIG)") + replace_in_file(self, cmakelists, "${DAV1D_LIBRARY}", "dav1d::dav1d") + replace_in_file(self, cmakelists, "find_package(aom REQUIRED)", "find_package(libaom-av1 REQUIRED CONFIG)") + replace_in_file(self, cmakelists, "${AOM_LIBRARIES}", "libaom-av1::libaom-av1") def build(self): self._patch_sources() diff --git a/recipes/libavif/all/patches/1.1.0-0001-disable-developer-only-codepaths.patch b/recipes/libavif/all/patches/1.1.0-0001-disable-developer-only-codepaths.patch new file mode 100644 index 00000000000000..205b84f1dcbf0b --- /dev/null +++ b/recipes/libavif/all/patches/1.1.0-0001-disable-developer-only-codepaths.patch @@ -0,0 +1,38 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index bc478ae..1b2229d 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -137,13 +137,13 @@ if(AVIF_BUILD_APPS + ) + set(AVIF_USE_CXX ON) + endif() +- ++if(0) + if(APPLE) + set(XCRUN xcrun) + else() + set(XCRUN) + endif() +- ++endif() + # This is also needed to get shared libraries (e.g. pixbufloader-avif) to compile against a static libavif. + set(CMAKE_POSITION_INDEPENDENT_CODE ON) + if(BUILD_SHARED_LIBS) +@@ -260,7 +260,7 @@ if(AVIF_ENABLE_EXPERIMENTAL_GAIN_MAP) + check_avif_option(AVIF_LIBXML2 TARGET LibXml2::LibXml2 PKG_NAME LibXml2) + endif() + # --------------------------------------------------------------------------------------- +- ++if(0) + # Enable all warnings + include(CheckCCompilerFlag) + if(CMAKE_C_COMPILER_ID MATCHES "Clang") +@@ -290,7 +290,7 @@ elseif(CMAKE_C_COMPILER_ID MATCHES "MSVC") + else() + message(FATAL_ERROR "libavif: Unknown compiler, bailing out") + endif() +- ++endif() + if(AVIF_ENABLE_WERROR) + # Warnings as errors + if(CMAKE_C_COMPILER_ID MATCHES "Clang" OR CMAKE_C_COMPILER_ID MATCHES "GNU") diff --git a/recipes/libavif/config.yml b/recipes/libavif/config.yml index 0a86bfa38351a4..7cb403e14cb9a2 100644 --- a/recipes/libavif/config.yml +++ b/recipes/libavif/config.yml @@ -1,4 +1,6 @@ versions: + "1.1.0": + folder: all "1.0.4": folder: all "1.0.3": From b0f01990260a11614ca2f470bd748a8a13571448 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Mon, 29 Jul 2024 17:53:15 +0300 Subject: [PATCH 108/132] (#24733) opengl-registry: add v20240721 --- recipes/opengl-registry/all/conandata.yml | 3 +++ recipes/opengl-registry/all/test_package/test_package.c | 1 + recipes/opengl-registry/config.yml | 2 ++ 3 files changed, 6 insertions(+) diff --git a/recipes/opengl-registry/all/conandata.yml b/recipes/opengl-registry/all/conandata.yml index 1fa4f5c98ec9a6..fad17557e62bee 100644 --- a/recipes/opengl-registry/all/conandata.yml +++ b/recipes/opengl-registry/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "20240721": + url: "https://github.com/KhronosGroup/OpenGL-Registry/archive/d2fe2072a3aecf3e9ef1568976e805531b50d959.tar.gz" + sha256: "0c8295a95e137b0dabd5ad138ad41d96b40e85bcca848b62a3e13378e425a08a" "cci.20220929": url: "https://github.com/KhronosGroup/OpenGL-Registry/archive/5bae8738b23d06968e7c3a41308568120943ae77.tar.gz" sha256: "e69eb5738a517737d91717c4f9bb8da1e1fac7a04afe0fc24532ca92df1da53d" diff --git a/recipes/opengl-registry/all/test_package/test_package.c b/recipes/opengl-registry/all/test_package/test_package.c index a9cb3640b85e1a..947465a4a0c1c0 100644 --- a/recipes/opengl-registry/all/test_package/test_package.c +++ b/recipes/opengl-registry/all/test_package/test_package.c @@ -4,6 +4,7 @@ #include int main() { + printf("GL_GLEXT_VERSION: %d\n", GL_GLEXT_VERSION); GLenum value = GL_UNSIGNED_BYTE_3_3_2; printf("GL_UNSIGNED_BYTE_3_3_2: %x\n", value); return EXIT_SUCCESS; diff --git a/recipes/opengl-registry/config.yml b/recipes/opengl-registry/config.yml index 0168ee0addf889..07c28129c1bb5b 100644 --- a/recipes/opengl-registry/config.yml +++ b/recipes/opengl-registry/config.yml @@ -1,3 +1,5 @@ versions: + "20240721": + folder: all "cci.20220929": folder: all From 1958cf235e54905839d41b541a0e91ab2e16634f Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Mon, 29 Jul 2024 18:14:02 +0300 Subject: [PATCH 109/132] (#24734) glslang: add missing `glslang-default-resource-limits` component Available since https://github.com/KhronosGroup/glslang/commit/f5fa593143e40c6669d14cc4d6fa38cebefabf8d / v1.3.243.0 --- recipes/glslang/all/conanfile.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/recipes/glslang/all/conanfile.py b/recipes/glslang/all/conanfile.py index 6582079e3edd80..2302eb69e2d871 100644 --- a/recipes/glslang/all/conanfile.py +++ b/recipes/glslang/all/conanfile.py @@ -233,3 +233,9 @@ def package_info(self): if self.options.build_executables: self.env_info.PATH.append(os.path.join(self.package_folder, "bin")) + + if Version(self.version) >= "1.3.243": + self.cpp_info.components["glslang-default-resource-limits"].set_property("cmake_target_name", "glslang::glslang-default-resource-limits") + self.cpp_info.components["glslang-default-resource-limits"].names["cmake_find_package"] = "glslang-default-resource-limits" + self.cpp_info.components["glslang-default-resource-limits"].names["cmake_find_package_multi"] = "glslang-default-resource-limits" + self.cpp_info.components["glslang-default-resource-limits"].libs = [f"glslang-default-resource-limits{lib_suffix}"] From a3fefa5cdd69f521c572f7db7d9ef72debd74b03 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Mon, 29 Jul 2024 18:52:34 +0300 Subject: [PATCH 110/132] (#23689) libphonenumber: new recipe * libphonenumber: new recipe * libphonenumber: minor fixes * libphonenumber: minor fix * libphonenumber: can't cross-compile geocoder * libphonenumber: add 'phone' to topics * libphonenumber: icu needs to always be transitive * review, exclude windows by now * libphonenumber: bump version, bump deps * removing dead code, replaced by comment * enable Conan 1 build too * libphonenumber: ensure CMAKE_CXX_STANDARD is set * libphonenumber: set _min_cppstd based on abseil version * Revert "enable Conan 1 build too" This reverts commit bfdcdb71b58fa160eb7c3b17ab8d94da86238b82. --------- Co-authored-by: memsharded --- recipes/libphonenumber/all/conandata.yml | 4 + recipes/libphonenumber/all/conanfile.py | 184 ++++++++++++++++++ .../all/test_package/CMakeLists.txt | 8 + .../all/test_package/conanfile.py | 26 +++ .../all/test_package/test_package.cpp | 11 ++ recipes/libphonenumber/config.yml | 3 + 6 files changed, 236 insertions(+) create mode 100644 recipes/libphonenumber/all/conandata.yml create mode 100644 recipes/libphonenumber/all/conanfile.py create mode 100644 recipes/libphonenumber/all/test_package/CMakeLists.txt create mode 100644 recipes/libphonenumber/all/test_package/conanfile.py create mode 100644 recipes/libphonenumber/all/test_package/test_package.cpp create mode 100644 recipes/libphonenumber/config.yml diff --git a/recipes/libphonenumber/all/conandata.yml b/recipes/libphonenumber/all/conandata.yml new file mode 100644 index 00000000000000..11c4aae27deb2b --- /dev/null +++ b/recipes/libphonenumber/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "8.13.42": + url: "https://github.com/google/libphonenumber/archive/refs/tags/v8.13.42.tar.gz" + sha256: "7fac3a3c5f37607108ea2ca4c334000a6c29fe1cd6b30db31505cba73ab96c7d" diff --git a/recipes/libphonenumber/all/conanfile.py b/recipes/libphonenumber/all/conanfile.py new file mode 100644 index 00000000000000..9a88f82447a589 --- /dev/null +++ b/recipes/libphonenumber/all/conanfile.py @@ -0,0 +1,184 @@ +import os + +from conan import ConanFile, conan_version +from conan.errors import ConanInvalidConfiguration +from conan.tools.apple import is_apple_os +from conan.tools.build import check_min_cppstd, valid_min_cppstd, can_run +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.files import copy, get, rm, rmdir, replace_in_file +from conan.tools.gnu import PkgConfigDeps +from conan.tools.scm import Version + +required_conan_version = ">=1.56.0 <2 || >=2.0.6" + + +class LibphonenumberConan(ConanFile): + name = "libphonenumber" + description = "Google's common C++ library for parsing, formatting, and validating international phone numbers" + license = "Apache-2.0" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/google/libphonenumber" + topics = ("phone-numbers", "phone") + + package_type = "library" + settings = "os", "arch", "compiler", "build_type" + options = { + "shared": [True, False], + "fPIC": [True, False], + "build_geocoder": [True, False], + "use_alternate_formats": [True, False], + "use_boost": [True, False], + "use_icu_regexp": [True, False], + "use_lite_metadata": [True, False], + "use_posix_thread": [True, False], + "use_std_mutex": [True, False], + #re2 is not an option, because using it crashes + } + default_options = { + "shared": False, + "fPIC": True, + "build_geocoder": True, + "use_alternate_formats": True, + "use_boost": False, + "use_icu_regexp": True, + "use_lite_metadata": False, + "use_posix_thread": False, + "use_std_mutex": True, + } + options_description = { + "build_geocoder": "Build the offline phone number geocoder", + "use_alternate_formats": "Use alternate formats for the phone number matcher.", + "use_icu_regexp": "Use ICU regexp engine", + "use_lite_metadata": "Generates smaller metadata that doesn't include example numbers", + "use_posix_thread": "Use Posix thread for multi-threading", + "use_std_mutex": "use C++ 2011 std::mutex for multi-threading", + } + + @property + def _min_cppstd(self): + return 11 if Version(self.dependencies["abseil"].ref.version) < "20230125.0" else 14 + + def config_options(self): + if self.settings.os == "Windows": + del self.options.fPIC + # TODO: could use pthread4w + del self.options.use_posix_thread + if not can_run(self): + # otherwise fails when trying to build and run generate_geocoding_data + del self.options.build_geocoder + + def configure(self): + if self.options.shared: + self.options.rm_safe("fPIC") + + def layout(self): + cmake_layout(self, src_folder="src") + + def requirements(self): + # https://github.com/google/libphonenumber/blob/v8.13.35/cpp/src/phonenumbers/phonenumberutil.h#L33-L34 + self.requires("abseil/20240116.2", transitive_headers=True) + self.requires("protobuf/5.27.0", transitive_headers=True, transitive_libs=True) + if self.options.use_boost: + # https://github.com/google/libphonenumber/blob/v8.13.35/cpp/src/phonenumbers/base/synchronization/lock_boost.h + self.requires("boost/1.85.0", transitive_headers=True, transitive_libs=True) + if self.options.use_icu_regexp or self.options.get_safe("build_geocoder"): + # https://github.com/google/libphonenumber/blob/v8.13.35/cpp/src/phonenumbers/geocoding/phonenumber_offline_geocoder.h#L23 + self.requires("icu/75.1", transitive_headers=True, transitive_libs=True) + + def validate(self): + if self.settings.os == "Windows": + raise ConanInvalidConfiguration(f"{self.name} not supported in Windows yet, contributions welcome\n" + "https://github.com/google/libphonenumber/blob/master/FAQ.md#what-about-windows") + if self.settings.compiler.cppstd: + check_min_cppstd(self, self._min_cppstd) + + if not self.options.use_std_mutex and not self.options.use_boost and not self.options.get_safe("use_posix_thread"): + raise ConanInvalidConfiguration("At least one of use_std_mutex, use_boost or use_posix_thread must be enabled") + + if not self.options.use_icu_regexp: + # Fails with 'undefined reference to `vtable for i18n::phonenumbers::ICURegExpFactory'' + raise ConanInvalidConfiguration("use_icu_regexp=False is not supported") + + if conan_version.major == 1: + raise ConanInvalidConfiguration("Conan 1.x is not supported. Contributions are welcome!") + + def build_requirements(self): + if not self.conf.get("tools.gnu:pkg_config", check_type=str): + self.tool_requires("pkgconf/2.2.0") + self.tool_requires("protobuf/") + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + tc.variables["BUILD_SHARED_LIBS"] = self.options.shared + tc.variables["BUILD_STATIC_LIB"] = not self.options.shared + tc.variables["BUILD_GEOCODER"] = self.options.get_safe("build_geocoder", False) + tc.variables["USE_ALTERNATE_FORMATS"] = self.options.use_alternate_formats + tc.variables["USE_BOOST"] = self.options.use_boost + tc.variables["USE_ICU_REGEXP"] = self.options.use_icu_regexp + tc.variables["USE_LITE_METADATA"] = self.options.use_lite_metadata + tc.variables["USE_POSIX_THREAD"] = self.options.get_safe("use_posix_thread", False) + tc.variables["USE_PROTOBUF_LITE"] = self.dependencies["protobuf"].options.lite + tc.variables["USE_RE2"] = False # Hardcoded, attempt to use it crashed + tc.variables["USE_STDMUTEX"] = self.options.use_std_mutex + tc.variables["BUILD_TESTING"] = False + tc.variables["BUILD_TOOLS_ONLY"] = False + tc.variables["REGENERATE_METADATA"] = False # Requires a Java runtime + # Otherwise tries to use , and requires the recipe to export a define accordingly. + # The define can be set based only on a compilation test. + tc.variables["USE_STD_MAP"] = True + 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.cache_variables["CMAKE_TRY_COMPILE_CONFIGURATION"] = str(self.settings.build_type) + tc.generate() + deps = CMakeDeps(self) + deps.generate() + deps = PkgConfigDeps(self) + deps.generate() + + def _patch_sources(self): + # (failed) attempt to make it work in windows/msvc, patching some build scripts + # https://github.com/conan-io/conan-center-index/pull/23689/commits/c5e7091d134174fb590218ed066c074f45274a93 + replace_in_file(self, os.path.join(self.source_folder, "cpp", "CMakeLists.txt"), " -Werror", "") + + def build(self): + self._patch_sources() + cmake = CMake(self) + cmake.configure(build_script_folder=os.path.join(self.source_folder, "cpp")) + 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): + if self.options.shared: + self.cpp_info.components["phonenumber"].set_property("cmake_target_aliases", ["libphonenumber::phonenumber-shared"]) + self.cpp_info.components["phonenumber"].libs = ["phonenumber"] + if self.settings.os in ["Linux", "FreeBSD"] and self.options.use_posix_thread: + self.cpp_info.components["phonenumber"].system_libs.append("pthread") + elif is_apple_os(self): + self.cpp_info.components["phonenumber"].frameworks.extend(["CoreFoundation", "Foundation"]) + + requires = ["abseil::absl_node_hash_set", "abseil::absl_strings", "abseil::absl_synchronization"] + if self.dependencies["protobuf"].options.lite: + requires.append("protobuf::libprotobuf-lite") + else: + requires.append("protobuf::libprotobuf") + if self.options.use_boost: + requires.extend(["boost::headers", "boost::thread"]) + if self.options.use_icu_regexp: + requires.extend(["icu::icu-uc", "icu::icu-i18n"]) + self.cpp_info.components["phonenumber"].requires = requires + + if self.options.get_safe("build_geocoder"): + if self.options.shared: + self.cpp_info.components["geocoding"].set_property("cmake_target_aliases", ["libphonenumber::geocoding-shared"]) + self.cpp_info.components["geocoding"].libs.append("geocoding") + self.cpp_info.components["geocoding"].requires = ["abseil::absl_synchronization", "icu::icu-uc"] diff --git a/recipes/libphonenumber/all/test_package/CMakeLists.txt b/recipes/libphonenumber/all/test_package/CMakeLists.txt new file mode 100644 index 00000000000000..f3619ef8d61cf8 --- /dev/null +++ b/recipes/libphonenumber/all/test_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) + +find_package(libphonenumber REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE libphonenumber::libphonenumber) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) diff --git a/recipes/libphonenumber/all/test_package/conanfile.py b/recipes/libphonenumber/all/test_package/conanfile.py new file mode 100644 index 00000000000000..ef5d7042163ecc --- /dev/null +++ b/recipes/libphonenumber/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/libphonenumber/all/test_package/test_package.cpp b/recipes/libphonenumber/all/test_package/test_package.cpp new file mode 100644 index 00000000000000..7bcbdb54c0b0f6 --- /dev/null +++ b/recipes/libphonenumber/all/test_package/test_package.cpp @@ -0,0 +1,11 @@ +#include +#include + +int main() { + using namespace i18n::phonenumbers; + PhoneNumber number; + number.set_country_code(1); + number.set_national_number(uint64{650}); + auto util = PhoneNumberUtil::GetInstance(); + util->GetLengthOfGeographicalAreaCode(number); +} diff --git a/recipes/libphonenumber/config.yml b/recipes/libphonenumber/config.yml new file mode 100644 index 00000000000000..2d7b667f122005 --- /dev/null +++ b/recipes/libphonenumber/config.yml @@ -0,0 +1,3 @@ +versions: + "8.13.42": + folder: all From 6db33970e6defaa4a5714b9477737850e705dc8c Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Mon, 29 Jul 2024 19:13:12 +0300 Subject: [PATCH 111/132] (#24737) bazel: add v7.2.1, v6.5.0, v4.2.4 * bazel: add v7.2.1 * bazel: add v6.5.0 and v4.2.4 The latest release for each major version. --- recipes/bazel/all/conandata.yml | 75 +++++++++++++++++++++++++++++++++ recipes/bazel/config.yml | 6 +++ 2 files changed, 81 insertions(+) diff --git a/recipes/bazel/all/conandata.yml b/recipes/bazel/all/conandata.yml index 243efd0d24b9de..554c60438f66fd 100644 --- a/recipes/bazel/all/conandata.yml +++ b/recipes/bazel/all/conandata.yml @@ -1,4 +1,30 @@ sources: + "7.2.1": + license: + url: "https://raw.githubusercontent.com/bazelbuild/bazel/7.2.1/LICENSE" + sha256: "cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30" + Macos: + x86_64: + url: "https://github.com/bazelbuild/bazel/releases/download/7.2.1/bazel-7.2.1-darwin-x86_64" + sha256: "2c29176d6ce9ccdd16d5a15e348c756abd6e0005c77d4695b61871219295fa96" + armv8: + url: "https://github.com/bazelbuild/bazel/releases/download/7.2.1/bazel-7.2.1-darwin-arm64" + sha256: "6ac72cd7c0b422e3e8162a6912f963ddee45c645bf7dadb924728a80076c38b2" + Linux: + x86_64: + url: "https://github.com/bazelbuild/bazel/releases/download/7.2.1/bazel-7.2.1-linux-x86_64" + sha256: "80ccd1ecb4b88750fbe5d7622d67072fddcba9da7808f13356555e480bf67875" + armv8: + url: "https://github.com/bazelbuild/bazel/releases/download/7.2.1/bazel-7.2.1-linux-arm64" + sha256: "5a4cc979353671e438b9469b833924c2361e25a580cc278a75877aedc27c1c53" + Windows: + x86_64: + url: "https://github.com/bazelbuild/bazel/releases/download/7.2.1/bazel-7.2.1-windows-x86_64.exe" + sha256: "4926bd3bf580b8b3323e0d09bde5dc6120fdd262d99f753eb61fedfb9a2cfc49" + armv8: + url: "https://github.com/bazelbuild/bazel/releases/download/7.2.1/bazel-7.2.1-windows-arm64.exe" + sha256: "d8b1a0da1c6e9d94a5ac4a2728d344e496c32e68cf27ed6a2c117d38fa994fc8" + "7.0.0": license: url: "https://raw.githubusercontent.com/bazelbuild/bazel/7.0.0/LICENSE" @@ -25,6 +51,32 @@ sources: url: "https://github.com/bazelbuild/bazel/releases/download/7.0.0/bazel-7.0.0-windows-arm64.exe" sha256: "7846fc1180c7cf1985f7748db40066590f20a62a9e5c56ee5b1f1f127cb978c5" + "6.5.0": + license: + url: "https://raw.githubusercontent.com/bazelbuild/bazel/6.5.0/LICENSE" + sha256: "cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30" + Macos: + x86_64: + url: "https://github.com/bazelbuild/bazel/releases/download/6.5.0/bazel-6.5.0-darwin-x86_64" + sha256: "bbf9c2c03bac48e0514f46db0295027935535d91f6d8dcd960c53393559eab29" + armv8: + url: "https://github.com/bazelbuild/bazel/releases/download/6.5.0/bazel-6.5.0-darwin-arm64" + sha256: "c6b6dc17efcdf13fba484c6fe0b6c3361b888ae7b9573bc25a2dbe8c502448eb" + Linux: + x86_64: + url: "https://github.com/bazelbuild/bazel/releases/download/6.5.0/bazel-6.5.0-linux-x86_64" + sha256: "a40ac69263440761199fcb8da47ad4e3f328cbe79ffbf4ecc14e5ba252857307" + armv8: + url: "https://github.com/bazelbuild/bazel/releases/download/6.5.0/bazel-6.5.0-linux-arm64" + sha256: "5afe973cadc036496cac66f1414ca9be36881423f576db363d83afc9084c0c2f" + Windows: + x86_64: + url: "https://github.com/bazelbuild/bazel/releases/download/6.5.0/bazel-6.5.0-windows-x86_64.exe" + sha256: "6eae8e7f28e1b68b833503d1a58caf139c11e52de19df0d787d974653a0ea4c6" + armv8: + url: "https://github.com/bazelbuild/bazel/releases/download/6.5.0/bazel-6.5.0-windows-arm64.exe" + sha256: "b40d2ab8aa0b8413b2bdd599ec1c571d09714275f35ba476e89b3fca6857a937" + "6.2.0": license: url: "https://raw.githubusercontent.com/bazelbuild/bazel/6.2.0/LICENSE" @@ -77,6 +129,29 @@ sources: url: "https://github.com/bazelbuild/bazel/releases/download/5.4.1/bazel-5.4.1-windows-arm64.exe" sha256: "1e273c20dfa8493bf21b002614592a6cb3aa9eabe8b30eda96f8a517fca1a619" + "4.2.4": + license: + url: "https://raw.githubusercontent.com/bazelbuild/bazel/4.2.4/LICENSE" + sha256: "cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30" + Macos: + x86_64: + url: "https://github.com/bazelbuild/bazel/releases/download/4.2.4/bazel-4.2.4-darwin-x86_64" + sha256: "84e5c594ce4c1d4354b68c90f6e81eb3a7d89737f60c3e3f4a689212d984dbc6" + armv8: + url: "https://github.com/bazelbuild/bazel/releases/download/4.2.4/bazel-4.2.4-darwin-arm64" + sha256: "6bc6acf5049f8ac78d083dce9538bade04186e56157e21330b0d565575547759" + Linux: + x86_64: + url: "https://github.com/bazelbuild/bazel/releases/download/4.2.4/bazel-4.2.4-linux-x86_64" + sha256: "29921e744399018efa0038bb770d2d11c77457e9162e5dcb58e6e11ab2bca7d3" + armv8: + url: "https://github.com/bazelbuild/bazel/releases/download/4.2.4/bazel-4.2.4-linux-arm64" + sha256: "1479d683ac64b8b4d8fc07f72da1c58914f4ef1113412beaa421b341b947a3dd" + Windows: + x86_64: + url: "https://github.com/bazelbuild/bazel/releases/download/4.2.4/bazel-4.2.4-windows-x86_64.exe" + sha256: "92103ac197fa53883e0671fbfda77b435619f94279fabf0694ec8623959348f8" + "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 e9824e01dcd118..51015201a5c545 100644 --- a/recipes/bazel/config.yml +++ b/recipes/bazel/config.yml @@ -1,9 +1,15 @@ versions: + "7.2.1": + folder: all "7.0.0": folder: all + "6.5.0": + folder: all "6.2.0": folder: all "5.4.1": folder: all + "4.2.4": + folder: all "4.0.0": folder: all From d56c22500311579828455a999d1515c1865029e0 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Mon, 29 Jul 2024 19:33:30 +0300 Subject: [PATCH 112/132] (#24738) gn: add cci.20240611 * gn: add cci.20240611 * gn: update min cppstd --- recipes/gn/all/conandata.yml | 2 ++ recipes/gn/all/conanfile.py | 46 ++++++++++++++++++++++-------------- recipes/gn/config.yml | 2 ++ 3 files changed, 32 insertions(+), 18 deletions(-) diff --git a/recipes/gn/all/conandata.yml b/recipes/gn/all/conandata.yml index 171741d9a625a1..7bda923d38021b 100644 --- a/recipes/gn/all/conandata.yml +++ b/recipes/gn/all/conandata.yml @@ -1,3 +1,5 @@ sources: + "cci.20240611": + url: "https://gn.googlesource.com/gn/+archive/b2afae122eeb6ce09c52d63f67dc53fc517dbdc8.tar.gz" "cci.20210429": url: "https://gn.googlesource.com/gn/+archive/6771ce569fb4803dad7a427aa2e2c23e960b917e.tar.gz" diff --git a/recipes/gn/all/conanfile.py b/recipes/gn/all/conanfile.py index 2511e879a6bf4e..4d70a7b853851d 100644 --- a/recipes/gn/all/conanfile.py +++ b/recipes/gn/all/conanfile.py @@ -35,27 +35,37 @@ def package_id(self): del self.info.settings.compiler @property - def _minimum_compiler_version_supporting_cxx17(self): - return { - "Visual Studio": 15, - "msvc": 191, - "gcc": 7, - "clang": 4, - "apple-clang": 10, - }.get(str(self.settings.compiler)) + def _min_cppstd(self): + if self.version == "cci.20210429": + return 17 + else: + return 20 + + @property + def _minimum_compiler_version(self): + if self._min_cppstd == 17: + return { + "Visual Studio": 15, + "msvc": 191, + "gcc": 7, + "clang": 4, + "apple-clang": 10, + }.get(str(self.settings.compiler)) + else: + return { + "gcc": "11", + "clang": "12", + "apple-clang": "15", + "msvc": "192", + "Visual Studio": "16", + } def validate_build(self): if self.settings.compiler.cppstd: - check_min_cppstd(self, 17) - else: - if self._minimum_compiler_version_supporting_cxx17: - if Version(self.settings.compiler.version) < self._minimum_compiler_version_supporting_cxx17: - raise ConanInvalidConfiguration("gn requires a compiler supporting c++17") - else: - self.output.warning( - "gn recipe does not recognize the compiler. gn requires a compiler supporting c++17." - " Assuming it does." - ) + check_min_cppstd(self, self._min_cppstd) + if self._minimum_compiler_version and Version(self.settings.compiler.version) < self._minimum_compiler_version: + raise ConanInvalidConfiguration(f"gn requires a compiler supporting C++{self._min_cppstd}") + def build_requirements(self): # FIXME: add cpython build requirements for `build/gen.py`. diff --git a/recipes/gn/config.yml b/recipes/gn/config.yml index 7831e6ed51225b..864345cea83ba1 100644 --- a/recipes/gn/config.yml +++ b/recipes/gn/config.yml @@ -1,3 +1,5 @@ versions: + "cci.20240611": + folder: all "cci.20210429": folder: all From 91ec7987c8055473b28bf4cf1efb9a932646eb46 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 30 Jul 2024 02:14:33 +0900 Subject: [PATCH 113/132] (#24741) c-ares: add version 1.32.3 --- 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 4707b2bebca1a7..67e69235450f77 100644 --- a/recipes/c-ares/all/conandata.yml +++ b/recipes/c-ares/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.32.3": + url: "https://github.com/c-ares/c-ares/releases/download/v1.32.3/c-ares-1.32.3.tar.gz" + sha256: "5f02cc809aac3f6cc5edc1fac6c4423fd5616d7406ce47b904c24adf0ff2cd0f" "1.32.2": url: "https://github.com/c-ares/c-ares/releases/download/v1.32.2/c-ares-1.32.2.tar.gz" sha256: "072ff6b30b9682d965b87eb9b77851dc1cd8e6d8090f6821a56bd8fa89595061" diff --git a/recipes/c-ares/config.yml b/recipes/c-ares/config.yml index fa9c8c280d1f5a..fd77325df168cb 100644 --- a/recipes/c-ares/config.yml +++ b/recipes/c-ares/config.yml @@ -1,4 +1,6 @@ versions: + "1.32.3": + folder: all "1.32.2": folder: all "1.32.1": From 3706a54a51b309ea823e211f7a5bbe50d5606a8b Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 30 Jul 2024 02:53:21 +0900 Subject: [PATCH 114/132] (#24742) libsvm: add version 333 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * libsvm: add version 333 * revert 332 * Update recipes/libsvm/all/conanfile.py * Update recipes/libsvm/all/conanfile.py --------- Co-authored-by: Abril Rincón Blanco --- recipes/libsvm/all/conandata.yml | 3 +++ recipes/libsvm/all/conanfile.py | 10 ++++++---- recipes/libsvm/config.yml | 2 ++ 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/recipes/libsvm/all/conandata.yml b/recipes/libsvm/all/conandata.yml index 4ce3fd15b7dbaa..0567d38d76228a 100644 --- a/recipes/libsvm/all/conandata.yml +++ b/recipes/libsvm/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "333": + url: "https://github.com/cjlin1/libsvm/archive/v333.tar.gz" + sha256: "ee898ca11cef85b09e059b278b3ab4ff58cd38f70169829e75b4a3cb9ddc5013" "332": url: "https://github.com/cjlin1/libsvm/archive/v332.tar.gz" sha256: "e1d7d316112d199ebd69c9695f79226d236b86e2c8d88e70cfe35fd383954ed8" diff --git a/recipes/libsvm/all/conanfile.py b/recipes/libsvm/all/conanfile.py index 5391a6c157e8a0..3b312ef9f419c2 100644 --- a/recipes/libsvm/all/conanfile.py +++ b/recipes/libsvm/all/conanfile.py @@ -12,19 +12,21 @@ class libsvmConan(ConanFile): name = "libsvm" description = "Libsvm is a simple, easy-to-use, and efficient software for SVM classification and regression" + license = "BSD-3-Clause" url = "https://github.com/conan-io/conan-center-index" homepage = "https://www.csie.ntu.edu.tw/~cjlin/libsvm/" - license = "BSD-3-Clause" - topics = "svm", "vector" + topics = ("svm", "vector") + + 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, self.export_sources_folder) diff --git a/recipes/libsvm/config.yml b/recipes/libsvm/config.yml index c1b9e6f3043949..c8909e199de653 100644 --- a/recipes/libsvm/config.yml +++ b/recipes/libsvm/config.yml @@ -1,4 +1,6 @@ versions: + "333": + folder: all "332": folder: all "330": From ceec3127eda4ab7388bc5a1e15cbc1efb59a963b Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 30 Jul 2024 03:32:20 +0900 Subject: [PATCH 115/132] (#24743) octo-logger-cpp: add version 2.0.0 --- recipes/octo-logger-cpp/all/conandata.yml | 3 +++ recipes/octo-logger-cpp/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/octo-logger-cpp/all/conandata.yml b/recipes/octo-logger-cpp/all/conandata.yml index ad6e1f0b56004f..47b30faf7d1211 100644 --- a/recipes/octo-logger-cpp/all/conandata.yml +++ b/recipes/octo-logger-cpp/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.0.0": + url: "https://github.com/ofiriluz/octo-logger-cpp/archive/v2.0.0.tar.gz" + sha256: "2edad6d1cba27019f1f26e562d9d8ff8395fc9ada1e8fb0c226c603ec5e0ed15" "1.12.0": url: "https://github.com/ofiriluz/octo-logger-cpp/archive/v1.12.0.tar.gz" sha256: "b4140d31910af128e1d97ae44a564bbad7f7ca889410bbc885691c5e215c0d61" diff --git a/recipes/octo-logger-cpp/config.yml b/recipes/octo-logger-cpp/config.yml index d7616b7f25016c..d8ff67e582f8b4 100644 --- a/recipes/octo-logger-cpp/config.yml +++ b/recipes/octo-logger-cpp/config.yml @@ -1,4 +1,6 @@ versions: + "2.0.0": + folder: "all" "1.12.0": folder: "all" "1.11.0": From 2c2d824e4bf5eb0f26fd713c8e63c5ff568d7ae3 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 30 Jul 2024 03:52:28 +0900 Subject: [PATCH 116/132] (#24746) libftp: add version 1.1.0 * libftp: add version 1.0.0 * update 1.1.0 --- recipes/libftp/all/conandata.yml | 3 +++ recipes/libftp/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/libftp/all/conandata.yml b/recipes/libftp/all/conandata.yml index fa57f13e90da75..b6a96e96b90f52 100644 --- a/recipes/libftp/all/conandata.yml +++ b/recipes/libftp/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.1.0": + url: "https://github.com/deniskovalchuk/libftp/archive/refs/tags/v1.1.0.tar.gz" + sha256: "8d9ff413436b17eef225c4b12539965cdea786d02bb2c688b153992d36f88f48" "0.5.1": url: "https://github.com/deniskovalchuk/libftp/archive/refs/tags/v0.5.1.tar.gz" sha256: "6cc6e80b50ba425b66175d3b0d22358db4ebeb4941edc33bba47d72442de5645" diff --git a/recipes/libftp/config.yml b/recipes/libftp/config.yml index 0c42204d47369e..fe91f9493569be 100644 --- a/recipes/libftp/config.yml +++ b/recipes/libftp/config.yml @@ -1,4 +1,6 @@ versions: + "1.1.0": + folder: all "0.5.1": folder: all "0.5.0": From 45f450cce4c997b4c494fc1bb23b1f9cf1b555c6 Mon Sep 17 00:00:00 2001 From: tpaustian <153521529+tpaustian@users.noreply.github.com> Date: Mon, 29 Jul 2024 21:47:07 +0200 Subject: [PATCH 117/132] (#21713) Boost Recipe: Update conanfile.py to use expected clang-win libprefix Missing libprefix added for toolset clang-win Co-authored-by: Uilian Ries --- recipes/boost/all/conanfile.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/recipes/boost/all/conanfile.py b/recipes/boost/all/conanfile.py index 3237b40de8ad1f..6d978bb17a1e16 100644 --- a/recipes/boost/all/conanfile.py +++ b/recipes/boost/all/conanfile.py @@ -1879,6 +1879,8 @@ def add_libprefix(n): libprefix = "" if is_msvc(self) and (not self._shared or n in self._dependencies["static_only"]): libprefix = "lib" + elif self._toolset == "clang-win": + libprefix = "lib" return libprefix + n all_detected_libraries = set(l[:-4] if l.endswith(".dll") else l for l in collect_libs(self)) From de1245ece15923a411e345c15a26b563fae863af Mon Sep 17 00:00:00 2001 From: Vincent Date: Mon, 29 Jul 2024 23:06:16 +0100 Subject: [PATCH 118/132] (#22165) minhook: add minhook/cci.20240114 recipe * minhook: add minhook/cci.20240114 recipe * Update recipes/minhook/all/patches/cci.20240114-0001-increase-cmake-min.patch Co-authored-by: Martin Valgur * review and update to latest commit * add config.yml changes --------- Co-authored-by: Martin Valgur Co-authored-by: memsharded --- recipes/minhook/all/conandata.yml | 4 + recipes/minhook/all/conanfile.py | 69 +++++++++++++++++ .../minhook/all/test_package/CMakeLists.txt | 8 ++ recipes/minhook/all/test_package/conanfile.py | 27 +++++++ .../minhook/all/test_package/test_package.cpp | 75 +++++++++++++++++++ recipes/minhook/config.yml | 3 + 6 files changed, 186 insertions(+) create mode 100644 recipes/minhook/all/conandata.yml create mode 100644 recipes/minhook/all/conanfile.py create mode 100644 recipes/minhook/all/test_package/CMakeLists.txt create mode 100644 recipes/minhook/all/test_package/conanfile.py create mode 100644 recipes/minhook/all/test_package/test_package.cpp create mode 100644 recipes/minhook/config.yml diff --git a/recipes/minhook/all/conandata.yml b/recipes/minhook/all/conandata.yml new file mode 100644 index 00000000000000..9fbac6aa786986 --- /dev/null +++ b/recipes/minhook/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "1.3.3.cci.20240629": + url: "https://github.com/TsudaKageyu/minhook/archive/91cc9466e383d13a43d7cf33c7c8fdccb27095d3.tar.gz" + sha256: "b84b2ff19afe5fb9430948680146bee2e198392ee6333a71f81e339c36a819f1" diff --git a/recipes/minhook/all/conanfile.py b/recipes/minhook/all/conanfile.py new file mode 100644 index 00000000000000..73c08a93a80d6c --- /dev/null +++ b/recipes/minhook/all/conanfile.py @@ -0,0 +1,69 @@ +import os + +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.files import copy, get, rmdir + +required_conan_version = ">=1.53.0" + + +class PackageConan(ConanFile): + name = "minhook" + description = "The Minimalistic x86/x64 API Hooking Library for Windows" + license = "BSD-2-Clause" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/TsudaKageyu/minhook" + topics = ("hook", "windows") + package_type = "library" + settings = "os", "arch", "compiler", "build_type" + options = { + "shared": [True, False], + } + default_options = { + "shared": False, + } + + def configure(self): + # minhook is a plain C projects + self.settings.rm_safe("compiler.cppstd") + self.settings.rm_safe("compiler.libcxx") + + 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 built on Windows.") + + if self.settings.arch not in ["x86", "x86_64"]: + raise ConanInvalidConfiguration(f"{self.ref} can only be built on x86 or x86_64 architectures.") + + 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.generate() + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def package(self): + copy(self, "LICENSE.txt", self.source_folder, os.path.join(self.package_folder, "licenses")) + cmake = CMake(self) + cmake.install() + + rmdir(self, os.path.join(self.package_folder, "lib", "minhook")) + + def package_info(self): + if self.settings.arch == "x86_64": + postfix = ".x64d" if self.settings.build_type == "Debug" else ".x64" + else: + postfix = ".x32d" if self.settings.build_type == "Debug" else ".x32" + + self.cpp_info.libs = [f"minhook{postfix}"] diff --git a/recipes/minhook/all/test_package/CMakeLists.txt b/recipes/minhook/all/test_package/CMakeLists.txt new file mode 100644 index 00000000000000..a090c65f0323b8 --- /dev/null +++ b/recipes/minhook/all/test_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) + +project(test_package LANGUAGES CXX) + +find_package(minhook REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE minhook::minhook) diff --git a/recipes/minhook/all/test_package/conanfile.py b/recipes/minhook/all/test_package/conanfile.py new file mode 100644 index 00000000000000..d7de1f914ce427 --- /dev/null +++ b/recipes/minhook/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") + self.run(bin_path, env="conanrun") diff --git a/recipes/minhook/all/test_package/test_package.cpp b/recipes/minhook/all/test_package/test_package.cpp new file mode 100644 index 00000000000000..95ccf7f207da66 --- /dev/null +++ b/recipes/minhook/all/test_package/test_package.cpp @@ -0,0 +1,75 @@ +#include + +#include + +#include "MinHook.h" + +typedef int(WINAPI *MESSAGEBOXW)(HWND, LPCWSTR, LPCWSTR, UINT); + +// Pointer for calling original MessageBoxW. +MESSAGEBOXW fpMessageBoxW = NULL; + +// Dummy MessageBox function for testing. +int WINAPI DummyMessageBoxW(HWND hWnd, LPCWSTR lpText, LPCWSTR lpCaption, UINT uType) +{ + const int box_width = 40; + std::wstring text(lpText); + std::wstring caption(lpCaption); + + // Top border + std::wcout << "+" << std::wstring(box_width - 2, '-') << "+\n"; + + // Caption + std::wcout << "| " << caption << std::wstring(box_width - 3 - caption.size(), ' ') << "|\n"; + std::wcout << "| " << std::wstring(box_width - 4, '=') << " |\n"; + + // Text + std::wcout << "| " << text << std::wstring(box_width - 3 - text.size(), ' ') << "|\n"; + + // Bottom border + std::wcout << "+" << std::wstring(box_width - 2, '-') << "+\n"; + + return IDOK; // The OK button was selected. +} + +// Detour function which overrides MessageBoxW. +int WINAPI DetourMessageBoxW(HWND hWnd, LPCWSTR lpText, LPCWSTR lpCaption, UINT uType) +{ + return fpMessageBoxW(hWnd, L"Hooked!", lpCaption, uType); +} + +int main() +{ + // Initialize MinHook. + if (MH_Initialize() != MH_OK) { + return 1; + } + + // Create a hook for MessageBoxW, in disabled state. + if (MH_CreateHook(&DummyMessageBoxW, &DetourMessageBoxW, reinterpret_cast(&fpMessageBoxW)) != MH_OK) { + return 1; + } + + // Enable the hook for MessageBoxW. + if (MH_EnableHook(&DummyMessageBoxW) != MH_OK) { + return 1; + } + + // Expected to tell "Hooked!". + DummyMessageBoxW(NULL, L"Not hooked...", L"MinHook Sample", MB_OK); + + // Disable the hook for MessageBoxW. + if (MH_DisableHook(&DummyMessageBoxW) != MH_OK) { + return 1; + } + + // Expected to tell "Not hooked...". + DummyMessageBoxW(NULL, L"Not hooked...", L"MinHook Sample", MB_OK); + + // Uninitialize MinHook. + if (MH_Uninitialize() != MH_OK) { + return 1; + } + + return 0; +} diff --git a/recipes/minhook/config.yml b/recipes/minhook/config.yml new file mode 100644 index 00000000000000..36b74a86356a15 --- /dev/null +++ b/recipes/minhook/config.yml @@ -0,0 +1,3 @@ +versions: + "1.3.3.cci.20240629": + folder: all From c0498b1673a0bafb20bd411330b82a301ec3b41b Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Tue, 30 Jul 2024 00:03:11 +0100 Subject: [PATCH 119/132] (#24758) [bot] Update list of references (prod-v2/ListPackages) Co-authored-by: conan-center-bot --- .c3i/conan_v2_ready_references.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.c3i/conan_v2_ready_references.yml b/.c3i/conan_v2_ready_references.yml index 05927569c3b218..0dedc986c45ca8 100644 --- a/.c3i/conan_v2_ready_references.yml +++ b/.c3i/conan_v2_ready_references.yml @@ -58,6 +58,7 @@ required_for_references: - asyncly - asyncplusplus - asyncpp +- atomic_queue - audiofile - autoconf - autoconf-archive @@ -879,6 +880,7 @@ required_for_references: - lksctp-tools - llama-cpp - llhttp +- llnl-units - llvm-openmp - lmdb - lodepng From b9b994d690940f5185751259d805717d824f5139 Mon Sep 17 00:00:00 2001 From: Luis Caro Campos <3535649+jcar87@users.noreply.github.com> Date: Tue, 30 Jul 2024 09:23:06 +0100 Subject: [PATCH 120/132] (#24753) qt6: dont use system libclang --- recipes/qt/5.x.x/conanfile.py | 4 ++-- recipes/qt/6.x.x/conanfile.py | 9 +++++++-- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/recipes/qt/5.x.x/conanfile.py b/recipes/qt/5.x.x/conanfile.py index cd5ddffbd5999a..0d4dd6e0622f85 100644 --- a/recipes/qt/5.x.x/conanfile.py +++ b/recipes/qt/5.x.x/conanfile.py @@ -377,13 +377,13 @@ def requirements(self): 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.1") + self.requires("libjpeg-turbo/[>=3.0 <3.1]") else: self.requires("libjpeg/9e") if self.options.get_safe("with_libpng", False) and not self.options.multiconfiguration: self.requires("libpng/[>=1.6 <2]") if self.options.with_sqlite3 and not self.options.multiconfiguration: - self.requires("sqlite3/3.45.0") + self.requires("sqlite3/[>=3.45.0 <4]") if self.options.get_safe("with_mysql", False): self.requires("libmysqlclient/8.1.0") if self.options.with_pq: diff --git a/recipes/qt/6.x.x/conanfile.py b/recipes/qt/6.x.x/conanfile.py index 1e24a9986d989d..15b0c62488f23c 100644 --- a/recipes/qt/6.x.x/conanfile.py +++ b/recipes/qt/6.x.x/conanfile.py @@ -347,13 +347,13 @@ def requirements(self): 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.1") + self.requires("libjpeg-turbo/[>=3.0 <3.1]") else: self.requires("libjpeg/9e") if self.options.get_safe("with_libpng", False) and not self.options.multiconfiguration: self.requires("libpng/[>=1.6 <2]") if self.options.with_sqlite3 and not self.options.multiconfiguration: - self.requires("sqlite3/3.45.0") + self.requires("sqlite3/[>=3.45.0 <4]") if self.options.get_safe("with_mysql", False): self.requires("libmysqlclient/8.1.0") if self.options.with_pq: @@ -524,6 +524,11 @@ def generate(self): if not self.options.with_zstd: tc.variables["CMAKE_DISABLE_FIND_PACKAGE_WrapZSTD"] = "ON" + # Prevent finding LibClang from the system + # this is needed by the QDoc tool inside Qt Tools + # See: https://github.com/conan-io/conan-center-index/issues/24729#issuecomment-2255291495 + tc.variables["CMAKE_DISABLE_FIND_PACKAGE_WrapLibClang"] = "ON" + for opt, conf_arg in [("with_glib", "glib"), ("with_icu", "icu"), ("with_fontconfig", "fontconfig"), From 08a350909d1c1f54fa059b0c6a5df366a6881d6b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Abril=20Rinc=C3=B3n=20Blanco?= Date: Tue, 30 Jul 2024 11:27:52 +0200 Subject: [PATCH 121/132] (#24755) libpq: Properly include catalog --- recipes/libpq/all/conanfile.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/recipes/libpq/all/conanfile.py b/recipes/libpq/all/conanfile.py index 3980215f4b1d75..03fae8567c8cdf 100644 --- a/recipes/libpq/all/conanfile.py +++ b/recipes/libpq/all/conanfile.py @@ -16,11 +16,12 @@ class LibpqConan(ConanFile): name = "libpq" description = "The library used by all the standard PostgreSQL tools." - topics = ("libpq", "postgresql", "database", "db") + topics = ("postgresql", "database", "db") url = "https://github.com/conan-io/conan-center-index" homepage = "https://www.postgresql.org/docs/current/static/libpq.html" license = "PostgreSQL" + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -243,7 +244,7 @@ def package(self): autotools.install() with chdir(self, os.path.join(self.source_folder, "src", "bin", "pg_config")): autotools.install() - copy(self, "*.h", src=os.path.join(self.build_folder, "src", "include", "catalog"), + copy(self, "*.h", src=os.path.join(self.source_folder, "src", "include", "catalog"), dst=os.path.join(self.package_folder, "include", "catalog")) rmdir(self, os.path.join(self.package_folder, "share")) rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) From ae489b3b79447f099ab12e77343b268a5ea4515a Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 30 Jul 2024 19:13:59 +0900 Subject: [PATCH 122/132] (#24756) highfive: add version 2.10.0 --- recipes/highfive/all/conandata.yml | 3 +++ recipes/highfive/all/conanfile.py | 6 +++--- recipes/highfive/config.yml | 2 ++ 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/recipes/highfive/all/conandata.yml b/recipes/highfive/all/conandata.yml index 890473cb50a685..b506775776cce7 100644 --- a/recipes/highfive/all/conandata.yml +++ b/recipes/highfive/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.10.0": + url: "https://github.com/BlueBrain/HighFive/archive/refs/tags/v2.10.0.tar.gz" + sha256: "c29e8e1520e7298fabb26545f804e35bb3af257005c1c2df62e39986458d7c38" "2.9.0": url: "https://github.com/BlueBrain/HighFive/archive/refs/tags/v2.9.0.tar.gz" sha256: "6301def8ceb9f4d7a595988612db288b448a3c0546f6c83417dab38c64994d7e" diff --git a/recipes/highfive/all/conanfile.py b/recipes/highfive/all/conanfile.py index 75a077fc6305ae..b502330e87c37e 100644 --- a/recipes/highfive/all/conanfile.py +++ b/recipes/highfive/all/conanfile.py @@ -12,10 +12,10 @@ class HighFiveConan(ConanFile): name = "highfive" description = "HighFive is a modern header-only C++11 friendly interface for libhdf5." - license = "Boost Software License 1.0" - topics = ("hdf5", "hdf", "data") - homepage = "https://github.com/BlueBrain/HighFive" + license = "BSL-1.0" url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/BlueBrain/HighFive" + topics = ("hdf5", "hdf", "data", "header-only") package_type = "header-library" settings = "os", "arch", "compiler", "build_type" options = { diff --git a/recipes/highfive/config.yml b/recipes/highfive/config.yml index 4915edd8e28906..e2719579f8a545 100644 --- a/recipes/highfive/config.yml +++ b/recipes/highfive/config.yml @@ -1,4 +1,6 @@ versions: + "2.10.0": + folder: all "2.9.0": folder: all "2.8.0": From 4c3aba03b4492414ef51a9a2d4c206b62d01e573 Mon Sep 17 00:00:00 2001 From: Uilian Ries Date: Tue, 30 Jul 2024 11:42:41 +0100 Subject: [PATCH 123/132] (#24723) [docs] Add zstd and ninja to version ranges supported * Add zstd and ninja to version ranges Signed-off-by: Uilian Ries * Include Meson * Update docs/adding_packages/dependencies.md * Update dependencies.md --------- Signed-off-by: Uilian Ries Co-authored-by: Luis Caro Campos <3535649+jcar87@users.noreply.github.com> --- docs/adding_packages/dependencies.md | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/docs/adding_packages/dependencies.md b/docs/adding_packages/dependencies.md index f10a35809ada3e..603a09fa7a854b 100644 --- a/docs/adding_packages/dependencies.md +++ b/docs/adding_packages/dependencies.md @@ -178,7 +178,11 @@ for consumer, we do impose some limits on Conan features to provide a smoother f Version ranges are a useful Conan feature, [documentation here](https://docs.conan.io/2/tutorial/versioning/version_ranges.html). With the introduction of Conan 2.0, we are currently working to allow the use of version ranges and are allowing this for a handful of dependencies. -Currently, these are (except if the recipe needs a newer lower/upper version bound for specific reasons): + +Version ranges are being progressively introduced by Conan team maintainers and are being rolled out in phases, and we do not intend +to do it all at once. + +Version ranges for the following dependencies will be accepted in pull requests: * OpenSSL: `[>=1.1 <4]` for libraries known to be compatible with OpenSSL 1.x and 3.x * CMake: `[>3.XX <4]`, where `3.XX` is the minimum version of CMake required by the relevant build scripts. Note that CCI recipes assume 3.15 is installed in the system, so add this @@ -192,6 +196,10 @@ version range only when a requirement for a newer version is needed. * qt5: `[~5.15]`, if your library depends on qt5, only the 5.15 minor version is allowed * qt6: `[>=6.x <7]`, where 6.x is the lower bound of your needed qt6 version * c-ares: `[>=1.27 <2]` +* zstd: `[^1.5]` it's equivalent to `[>=1.5 <1.6]` +* ninja: `[>=1.10.2 <2]` +* meson: `[>=1.2.3 <2]` +* pkgconf: `[>=2.2 <3]` > **Warning**: With Conan 1.x, [version ranges](https://docs.conan.io/1/versioning/version_ranges.html) adhere to a much more strict sematic version spec, > OpenSSL 1.1.x does not follow this so the client will not resolve to that range and will pick a 3.x version. In order to select a lower version you @@ -202,11 +210,14 @@ Conan maintainers may introduce this for other dependencies over time. Outside o #### Adding Version Ranges -You might also see version ranges in some PR by CCI maintainers. +You might also see version ranges being added in pull requests by Conan maintainers, that +are not in the list above. These are being introduced on a case-by-case basis, and are being rolled out +in phases to ensure that they do not cause problems to users. Note that version ranges can +only be used for libraries and tools that have strong compatibility guarantees - and may not +be suitable in all cases. -These are being done on a case-by-case basis, and are being rolled out in phases to ensure -that they do not cause problems to users. Please do not open PRs that exclusively add version ranges to dependencies, -unless they are solving current conflicts, in which case we welcome them and they will be prioritized. +Please do not open PRs that exclusively add version ranges to dependencies, unless they are solving +current conflicts, in which case we welcome them and they will be prioritized. ## Handling "internal" dependencies From 753d67006dbd3759851df2f9d0f29ba267182576 Mon Sep 17 00:00:00 2001 From: Sven Roederer Date: Tue, 30 Jul 2024 12:50:54 +0200 Subject: [PATCH 124/132] (#24708) qt: make "conan test" using the console for stdout on Windows The WIN32 option was added to CMake add_executable which prevent from initializing stdout and stderr to the app. This results in no console output of the test on Windows. * fixes e9bdd352111ec5f462347c8fac170307f1a70ffb for qt6 * fixes 1bca4ac9bc95a012f00ca37ffe0c1e8bbffb6a43 for qt5 --- recipes/qt/5.x.x/test_package/CMakeLists.txt | 2 +- recipes/qt/5.x.x/test_v1_package/CMakeLists.txt | 2 +- recipes/qt/6.x.x/test_package/CMakeLists.txt | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes/qt/5.x.x/test_package/CMakeLists.txt b/recipes/qt/5.x.x/test_package/CMakeLists.txt index 0d11db68fc2934..6c9a4ef2b991cf 100644 --- a/recipes/qt/5.x.x/test_package/CMakeLists.txt +++ b/recipes/qt/5.x.x/test_package/CMakeLists.txt @@ -3,7 +3,7 @@ project(test_package LANGUAGES CXX) find_package(Qt5 COMPONENTS Core Network Sql Concurrent Xml REQUIRED CONFIG) -add_executable(${PROJECT_NAME} WIN32 test_package.cpp greeter.h example.qrc) +add_executable(${PROJECT_NAME} test_package.cpp greeter.h example.qrc) target_link_libraries(${PROJECT_NAME} PRIVATE Qt5::Core Qt5::Network Qt5::Sql Qt5::Concurrent Qt5::Xml) target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) set_target_properties(${PROJECT_NAME} PROPERTIES AUTOMOC ON AUTORCC ON) diff --git a/recipes/qt/5.x.x/test_v1_package/CMakeLists.txt b/recipes/qt/5.x.x/test_v1_package/CMakeLists.txt index d5866335fec6ac..a56d8c5c4fe51e 100644 --- a/recipes/qt/5.x.x/test_v1_package/CMakeLists.txt +++ b/recipes/qt/5.x.x/test_v1_package/CMakeLists.txt @@ -18,6 +18,6 @@ set(CMAKE_AUTORCC ON) set(SOURCES ../test_package/test_package.cpp ../test_package/greeter.h ../test_package/example.qrc) -add_executable(${PROJECT_NAME} WIN32 ${SOURCES}) +add_executable(${PROJECT_NAME} ${SOURCES}) target_link_libraries(${PROJECT_NAME} Qt5::Core Qt5::Network Qt5::Sql Qt5::Concurrent Qt5::Xml) diff --git a/recipes/qt/6.x.x/test_package/CMakeLists.txt b/recipes/qt/6.x.x/test_package/CMakeLists.txt index d12764c12f1eb4..89a6d714d64068 100644 --- a/recipes/qt/6.x.x/test_package/CMakeLists.txt +++ b/recipes/qt/6.x.x/test_package/CMakeLists.txt @@ -3,7 +3,7 @@ project(test_package LANGUAGES CXX) find_package(Qt6 COMPONENTS Core Network Sql Concurrent Xml REQUIRED CONFIG) -add_executable(${PROJECT_NAME} WIN32 test_package.cpp greeter.h example.qrc) +add_executable(${PROJECT_NAME} test_package.cpp greeter.h example.qrc) target_link_libraries(${PROJECT_NAME} PRIVATE Qt6::Core Qt6::Network Qt6::Sql Qt6::Concurrent Qt6::Xml Qt6::Widgets) target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) set_target_properties(${PROJECT_NAME} PROPERTIES AUTOMOC ON AUTORCC ON) From 3ad8288fb9b733c9983d671368b54bef2d6e990d Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 30 Jul 2024 21:27:26 +0900 Subject: [PATCH 125/132] (#21305) jinja2cpp: add new version 1.3.2 * jinja2cpp: add version 1.3.1 * update cmake * remvoe Boost::json,regex * fix link libraries * remove Boost::json, add Boost::regex * remove Boost::json * revert Boost::json * drop support apple-clang * fix condition for Boost::json * remove illegal folder * update 1.3.2 * add option with_regex --- recipes/jinja2cpp/all/conandata.yml | 7 +++ recipes/jinja2cpp/all/conanfile.py | 13 +++++ .../all/patches/fix-cmake-1.3.2.patch | 47 +++++++++++++++++++ recipes/jinja2cpp/config.yml | 2 + 4 files changed, 69 insertions(+) create mode 100644 recipes/jinja2cpp/all/patches/fix-cmake-1.3.2.patch diff --git a/recipes/jinja2cpp/all/conandata.yml b/recipes/jinja2cpp/all/conandata.yml index 01898ea7a626a5..ef96ec4edd10ee 100644 --- a/recipes/jinja2cpp/all/conandata.yml +++ b/recipes/jinja2cpp/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.3.2": + url: "https://github.com/jinja2cpp/Jinja2Cpp/archive/1.3.2.tar.gz" + sha256: "227afb9d16eb1a47c3f3ca10c2f589dd2791c5d8b4767c73e26a0b8997e4c03e" "1.2.1": url: "https://github.com/jinja2cpp/Jinja2Cpp/archive/1.2.1.tar.gz" sha256: "2e61516fd4fd77452c8dd7a6f958ad47c42990df9b7bdc62cf2deb8aa7819b6c" @@ -6,6 +9,10 @@ sources: url: "https://github.com/jinja2cpp/Jinja2Cpp/archive/1.1.0.tar.gz" sha256: "3d321a144f3774702d3a6252e3a6370cdaff9c96d8761d850bb79cdb45b372c5" patches: + "1.3.2": + - patch_file: "patches/fix-cmake-1.3.2.patch" + patch_description: "use cci package, fix compilation error on MSVC" + patch_type: "conan" "1.2.1": - patch_file: "patches/fix-cmake-1.2.1.patch" patch_description: "use cci package, fix compilation error on MSVC" diff --git a/recipes/jinja2cpp/all/conanfile.py b/recipes/jinja2cpp/all/conanfile.py index c95085d9064137..a4f69271c3eb56 100644 --- a/recipes/jinja2cpp/all/conanfile.py +++ b/recipes/jinja2cpp/all/conanfile.py @@ -21,10 +21,12 @@ class Jinja2cppConan(ConanFile): options = { "shared": [True, False], "fPIC": [True, False], + "with_regex": ["std", "boost"], } default_options = { "shared": False, "fPIC": True, + "with_regex": "boost", } @property @@ -47,6 +49,8 @@ def export_sources(self): def config_options(self): if self.settings.os == "Windows": del self.options.fPIC + if Version(self.version) < "1.3.2": + del self.options.with_regex def configure(self): if self.options.shared: @@ -76,12 +80,20 @@ def validate(self): raise ConanInvalidConfiguration( f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." ) + if Version(self.version) >= "1.3.1" and self.dependencies["boost"].options.without_json: + raise ConanInvalidConfiguration(f"{self.ref} require Boost::json.") + + def build_requirements(self): + if Version(self.version) >= "1.3.1": + self.tool_requires("cmake/[>=3.23 <4]") 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.3.2": + tc.cache_variables["JINJA2CPP_USE_REGEX"] = self.options.with_regex tc.variables["JINJA2CPP_BUILD_TESTS"] = False tc.variables["JINJA2CPP_STRICT_WARNINGS"] = False tc.variables["JINJA2CPP_BUILD_SHARED"] = self.options.shared @@ -95,6 +107,7 @@ def generate(self): tc.variables["JINJA2CPP_MSVC_RUNTIME_TYPE"] = runtime tc.generate() deps = CMakeDeps(self) + deps.set_property("expected-lite", "cmake_target_name", "expected-lite::expected-lite") deps.generate() def _patch_sources(self): diff --git a/recipes/jinja2cpp/all/patches/fix-cmake-1.3.2.patch b/recipes/jinja2cpp/all/patches/fix-cmake-1.3.2.patch new file mode 100644 index 00000000000000..0484b48da6ca23 --- /dev/null +++ b/recipes/jinja2cpp/all/patches/fix-cmake-1.3.2.patch @@ -0,0 +1,47 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 4aabcff..9016742 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -312,7 +312,7 @@ if(JINJA2CPP_INSTALL) + InstallTargets + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} +- ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}/static ++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} + FILE_SET HEADERS + ) + +@@ -353,4 +353,4 @@ if(JINJA2CPP_INSTALL) + DESTINATION + ${JINJA2CPP_INSTALL_CONFIG_DIR} + ) +-endif() +\ No newline at end of file ++endif() +diff --git a/thirdparty/CMakeLists.txt b/thirdparty/CMakeLists.txt +index 57c8f8e..499f3c7 100644 +--- a/thirdparty/CMakeLists.txt ++++ b/thirdparty/CMakeLists.txt +@@ -70,8 +70,8 @@ endif() + + if (NOT DEFINED JINJA2_PRIVATE_LIBS_INT) + set(JINJA2CPP_PRIVATE_LIBS ${JINJA2CPP_PRIVATE_LIBS} +- Boost::variant Boost::filesystem Boost::algorithm Boost::lexical_cast Boost::json +- Boost::regex Boost::numeric_conversion fmt RapidJson) ++ Boost::headers Boost::filesystem Boost::json ++ Boost::regex fmt RapidJson) + else () + set (JINJA2CPP_PRIVATE_LIBS ${JINJA2_PRIVATE_LIBS_INT}) + endif () +diff --git a/thirdparty/thirdparty-conan-build.cmake b/thirdparty/thirdparty-conan-build.cmake +index e1bc3a4..fd30743 100644 +--- a/thirdparty/thirdparty-conan-build.cmake ++++ b/thirdparty/thirdparty-conan-build.cmake +@@ -10,6 +10,6 @@ find_package(Boost COMPONENTS algorithm filesystem numeric_conversion json optio + find_package(fmt REQUIRED) + find_package(RapidJSON REQUIRED) + +-set(JINJA2_PRIVATE_LIBS_INT Boost::headers Boost::filesystem Boost::numeric_conversion) ++set(JINJA2_PRIVATE_LIBS_INT Boost::headers Boost::filesystem) + set(JINJA2_PUBLIC_LIBS_INT Boost::json fmt::fmt rapidjson Boost::regex + nlohmann_json::nlohmann_json nonstd::expected-lite nonstd::variant-lite nonstd::optional-lite nonstd::string-view-lite) diff --git a/recipes/jinja2cpp/config.yml b/recipes/jinja2cpp/config.yml index 97294286ce46b6..6f563b16b51e21 100644 --- a/recipes/jinja2cpp/config.yml +++ b/recipes/jinja2cpp/config.yml @@ -1,4 +1,6 @@ versions: + "1.3.2": + folder: all "1.2.1": folder: all "1.1.0": From c39d95651cd430b3375a50c59be46eec81b249a7 Mon Sep 17 00:00:00 2001 From: Uilian Ries Date: Tue, 30 Jul 2024 14:42:07 +0100 Subject: [PATCH 126/132] (#24763) [docs] Add xz_utils in version ranges Signed-off-by: Uilian Ries --- docs/adding_packages/dependencies.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/docs/adding_packages/dependencies.md b/docs/adding_packages/dependencies.md index 603a09fa7a854b..4135ca7f24965b 100644 --- a/docs/adding_packages/dependencies.md +++ b/docs/adding_packages/dependencies.md @@ -182,7 +182,7 @@ With the introduction of Conan 2.0, we are currently working to allow the use of Version ranges are being progressively introduced by Conan team maintainers and are being rolled out in phases, and we do not intend to do it all at once. -Version ranges for the following dependencies will be accepted in pull requests: +Version ranges for the following dependencies will be accepted in pull requests: * OpenSSL: `[>=1.1 <4]` for libraries known to be compatible with OpenSSL 1.x and 3.x * CMake: `[>3.XX <4]`, where `3.XX` is the minimum version of CMake required by the relevant build scripts. Note that CCI recipes assume 3.15 is installed in the system, so add this @@ -200,6 +200,7 @@ version range only when a requirement for a newer version is needed. * ninja: `[>=1.10.2 <2]` * meson: `[>=1.2.3 <2]` * pkgconf: `[>=2.2 <3]` +* xz_utils: `[>=5.4.5 <6]` > **Warning**: With Conan 1.x, [version ranges](https://docs.conan.io/1/versioning/version_ranges.html) adhere to a much more strict sematic version spec, > OpenSSL 1.1.x does not follow this so the client will not resolve to that range and will pick a 3.x version. In order to select a lower version you @@ -211,12 +212,12 @@ Conan maintainers may introduce this for other dependencies over time. Outside o #### Adding Version Ranges You might also see version ranges being added in pull requests by Conan maintainers, that -are not in the list above. These are being introduced on a case-by-case basis, and are being rolled out +are not in the list above. These are being introduced on a case-by-case basis, and are being rolled out in phases to ensure that they do not cause problems to users. Note that version ranges can only be used for libraries and tools that have strong compatibility guarantees - and may not be suitable in all cases. -Please do not open PRs that exclusively add version ranges to dependencies, unless they are solving +Please do not open PRs that exclusively add version ranges to dependencies, unless they are solving current conflicts, in which case we welcome them and they will be prioritized. ## Handling "internal" dependencies From b04833fb7c25786e30e4d12e64e6febea9053f03 Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Tue, 30 Jul 2024 16:02:25 +0100 Subject: [PATCH 127/132] (#24754) [bot] Update authorized users list (2024-07-29) * Add/remove users to Access Request * Move connor-i-clark user to wait list Signed-off-by: Uilian Ries --------- Signed-off-by: Uilian Ries Co-authored-by: conan-center-bot Co-authored-by: Uilian Ries --- .c3i/authorized_users.yml | 1 + .c3i/waitlist_users.yml | 1 + 2 files changed, 2 insertions(+) diff --git a/.c3i/authorized_users.yml b/.c3i/authorized_users.yml index 7a667791d5e128..50a877da3fb5c1 100644 --- a/.c3i/authorized_users.yml +++ b/.c3i/authorized_users.yml @@ -1387,3 +1387,4 @@ authorized_users: - husitawi - fpoirotte - cuppajoeman +- vsbogd diff --git a/.c3i/waitlist_users.yml b/.c3i/waitlist_users.yml index e0f4cd3b99c959..7976423523961f 100644 --- a/.c3i/waitlist_users.yml +++ b/.c3i/waitlist_users.yml @@ -5,3 +5,4 @@ waitlist_users: - jjbel - synaptics-lspintzyk - wer14 +- connor-i-clark From e84fc0b13850dbc7fecb916a6a3d545728476d60 Mon Sep 17 00:00:00 2001 From: Roberto Rossini <71787608+robomics@users.noreply.github.com> Date: Tue, 30 Jul 2024 20:51:48 +0200 Subject: [PATCH 128/132] (#23653) boost: bump deps * Bump deps * Use version range for zstd Signed-off-by: Uilian Ries --------- Signed-off-by: Uilian Ries Co-authored-by: Uilian Ries --- recipes/boost/all/conanfile.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes/boost/all/conanfile.py b/recipes/boost/all/conanfile.py index 6d978bb17a1e16..7e39d21f295c82 100644 --- a/recipes/boost/all/conanfile.py +++ b/recipes/boost/all/conanfile.py @@ -778,14 +778,14 @@ def requirements(self): if self._with_bzip2: self.requires("bzip2/1.0.8") if self._with_lzma: - self.requires("xz_utils/5.4.4") + self.requires("xz_utils/[>=5.4.5 <6]") if self._with_zstd: - self.requires("zstd/1.5.5") + self.requires("zstd/[>=1.5 <1.6]") if self._with_stacktrace_backtrace: self.requires("libbacktrace/cci.20210118", transitive_headers=True, transitive_libs=True) if self._with_icu: - self.requires("icu/73.2") + self.requires("icu/74.2") if self._with_iconv: self.requires("libiconv/1.17") From a09968fbba65a851b1cef2b0d44d7a28342142f8 Mon Sep 17 00:00:00 2001 From: Luis Caro Campos <3535649+jcar87@users.noreply.github.com> Date: Wed, 31 Jul 2024 08:55:09 +0100 Subject: [PATCH 129/132] (#24768) qt5: fix check for python2 version * qt5: fix check for python2 version * remove empty line --- recipes/qt/5.x.x/conanfile.py | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/recipes/qt/5.x.x/conanfile.py b/recipes/qt/5.x.x/conanfile.py index 0d4dd6e0622f85..dfe46275f3a61f 100644 --- a/recipes/qt/5.x.x/conanfile.py +++ b/recipes/qt/5.x.x/conanfile.py @@ -10,6 +10,7 @@ from conan.tools.scm import Version import configparser import glob +from io import StringIO import itertools import os import textwrap @@ -154,20 +155,17 @@ def validate_build(self): raise ConanInvalidConfiguration(msg) # In any case, check its actual version for compatibility - from six import StringIO # Python 2 and 3 compatible - mybuf = StringIO() - cmd_v = f"\"{python_exe}\" --version" - self.run(cmd_v, mybuf) - verstr = mybuf.getvalue().strip().split("Python ")[1] - if verstr.endswith("+"): - verstr = verstr[:-1] + command_output = StringIO() + cmd_v = f"\"{python_exe}\" -c \"import platform;print(platform.python_version())\"" + self.run(cmd_v, command_output) + verstr = command_output.getvalue().strip() version = Version(verstr) # >= 2.7.5 & < 3 v_min = "2.7.5" v_max = "3.0.0" if (version >= v_min) and (version < v_max): msg = ("Found valid Python 2 required for QtWebengine:" - f" version={mybuf.getvalue()}, path={python_exe}") + f" version={verstr}, path={python_exe}") self.output.success(msg) else: msg = (f"Found Python 2 in path, but with invalid version {verstr}" From cb7a40292e2c2213bfdbc97fbf10af7bc44e64d4 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Wed, 31 Jul 2024 11:43:36 +0300 Subject: [PATCH 130/132] (#19994) aws-c-event-stream: add new versions, remove old ones * aws-c-event-stream: add version 0.2.20 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/) * aws-c-event-stream: add version 0.3.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/) * aws-c-event-stream: remove old versions --------- Co-authored-by: Quentin Chateau via Conan Center Bot Co-authored-by: danimtb --- recipes/aws-c-event-stream/all/conandata.yml | 12 +++--------- recipes/aws-c-event-stream/config.yml | 8 ++------ 2 files changed, 5 insertions(+), 15 deletions(-) diff --git a/recipes/aws-c-event-stream/all/conandata.yml b/recipes/aws-c-event-stream/all/conandata.yml index dd1f6736ca7be6..6f473b83346569 100644 --- a/recipes/aws-c-event-stream/all/conandata.yml +++ b/recipes/aws-c-event-stream/all/conandata.yml @@ -5,18 +5,12 @@ sources: "0.3.1": url: "https://github.com/awslabs/aws-c-event-stream/archive/v0.3.1.tar.gz" sha256: "bdbc420efc2572689fb167ac288e982a01224876eb79d80e2411fad4c43e9dc0" + "0.2.20": + url: "https://github.com/awslabs/aws-c-event-stream/archive/v0.2.20.tar.gz" + sha256: "a1384c1f63c82a0a0bc64c3e1bc2a672c75614940b71418d96de9e057e31aafd" "0.2.15": url: "https://github.com/awslabs/aws-c-event-stream/archive/v0.2.15.tar.gz" sha256: "4ff2ada07ede3c6afa4b8e6e20de541e717038307f29b38c27efa7c4d875ee26" - "0.2.12": - url: "https://github.com/awslabs/aws-c-event-stream/archive/v0.2.12.tar.gz" - sha256: "cc4ebfe715d8df5b9e3f4a3ce9b67d5f480017a7ebbbfa1d5e64ea53ec672580" - "0.2.11": - url: "https://github.com/awslabs/aws-c-event-stream/archive/v0.2.11.tar.gz" - sha256: "4818b8d3fe02016fcfdd033c1e9d8f6be07ccaeb38664fe8c31c0fd153ea56e6" - "0.2.7": - url: "https://github.com/awslabs/aws-c-event-stream/archive/v0.2.7.tar.gz" - sha256: "bb5c94cdff70c1985fb0b5f30d81756cedb5a3c3075d37f7e1e2b34e2a33c8c0" "0.1.5": url: "https://github.com/awslabs/aws-c-event-stream/archive/v0.1.5.tar.gz" sha256: "f1b423a487b5d6dca118bfc0d0c6cc596dc476b282258a3228e73a8f730422d4" diff --git a/recipes/aws-c-event-stream/config.yml b/recipes/aws-c-event-stream/config.yml index 38b22762f52739..98f41919c3397a 100644 --- a/recipes/aws-c-event-stream/config.yml +++ b/recipes/aws-c-event-stream/config.yml @@ -3,13 +3,9 @@ versions: folder: all "0.3.1": folder: all - "0.2.15": - folder: all - "0.2.12": + "0.2.20": folder: all - "0.2.11": - folder: all - "0.2.7": + "0.2.15": folder: all "0.1.5": folder: all From c5233315f11c4f25d699f79dd0c699e826760e38 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 31 Jul 2024 18:08:39 +0900 Subject: [PATCH 131/132] (#23429) aws-lambda-cpp: add cmake module for packaging function * aws-lambda-cpp: add cmake module for packaging function * remove unused function * stop generating package.zip * add builddirs * simpler test_package Co-authored-by: Daniel --------- Co-authored-by: Daniel --- recipes/aws-lambda-cpp/all/conanfile.py | 17 +++++++++++++++-- .../all/test_package/CMakeLists.txt | 4 ++++ 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/recipes/aws-lambda-cpp/all/conanfile.py b/recipes/aws-lambda-cpp/all/conanfile.py index 0b0de62c879d34..849efb9333447e 100644 --- a/recipes/aws-lambda-cpp/all/conanfile.py +++ b/recipes/aws-lambda-cpp/all/conanfile.py @@ -1,6 +1,6 @@ from conan import ConanFile -from conan.errors import ConanInvalidConfiguration -from conan.tools.files import get, copy, rmdir +from conan.errors import ConanInvalidConfiguration, ConanException +from conan.tools.files import get, copy, rmdir, load, save, rename from conan.tools.build import check_min_cppstd from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout from conan.tools.scm import Version @@ -72,16 +72,29 @@ def build(self): cmake.configure() cmake.build() + def _extract_cmake_module(self): + cmake_module = load(self, os.path.join(self.source_folder, "cmake", "aws-lambda-runtime-config.cmake")) + start = "set(AWS_LAMBDA_PACKAGING_SCRIPT ${CMAKE_CURRENT_LIST_DIR}/packager)" + start_index = cmake_module.find(start) + if start_index == -1: + raise ConanException("Could not extract aws_lambda_package_target from aws-lambda-runtime-config.cmake file.") + return cmake_module[start_index:] + def package(self): copy(self, pattern="LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) cmake = CMake(self) cmake.install() + + save(self, os.path.join(self.package_folder, "lib", "cmake", "aws_lambda_package_target.cmake"), self._extract_cmake_module()) + rename(self, os.path.join(self.package_folder, "lib", "aws-lambda-runtime", "cmake", "packager"), os.path.join(self.package_folder, "lib", "cmake", "packager")) rmdir(self, os.path.join(self.package_folder, "lib", "aws-lambda-runtime")) def package_info(self): self.cpp_info.libs = ["aws-lambda-runtime"] + self.cpp_info.builddirs.append(os.path.join("lib", "cmake")) self.cpp_info.set_property("cmake_file_name", "aws-lambda-runtime") self.cpp_info.set_property("cmake_target_name", "AWS::aws-lambda-runtime") + self.cpp_info.set_property("cmake_build_modules", [os.path.join("lib", "cmake", "aws_lambda_package_target.cmake")]) self.cpp_info.system_libs.append("m") diff --git a/recipes/aws-lambda-cpp/all/test_package/CMakeLists.txt b/recipes/aws-lambda-cpp/all/test_package/CMakeLists.txt index 073c5e204a51ee..1821ed75da1ec5 100644 --- a/recipes/aws-lambda-cpp/all/test_package/CMakeLists.txt +++ b/recipes/aws-lambda-cpp/all/test_package/CMakeLists.txt @@ -6,3 +6,7 @@ find_package(aws-lambda-runtime REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) target_link_libraries(${PROJECT_NAME} PRIVATE AWS::aws-lambda-runtime) target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) + +if(NOT COMMAND aws_lambda_package_target) + message(FATAL_ERROR "aws_lambda_package_target should have been defined as part of find_package(aws-lambda-runtime)") +endif() From 6837af956bfe6eb1eda80c6205a79e442f830a4a Mon Sep 17 00:00:00 2001 From: Uno Wu Date: Wed, 31 Jul 2024 17:33:49 +0800 Subject: [PATCH 132/132] (#22406) aws-c-sdkutils: add v0.1.13, use version range for dependencies --- recipes/aws-c-sdkutils/all/conandata.yml | 3 +++ recipes/aws-c-sdkutils/all/conanfile.py | 8 ++++++-- recipes/aws-c-sdkutils/config.yml | 2 ++ 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/recipes/aws-c-sdkutils/all/conandata.yml b/recipes/aws-c-sdkutils/all/conandata.yml index 4f2cc09884562a..0b83e5b3ee6099 100644 --- a/recipes/aws-c-sdkutils/all/conandata.yml +++ b/recipes/aws-c-sdkutils/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.1.13": + url: "https://github.com/awslabs/aws-c-sdkutils/archive/v0.1.13.tar.gz" + sha256: "fb22b1d12172afa07214ba18ad3c3b71244cb3d31c81c439b0a6625745c1fef9" "0.1.12": url: "https://github.com/awslabs/aws-c-sdkutils/archive/v0.1.12.tar.gz" sha256: "c876c3ce2918f1181c24829f599c8f06e29733f0bd6556d4c4fb523390561316" diff --git a/recipes/aws-c-sdkutils/all/conanfile.py b/recipes/aws-c-sdkutils/all/conanfile.py index e2bfcefef68781..9de343b664f1fa 100644 --- a/recipes/aws-c-sdkutils/all/conanfile.py +++ b/recipes/aws-c-sdkutils/all/conanfile.py @@ -40,10 +40,14 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - if Version(self.version) <= "0.1.3": + if Version(self.version) < "0.1.12": self.requires("aws-c-common/0.8.2", transitive_headers=True, transitive_libs=True) - else: + elif Version(self.version) == "0.1.12": + # [>=0.9.4 <=0.9.10] self.requires("aws-c-common/0.9.6", transitive_headers=True, transitive_libs=True) + else: + # [>=0.9.10] + self.requires("aws-c-common/0.9.12", 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-sdkutils/config.yml b/recipes/aws-c-sdkutils/config.yml index c2aa05a42982f7..9a8d3df5bb88cb 100644 --- a/recipes/aws-c-sdkutils/config.yml +++ b/recipes/aws-c-sdkutils/config.yml @@ -1,4 +1,6 @@ versions: + "0.1.13": + folder: all "0.1.12": folder: all "0.1.3":