From 36438f47cb9ea11904ed17252cdf11187a54bccb Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Tue, 25 Jun 2024 09:11:06 +0200 Subject: [PATCH 001/641] (#24433) nsync: add version 1.29.1 --- recipes/nsync/all/conandata.yml | 5 +++++ recipes/nsync/config.yml | 2 ++ 2 files changed, 7 insertions(+) diff --git a/recipes/nsync/all/conandata.yml b/recipes/nsync/all/conandata.yml index 3f34f15e0bd3c..d4253cb970850 100644 --- a/recipes/nsync/all/conandata.yml +++ b/recipes/nsync/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.29.1": + url: "https://github.com/google/nsync/archive/1.29.1.tar.gz" + sha256: "3045a8922171430426b695edf794053182d245f6a382ddcc59ef4a6190848e98" "1.28.0": url: "https://github.com/google/nsync/archive/1.28.0.tar.gz" sha256: "1e6a7193bd85d480faaf992cef204c5cf09f9da72766c9987e25b4f88508eed1" @@ -18,6 +21,8 @@ sources: sha256: "b7e75b17957c62bd02dd73890bde22da3a564903fcaad651b395453d41d3325b" url: "https://github.com/google/nsync/archive/refs/tags/1.23.0.tar.gz" patches: + "1.29.1": + - patch_file: "patches/0001-1.27.0-darwin-exclude_semaphore_mutex_c_from_nsync_cpp_lib.patch" "1.28.0": - patch_file: "patches/0001-1.27.0-darwin-exclude_semaphore_mutex_c_from_nsync_cpp_lib.patch" "1.27.0": diff --git a/recipes/nsync/config.yml b/recipes/nsync/config.yml index 7fd2a341ed885..0224903d9865b 100644 --- a/recipes/nsync/config.yml +++ b/recipes/nsync/config.yml @@ -1,4 +1,6 @@ versions: + "1.29.1": + folder: "all" "1.28.0": folder: "all" "1.27.0": From 57cc606bd4c634d6d843c71aa84cce7fa0942555 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 25 Jun 2024 18:12:47 +0900 Subject: [PATCH 002/641] (#24353) tesseract: add version 5.4.1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * tesseract: add version 5.4.1 * Remove pdb files * Update recipes/tesseract/all/conanfile.py Co-authored-by: Uilian Ries --------- Co-authored-by: Abril Rincón Blanco Co-authored-by: Uilian Ries --- recipes/tesseract/all/conandata.yml | 7 +++++++ recipes/tesseract/all/conanfile.py | 3 ++- recipes/tesseract/config.yml | 2 ++ 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/recipes/tesseract/all/conandata.yml b/recipes/tesseract/all/conandata.yml index 04dfccb13bdac..dde624ec73438 100644 --- a/recipes/tesseract/all/conandata.yml +++ b/recipes/tesseract/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "5.4.1": + url: "https://github.com/tesseract-ocr/tesseract/archive/5.4.0.tar.gz" + sha256: "30ceffd9b86780f01cbf4eaf9b7fc59abddfcbaf5bbd52f9a633c6528cb183fd" "5.4.0": url: "https://github.com/tesseract-ocr/tesseract/archive/5.4.0.tar.gz" sha256: "30ceffd9b86780f01cbf4eaf9b7fc59abddfcbaf5bbd52f9a633c6528cb183fd" @@ -24,6 +27,10 @@ sources: url: "https://github.com/tesseract-ocr/tesseract/archive/4.1.1.tar.gz" sha256: "2a66ff0d8595bff8f04032165e6c936389b1e5727c3ce5a27b3e059d218db1cb" patches: + "5.4.1": + - patch_file: "patches/0004-control-optimizations-5.4.0.patch" + patch_description: "fix condition for cpu optimizations" + patch_type: "portability" "5.4.0": - patch_file: "patches/0004-control-optimizations-5.4.0.patch" patch_description: "fix condition for cpu optimizations" diff --git a/recipes/tesseract/all/conanfile.py b/recipes/tesseract/all/conanfile.py index 861e7b6b85384..f4748d7b4ec1b 100644 --- a/recipes/tesseract/all/conanfile.py +++ b/recipes/tesseract/all/conanfile.py @@ -2,7 +2,7 @@ from conan.errors import ConanInvalidConfiguration from conan.tools.build import check_min_cppstd from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout -from conan.tools.files import apply_conandata_patches, export_conandata_patches, get, copy, rmdir, save +from conan.tools.files import apply_conandata_patches, export_conandata_patches, get, copy, rmdir, rm, save from conan.tools.scm import Version import os @@ -155,6 +155,7 @@ def package(self): rmdir(self, os.path.join(self.package_folder, "cmake")) rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) + rm(self, "*.pdb", os.path.join(self.package_folder, "bin")) # TODO: to remove in conan v2 once cmake_find_package* generators removed self._create_cmake_module_alias_targets( diff --git a/recipes/tesseract/config.yml b/recipes/tesseract/config.yml index 103b882aff965..2a1c379104746 100644 --- a/recipes/tesseract/config.yml +++ b/recipes/tesseract/config.yml @@ -1,4 +1,6 @@ versions: + "5.4.1": + folder: all "5.4.0": folder: all "5.3.4": From 91c04c33a9784b03675a4450d89f539dfa8da17c Mon Sep 17 00:00:00 2001 From: Uilian Ries Date: Tue, 25 Jun 2024 12:42:02 +0200 Subject: [PATCH 003/641] (#24427) [dbus] Use default meson values when options are None MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Use default options for dbus Signed-off-by: Uilian Ries * Update recipes/dbus/1.x.x/conanfile.py * Update recipes/dbus/1.x.x/conanfile.py --------- Signed-off-by: Uilian Ries Co-authored-by: Francisco Ramírez --- recipes/dbus/1.x.x/conanfile.py | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/recipes/dbus/1.x.x/conanfile.py b/recipes/dbus/1.x.x/conanfile.py index 252b821357ceb..cbac60eeeb9e9 100644 --- a/recipes/dbus/1.x.x/conanfile.py +++ b/recipes/dbus/1.x.x/conanfile.py @@ -32,10 +32,9 @@ class DbusConan(ConanFile): "system_socket": [None, "ANY"], "system_pid_file": [None, "ANY"], "with_x11": [True, False], - "with_glib": ["deprecated", True, False], "with_systemd": [True, False], "with_selinux": [True, False], - "session_socket_dir": ["ANY"], + "session_socket_dir": [None, "ANY"], } default_options = { "shared": False, @@ -45,7 +44,6 @@ class DbusConan(ConanFile): "system_socket": None, "system_pid_file": None, "with_x11": False, - "with_glib": "deprecated", "with_systemd": False, "with_selinux": False, "session_socket_dir": "/tmp", @@ -92,7 +90,6 @@ def requirements(self): self.requires("xorg/system", visible=False) def package_id(self): - del self.info.options.with_glib # The dbus_user option only effects the installation of dbus during the package method. # Otherwise, it only appears in the system.conf file in the package. self.info.options.rm_safe("dbus_user") @@ -100,8 +97,6 @@ def package_id(self): def validate(self): if self.settings.compiler == "gcc" and Version(self.settings.compiler.version) < 7: raise ConanInvalidConfiguration(f"{self.ref} requires at least gcc 7.") - if self.options.with_glib != "deprecated": - raise ConanInvalidConfiguration("with_glib option is deprecated and should not be used - the option had no effect.") def build_requirements(self): self.tool_requires("meson/1.4.0") @@ -125,7 +120,8 @@ def generate(self): tc.project_options["qt_help"] = "disabled" tc.project_options["modular_tests"] = "disabled" tc.project_options["selinux"] = "enabled" if self.options.get_safe("with_selinux") else "disabled" - tc.project_options["session_socket_dir"] = str(self.options.get_safe("session_socket_dir", "")) + if self.options.session_socket_dir: + tc.project_options["session_socket_dir"] = str(self.options.session_socket_dir) tc.project_options["systemd"] = "enabled" if self.options.get_safe("with_systemd") else "disabled" if self.options.get_safe("with_systemd"): tc.project_options["systemd_system_unitdir"] = "/res/lib/systemd/system" @@ -134,8 +130,10 @@ def generate(self): tc.project_options["message_bus"] = bool(self.options.message_bus) if self.options.get_safe("dbus_user"): tc.project_options["dbus_user"] = str(self.options.dbus_user) - tc.project_options["system_pid_file"] = str(self.options.get_safe("system_pid_file", "")) - tc.project_options["system_socket"] = str(self.options.get_safe("system_socket", "")) + if self.options.system_pid_file: + tc.project_options["system_pid_file"] = str(self.options.system_pid_file) + if self.options.system_socket: + tc.project_options["system_socket"] = str(self.options.system_socket) if is_apple_os(self): tc.project_options["launchd_agent_dir"] = os.path.join("res", "LaunchAgents") tc.project_options["x11_autolaunch"] = "enabled" if self.options.get_safe("with_x11") else "disabled" From 6cfc7ddf0ea4f5cff1e3ca85d09a935dadcc3dce Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 25 Jun 2024 21:31:38 +0900 Subject: [PATCH 004/641] (#24386) c-ares: add version 1.31.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * c-ares: add version 1.31.0 * Remove unneeded if --------- Co-authored-by: Abril Rincón Blanco --- recipes/c-ares/all/conandata.yml | 3 +++ recipes/c-ares/all/conanfile.py | 8 +++----- recipes/c-ares/config.yml | 2 ++ 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/recipes/c-ares/all/conandata.yml b/recipes/c-ares/all/conandata.yml index 6929fa264abee..22fdd92f351ad 100644 --- a/recipes/c-ares/all/conandata.yml +++ b/recipes/c-ares/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.31.0": + url: "https://github.com/c-ares/c-ares/releases/download/v1.31.0/c-ares-1.31.0.tar.gz" + sha256: "0167a33dba96ca8de29f3f598b1e6cabe531799269fd63d0153aa0e6f5efeabd" "1.30.0": url: "https://github.com/c-ares/c-ares/releases/download/v1.30.0/c-ares-1.30.0.tar.gz" sha256: "4fea312112021bcef081203b1ea020109842feb58cd8a36a3d3f7e0d8bc1138c" diff --git a/recipes/c-ares/all/conanfile.py b/recipes/c-ares/all/conanfile.py index 48b02d5029162..635628761aed5 100644 --- a/recipes/c-ares/all/conanfile.py +++ b/recipes/c-ares/all/conanfile.py @@ -10,12 +10,11 @@ class CAresConan(ConanFile): name = "c-ares" + description = "A C library for asynchronous DNS requests" license = "MIT" url = "https://github.com/conan-io/conan-center-index" - description = "A C library for asynchronous DNS requests" - topics = ("dns", "resolver", "async") homepage = "https://c-ares.haxx.se/" - + topics = ("dns", "resolver", "async") package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { @@ -83,8 +82,7 @@ def package_info(self): self.cpp_info.components["cares"].system_libs.append("pthread") elif self.settings.os == "Windows": self.cpp_info.components["cares"].system_libs.extend(["ws2_32", "advapi32"]) - if Version(self.version) >= "1.18.0": - self.cpp_info.components["cares"].system_libs.append("iphlpapi") + self.cpp_info.components["cares"].system_libs.append("iphlpapi") elif is_apple_os(self): self.cpp_info.components["cares"].system_libs.append("resolv") diff --git a/recipes/c-ares/config.yml b/recipes/c-ares/config.yml index 32a47308104a9..41f2a05256ac8 100644 --- a/recipes/c-ares/config.yml +++ b/recipes/c-ares/config.yml @@ -1,4 +1,6 @@ versions: + "1.31.0": + folder: all "1.30.0": folder: all "1.28.1": From ba588b64785f791b0c546004b994fca779eccb09 Mon Sep 17 00:00:00 2001 From: Luis Caro Campos <3535649+jcar87@users.noreply.github.com> Date: Tue, 25 Jun 2024 13:54:52 +0100 Subject: [PATCH 005/641] (#24438) gsoap: test only the created reference --- recipes/gsoap/all/test_package/conanfile.py | 22 ++++++------------- .../gsoap/all/test_package/test_package.cpp | 12 ++-------- 2 files changed, 9 insertions(+), 25 deletions(-) diff --git a/recipes/gsoap/all/test_package/conanfile.py b/recipes/gsoap/all/test_package/conanfile.py index 60209e04ba8a6..72383b4f0375e 100644 --- a/recipes/gsoap/all/test_package/conanfile.py +++ b/recipes/gsoap/all/test_package/conanfile.py @@ -7,36 +7,28 @@ class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" - generators = "CMakeDeps", "CMakeToolchain" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" test_type = "explicit" def layout(self): cmake_layout(self) def requirements(self): - self.requires(self.tested_reference_str, run=can_run(self)) - - def build_requirements(self): - if not can_run(self): - self.tool_requires(self.tested_reference_str) - - def generate(self): - VirtualRunEnv(self).generate() - if can_run(self): - VirtualRunEnv(self).generate(scope="build") - else: - VirtualBuildEnv(self).generate() + self.requires(self.tested_reference_str, run=True) def build(self): + if not can_run(self): + self.output.warning("Skipping build: the package was cross-built") + return calc_wsdl = os.path.join(self.source_folder, "calc.wsdl") self.output.info(f"Generating code from WSDL '{calc_wsdl}'") - self.run(f"wsdl2h -o calc.h {calc_wsdl}") + self.run(f"wsdl2h -o calc.h {calc_wsdl}", env="conanrun") if conan_version.major < "2": # conan v1 limitation: self.dependencies is not defined in build() method of test package import_dir = os.path.join(self.deps_cpp_info["gsoap"].rootpath, "bin", "import") else: import_dir = os.path.join(self.dependencies["gsoap"].package_folder, "bin", "import") - self.run(f"soapcpp2 -j -CL -I{import_dir} calc.h") + self.run(f"soapcpp2 -j -CL -I{import_dir} calc.h", env="conanrun") cmake = CMake(self) cmake.configure() diff --git a/recipes/gsoap/all/test_package/test_package.cpp b/recipes/gsoap/all/test_package/test_package.cpp index bf5391ec2d579..a2173524bd23c 100644 --- a/recipes/gsoap/all/test_package/test_package.cpp +++ b/recipes/gsoap/all/test_package/test_package.cpp @@ -6,15 +6,7 @@ int main() { calcProxy calc; - double sum; - if (calc.add(1.23, 4.56, sum) == SOAP_OK) - { - std::cout << "Sum = " << sum << std::endl; - } - else - { - std::cout << "Cannot sum" << std::endl; - calc.soap_stream_fault(std::cerr); - } calc.destroy(); // same as: soap_destroy(calc.soap); soap_end(calc.soap); + std::cout << "gSoap Test package successful\n"; + return 0; } From 925cc5140f6534bd2e579cb195807a517d7d3813 Mon Sep 17 00:00:00 2001 From: Luis Caro Campos <3535649+jcar87@users.noreply.github.com> Date: Tue, 25 Jun 2024 15:41:53 +0100 Subject: [PATCH 006/641] (#24437) ccache: add version 4.10, refactor cmake logic * ccache: add new 4.10, simplify * ccache test_package: test built reference * ccache: xxhash, package type * ccache windows: invalid armv8 before 4.10 * Fixed test. Empty libdirs. --------- Co-authored-by: Francisco Ramirez de Anton --- recipes/ccache/all/conandata.yml | 59 +------------------ recipes/ccache/all/conanfile.py | 38 ++++++++---- .../patches/4.7.4-cmake-msvc-runtime.patch | 11 ---- .../4.7.4-use-intrinsics-if-msbuild.patch | 34 ----------- .../all/patches/4.8-cmake-msvc-runtime.patch | 11 ---- .../all/patches/4.9-cmake-msvc-runtime.patch | 11 ---- recipes/ccache/config.yml | 12 +--- 7 files changed, 32 insertions(+), 144 deletions(-) delete mode 100644 recipes/ccache/all/patches/4.7.4-cmake-msvc-runtime.patch delete mode 100644 recipes/ccache/all/patches/4.7.4-use-intrinsics-if-msbuild.patch delete mode 100644 recipes/ccache/all/patches/4.8-cmake-msvc-runtime.patch delete mode 100644 recipes/ccache/all/patches/4.9-cmake-msvc-runtime.patch diff --git a/recipes/ccache/all/conandata.yml b/recipes/ccache/all/conandata.yml index 5c1cbd2adcc93..ff430e4765316 100644 --- a/recipes/ccache/all/conandata.yml +++ b/recipes/ccache/all/conandata.yml @@ -1,63 +1,10 @@ sources: + "4.10": + url: "https://github.com/ccache/ccache/releases/download/v4.10/ccache-4.10.tar.gz" + sha256: "16972ba62c8499045edc3ae7d7b8a0b419a961567f5ff0f01bf5a44194204775" "4.9.1": url: "https://github.com/ccache/ccache/releases/download/v4.9.1/ccache-4.9.1.tar.xz" sha256: "4c03bc840699127d16c3f0e6112e3f40ce6a230d5873daa78c60a59c7ef59d25" - "4.9": - url: "https://github.com/ccache/ccache/releases/download/v4.9/ccache-4.9.tar.xz" - sha256: "1ebc72324e3ab52af0b562bf54189d108e85eef6478d6304a345a3c2dc4018e0" "4.8.3": url: "https://github.com/ccache/ccache/releases/download/v4.8.3/ccache-4.8.3.tar.xz" sha256: "e47374c810b248cfca3665ee1d86c7c763ffd68d9944bc422d9c1872611f2b11" - "4.8.2": - url: "https://github.com/ccache/ccache/releases/download/v4.8.2/ccache-4.8.2.tar.xz" - sha256: "3d3fb3f888a5b16c4fa7ee5214cca76348afd6130e8443de5f6f2424f2076a49" - "4.8.1": - url: "https://github.com/ccache/ccache/releases/download/v4.8.1/ccache-4.8.1.tar.xz" - sha256: "87959b6819530b3dcaeb39992f585b9fc2c7120302809741378097774919fb6f" - "4.8": - url: "https://github.com/ccache/ccache/releases/download/v4.8/ccache-4.8.tar.xz" - sha256: "b963ee3bf88d7266b8a0565e4ba685d5666357f0a7e364ed98adb0dc1191fcbb" - "4.7.4": - url: "https://github.com/ccache/ccache/releases/download/v4.7.4/ccache-4.7.4.tar.xz" - sha256: "df0c64d15d3efaf0b4f6837dd6b1467e40eeaaa807db25ce79c3a08a46a84e36" -patches: - "4.9.1": - - patch_file: "patches/4.9-cmake-msvc-runtime.patch" - patch_description: "fixup MSVC runtime" - patch_type: "conan" - "4.9": - - patch_file: "patches/4.9-cmake-msvc-runtime.patch" - patch_description: "fixup MSVC runtime" - patch_type: "conan" - "4.8.3": - - patch_file: "patches/4.8-cmake-msvc-runtime.patch" - patch_description: "fixup MSVC runtime" - patch_type: "conan" - "4.8.2": - - patch_file: "patches/4.8-cmake-msvc-runtime.patch" - patch_description: "fixup MSVC runtime" - patch_type: "conan" - "4.8.1": - - patch_file: "patches/4.8-cmake-msvc-runtime.patch" - patch_description: "fixup MSVC runtime" - patch_type: "conan" - - patch_file: "patches/4.7.4-use-intrinsics-if-msbuild.patch" - patch_description: "fix build issue when using Visual Studio generator" - patch_type: "backport" - patch_source: "https://github.com/ccache/ccache/commit/350787245e7e894c8a472b176545f59a10e9dadb" - "4.8": - - patch_file: "patches/4.8-cmake-msvc-runtime.patch" - patch_description: "fixup MSVC runtime" - patch_type: "conan" - - patch_file: "patches/4.7.4-use-intrinsics-if-msbuild.patch" - patch_description: "fix build issue when using Visual Studio generator" - patch_type: "backport" - patch_source: "https://github.com/ccache/ccache/commit/350787245e7e894c8a472b176545f59a10e9dadb" - "4.7.4": - - patch_file: "patches/4.7.4-cmake-msvc-runtime.patch" - patch_description: "fixup MSVC runtime" - patch_type: "conan" - - patch_file: "patches/4.7.4-use-intrinsics-if-msbuild.patch" - patch_description: "fix build issue when using Visual Studio generator" - patch_type: "backport" - patch_source: "https://github.com/ccache/ccache/commit/350787245e7e894c8a472b176545f59a10e9dadb" diff --git a/recipes/ccache/all/conanfile.py b/recipes/ccache/all/conanfile.py index 8234bde469ffe..8eb6bcbaa6c38 100644 --- a/recipes/ccache/all/conanfile.py +++ b/recipes/ccache/all/conanfile.py @@ -1,7 +1,7 @@ from conan import ConanFile from conan.tools.cmake import cmake_layout, CMake, CMakeToolchain, CMakeDeps from conan.errors import ConanInvalidConfiguration -from conan.tools.files import copy, get, apply_conandata_patches, export_conandata_patches +from conan.tools.files import copy, get from conan.tools.build import check_min_cppstd from conan.tools.scm import Version from conan.tools.microsoft import check_min_vs, is_msvc @@ -12,6 +12,7 @@ class CcacheConan(ConanFile): name = "ccache" + package_type = "application" description = ( "Ccache (or “ccache”) is a compiler cache. It speeds up recompilation " "by caching previous compilations and detecting when the same " @@ -41,9 +42,6 @@ def _compilers_minimum_version(self): "apple-clang": "11", } - def export_sources(self): - export_conandata_patches(self) - def layout(self): cmake_layout(self, src_folder="src") @@ -52,6 +50,10 @@ def requirements(self): if self.options.redis_storage_backend: self.requires("hiredis/1.1.0") + if Version(self.version) >= "4.10": + self.requires("fmt/10.2.1") + self.requires("xxhash/[~0.8]") + def validate(self): if self.settings.compiler.cppstd: check_min_cppstd(self, self._min_cppstd) @@ -66,12 +68,15 @@ def validate(self): self.settings.compiler.libcxx == "libstdc++": raise ConanInvalidConfiguration(f"{self.ref} requires C++ filesystem library, that is not supported by Clang 11 + libstdc++.") + if self.settings.os == "Windows" and self.settings.arch == "armv8" and Version(self.version) < "4.10": + raise ConanInvalidConfiguration("ccache does not support ARMv8 on Windows before version 4.10") + def build_requirements(self): self.tool_requires("cmake/[>=3.15 <4]") def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], destination=self.source_folder, + strip_root=True) def generate(self): tc = CMakeToolchain(self) @@ -80,17 +85,26 @@ def generate(self): tc.variables["ZSTD_FROM_INTERNET"] = False tc.variables["ENABLE_DOCUMENTATION"] = False tc.variables["ENABLE_TESTING"] = False + tc.variables["STATIC_LINK"] = False # Don't link static runtimes and let Conan handle it tc.generate() deps = CMakeDeps(self) - deps.set_property("hiredis", "cmake_target_name", "HIREDIS::HIREDIS") - deps.set_property("hiredis", "cmake_find_mode", "module") - deps.set_property("zstd", "cmake_target_name", "ZSTD::ZSTD") + if Version(self.version) >= "4.10": + deps.set_property("fmt", "cmake_file_name", "Fmt") + deps.set_property("fmt", "cmake_find_mode", "module") + deps.set_property("fmt", "cmake_target_name", "dep_fmt") + deps.set_property("zstd", "cmake_file_name", "Zstd") + deps.set_property("zstd", "cmake_target_name", "dep_zstd") + deps.set_property("hiredis", "cmake_file_name", "Hiredis") + deps.set_property("hiredis", "cmake_target_name", "dep_hiredis") + else: + deps.set_property("hiredis", "cmake_target_name", "HIREDIS::HIREDIS") + deps.set_property("zstd", "cmake_target_name", "ZSTD::ZSTD") deps.set_property("zstd", "cmake_find_mode", "module") + deps.set_property("hiredis", "cmake_find_mode", "module") deps.generate() def build(self): - apply_conandata_patches(self) cmake = CMake(self) cmake.configure() cmake.build() @@ -101,7 +115,9 @@ def package(self): cmake.install() def package_info(self): + self.cpp_info.libdirs = [] + self.cpp_info.includedirs = [] + bin_path = os.path.join(self.package_folder, "bin") self.output.info("Appending PATH environment variable: {}".format(bin_path)) self.env_info.PATH.append(bin_path) - self.cpp_info.includedirs = [] diff --git a/recipes/ccache/all/patches/4.7.4-cmake-msvc-runtime.patch b/recipes/ccache/all/patches/4.7.4-cmake-msvc-runtime.patch deleted file mode 100644 index 0bc4c5ce8f995..0000000000000 --- a/recipes/ccache/all/patches/4.7.4-cmake-msvc-runtime.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- CMakeLists.txt -+++ CMakeLists.txt -@@ -97,7 +97,7 @@ - - # Link MSVC runtime statically. - if(MSVC) -- set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$:Debug>") -+ - # Link MINGW runtime statically. - elseif(WIN32) - if((CMAKE_CXX_COMPILER_ID STREQUAL GNU) OR (CMAKE_CXX_COMPILER_ID STREQUAL Clang)) diff --git a/recipes/ccache/all/patches/4.7.4-use-intrinsics-if-msbuild.patch b/recipes/ccache/all/patches/4.7.4-use-intrinsics-if-msbuild.patch deleted file mode 100644 index f55e169ebc167..0000000000000 --- a/recipes/ccache/all/patches/4.7.4-use-intrinsics-if-msbuild.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 350787245e7e894c8a472b176545f59a10e9dadb Mon Sep 17 00:00:00 2001 -From: Rafael Kitover -Date: Mon, 22 May 2023 22:13:19 +0000 -Subject: [PATCH] fix: Disable masm on msbuild for blake3 with VS - -Because of some bug with either msbuild or the cmake generator, the C -compiler flags are passed to the masm assembler making it fail. - -Use the C intrinsic versions for blake3 when msbuild is in use. - -Fix #1278 - -Signed-off-by: Rafael Kitover ---- - src/third_party/blake3/CMakeLists.txt | 6 +++++- - 1 file changed, 5 insertions(+), 1 deletion(-) - -diff --git a/src/third_party/blake3/CMakeLists.txt b/src/third_party/blake3/CMakeLists.txt -index a30342d5d3..1e30eb3cfe 100644 ---- a/src/third_party/blake3/CMakeLists.txt -+++ b/src/third_party/blake3/CMakeLists.txt -@@ -27,7 +27,11 @@ function(add_source_if_enabled feature msvc_flags others_flags intrinsic) - - # First check if it's possible to use the assembler variant for the feature. - string(TOUPPER "have_asm_${feature}" have_feature) -- if(NOT DEFINED "${have_feature}" AND CMAKE_SIZEOF_VOID_P EQUAL 8) -+ if(NOT DEFINED "${have_feature}" AND CMAKE_SIZEOF_VOID_P EQUAL 8 -+# Force intrinsic version for msbuild because of a bug in the cmake generator -+# or msbuild itself with masm flags. -+ AND NOT CMAKE_GENERATOR MATCHES "Visual Studio") -+ - if(NOT CMAKE_REQUIRED_QUIET) - message(STATUS "Performing Test ${have_feature}") - endif() diff --git a/recipes/ccache/all/patches/4.8-cmake-msvc-runtime.patch b/recipes/ccache/all/patches/4.8-cmake-msvc-runtime.patch deleted file mode 100644 index 0bc4c5ce8f995..0000000000000 --- a/recipes/ccache/all/patches/4.8-cmake-msvc-runtime.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- CMakeLists.txt -+++ CMakeLists.txt -@@ -97,7 +97,7 @@ - - # Link MSVC runtime statically. - if(MSVC) -- set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$:Debug>") -+ - # Link MINGW runtime statically. - elseif(WIN32) - if((CMAKE_CXX_COMPILER_ID STREQUAL GNU) OR (CMAKE_CXX_COMPILER_ID STREQUAL Clang)) diff --git a/recipes/ccache/all/patches/4.9-cmake-msvc-runtime.patch b/recipes/ccache/all/patches/4.9-cmake-msvc-runtime.patch deleted file mode 100644 index c0aa5be876cb8..0000000000000 --- a/recipes/ccache/all/patches/4.9-cmake-msvc-runtime.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- cmake/StaticLinkSupport.cmake -+++ cmake/StaticLinkSupport.cmake -@@ -18,7 +18,7 @@ - if(WIN32) - # Link MSVC runtime statically. - if(MSVC) -- set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$:Debug>") -+ - # Link MINGW runtime statically. - else() - if(CMAKE_CXX_COMPILER_ID MATCHES "^(GNU|Clang)\$") diff --git a/recipes/ccache/config.yml b/recipes/ccache/config.yml index c3b3ce18a0b2b..5a505084d4b8c 100644 --- a/recipes/ccache/config.yml +++ b/recipes/ccache/config.yml @@ -1,15 +1,7 @@ versions: - "4.9.1": + "4.10": folder: all - "4.9": + "4.9.1": folder: all "4.8.3": folder: all - "4.8.2": - folder: all - "4.8.1": - folder: all - "4.8": - folder: all - "4.7.4": - folder: all From 3b6ffcfc334ea121b67b4378078dbb3d8c6053f8 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 26 Jun 2024 00:52:03 +0900 Subject: [PATCH 007/641] (#24439) lua: add version 5.4.7 --- recipes/lua/all/conandata.yml | 3 +++ recipes/lua/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/lua/all/conandata.yml b/recipes/lua/all/conandata.yml index 8ec9d4e74c4ed..c45d4283f1442 100644 --- a/recipes/lua/all/conandata.yml +++ b/recipes/lua/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "5.4.7": + url: "https://www.lua.org/ftp/lua-5.4.7.tar.gz" + sha256: "9fbf5e28ef86c69858f6d3d34eccc32e911c1a28b4120ff3e84aaa70cfbf1e30" "5.4.6": url: "https://www.lua.org/ftp/lua-5.4.6.tar.gz" sha256: "7d5ea1b9cb6aa0b59ca3dde1c6adcb57ef83a1ba8e5432c0ecd06bf439b3ad88" diff --git a/recipes/lua/config.yml b/recipes/lua/config.yml index 2b62e0c775189..00a91f7d773a9 100644 --- a/recipes/lua/config.yml +++ b/recipes/lua/config.yml @@ -1,4 +1,6 @@ versions: + "5.4.7": + folder: all "5.4.6": folder: all "5.4.4": From b50fbfee9234dd7e99e045aee640ef2a9492b677 Mon Sep 17 00:00:00 2001 From: Dovydas Girdvainis Date: Thu, 27 Jun 2024 09:11:31 +0200 Subject: [PATCH 008/641] (#24290) gsoap: remove dead source url, bump to v2.8.134 * remove 2.8.129 and 2.8.132, add 2.8.134 version * readd 2.8.132 and 2.8.129 version filles from c3i backup server * add missing empty liens at the end of file * add @RubenRBS changes * remove trailing whitespaces * remove trailing space at the end of file * fix trailing lines added by github * readd new line at the end of file * retriger CI/CD pipeline Signed-off-by: Dovydas Girdvainis --------- Signed-off-by: Dovydas Girdvainis --- recipes/gsoap/all/conandata.yml | 19 +++++++++++++++---- recipes/gsoap/config.yml | 2 ++ 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/recipes/gsoap/all/conandata.yml b/recipes/gsoap/all/conandata.yml index cc91f201aaee4..a182b51ca54e4 100644 --- a/recipes/gsoap/all/conandata.yml +++ b/recipes/gsoap/all/conandata.yml @@ -1,11 +1,22 @@ +# The sources for this project get deleted from time to time. +# We use the backup sources from Conan Center as mirrors to let users compile in the future +# When adding new versions, directly add the URL following previous versions schema +# https://c3i.jfrog.io/artifactory/conan-center-backup-sources/ + sha256 of the sources +# The file will be automatically uploaded after the first successful compilation of the new version +# And will be usable as a mirror from then on. +# At some point the Conan client might come pre-configured with this backup remote by default, but don't delete the links then +# some users might still rely on the old revisions/not have it set to point to our CCI backup remote sources: + "2.8.134": + url: + - "https://sourceforge.net/projects/gsoap2/files/gsoap_2.8.134.zip/download" + - "https://c3i.jfrog.io/artifactory/conan-center-backup-sources/63478e555c0ccde0164f055ff605b02805db0abc6712a04bcb14cb617b047218" + sha256: "63478e555c0ccde0164f055ff605b02805db0abc6712a04bcb14cb617b047218" "2.8.132": url: - - "https://downloads.sourceforge.net/project/gsoap2/gsoap_2.8.132.zip" - - "https://c3i.jfrog.io/artifactory/cci-sources-backup/sources/gsoap/gsoap_2.8.132.zip" + - "https://c3i.jfrog.io/artifactory/conan-center-backup-sources/d6eb5d0d2c31532746f4dc9fa1ce95d4553414e918059eac23cf081d88c2aeee" sha256: "d6eb5d0d2c31532746f4dc9fa1ce95d4553414e918059eac23cf081d88c2aeee" "2.8.129": url: - - "https://downloads.sourceforge.net/project/gsoap2/gsoap_2.8.129.zip" - - "https://c3i.jfrog.io/artifactory/cci-sources-backup/sources/gsoap/gsoap_2.8.129.zip" + - "https://c3i.jfrog.io/artifactory/conan-center-backup-sources/16cb8852ea791a6aec8f0213d619c15eecc8171e0c888f3b0e0c66d3ef78e20a" sha256: "16cb8852ea791a6aec8f0213d619c15eecc8171e0c888f3b0e0c66d3ef78e20a" diff --git a/recipes/gsoap/config.yml b/recipes/gsoap/config.yml index 9a5640854a072..89600de4b1c5d 100644 --- a/recipes/gsoap/config.yml +++ b/recipes/gsoap/config.yml @@ -1,4 +1,6 @@ versions: + "2.8.134": + folder: all "2.8.132": folder: all "2.8.129": From 698ded7a2ceb8ce10411cc9a115eebc3395c9499 Mon Sep 17 00:00:00 2001 From: Martin Siggel Date: Thu, 27 Jun 2024 09:38:22 +0200 Subject: [PATCH 009/641] (#21740) gtlab-logging: Initial support for the gtlab-logging library (4.4.1) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Initial support for gtlab-logging * Try to fix linter error * Applied suggestions to conanfile * Flag for qt and c++ version check * Improved check for C++14 * Fix for fpic and shared libs * Increase apple clang requirement * Simplified code Co-authored-by: Martin Valgur * Removed comments Co-authored-by: Martin Valgur * Update recipes/gtlab-logging/all/conanfile.py Co-authored-by: Uilian Ries * Update recipes/gtlab-logging/all/conanfile.py Co-authored-by: Uilian Ries * gtlab-logging: Allow qt version range Co-authored-by: Uilian Ries * Update recipes/gtlab-logging/all/conanfile.py --------- Co-authored-by: Martin Valgur Co-authored-by: Rubén Rincón Blanco Co-authored-by: Uilian Ries --- recipes/gtlab-logging/all/conandata.yml | 4 + recipes/gtlab-logging/all/conanfile.py | 110 ++++++++++++++++++ .../all/test_package/CMakeLists.txt | 7 ++ .../all/test_package/conanfile.py | 26 +++++ .../all/test_package/example.cpp | 6 + recipes/gtlab-logging/config.yml | 3 + 6 files changed, 156 insertions(+) create mode 100644 recipes/gtlab-logging/all/conandata.yml create mode 100644 recipes/gtlab-logging/all/conanfile.py create mode 100644 recipes/gtlab-logging/all/test_package/CMakeLists.txt create mode 100644 recipes/gtlab-logging/all/test_package/conanfile.py create mode 100644 recipes/gtlab-logging/all/test_package/example.cpp create mode 100644 recipes/gtlab-logging/config.yml diff --git a/recipes/gtlab-logging/all/conandata.yml b/recipes/gtlab-logging/all/conandata.yml new file mode 100644 index 0000000000000..a3c93f35dda32 --- /dev/null +++ b/recipes/gtlab-logging/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "4.4.1": + sha256: "3f905b36de130e32a3b2230b78fee8dfc2747775a6171c7a81d3d02843093e72" + url: "https://github.com/dlr-gtlab/gt-logging/archive/refs/tags/4-4-1.tar.gz" diff --git a/recipes/gtlab-logging/all/conanfile.py b/recipes/gtlab-logging/all/conanfile.py new file mode 100644 index 0000000000000..4faba2a85c630 --- /dev/null +++ b/recipes/gtlab-logging/all/conanfile.py @@ -0,0 +1,110 @@ +from conan.tools.cmake import CMake, CMakeToolchain, CMakeDeps, cmake_layout +from conan.tools import files +from conan.tools.build import check_min_cppstd +from conan.errors import ConanInvalidConfiguration +from conan import ConanFile +import os + +required_conan_version = ">=1.59.0" + +class GTLabLoggingConan(ConanFile): + name = "gtlab-logging" + license = "BSD-3-Clause" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/dlr-gtlab/gt-logging" + topics = ("logging", "qt") + description = "Simple logging interface with qt support" + + settings = "os", "arch", "compiler", "build_type" + package_type = "library" + + options = { + "shared": [True, False], + "fPIC": [True, False], + "with_qt": [True, False] + } + default_options = { + "shared": False, + "fPIC": True, + "with_qt": False + } + + def requirements(self): + if self.options.with_qt: + self.requires("qt/[>=5.15 <7]", transitive_headers=True) + + + @property + def _min_cppstd(self): + return "14" + + @property + def _minimum_compilers_version(self): + return { + "14": { + "Visual Studio": "15", + "msvc": "191", + "gcc": "7.3.1", + "clang": "6", + "apple-clang": "14", + }, + }.get(self._min_cppstd, {}) + + def validate(self): + if self.settings.get_safe("compiler.cppstd"): + check_min_cppstd(self, self._min_cppstd) + + def loose_lt_semver(v1, v2): + return all(int(p1) < int(p2) for p1, p2 in zip(str(v1).split("."), str(v2).split("."))) + + compiler = self.settings.compiler + min_version = self._minimum_compilers_version.get(str(compiler)) + if min_version and loose_lt_semver(str(compiler.version), min_version): + raise ConanInvalidConfiguration( + f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." + ) + + def generate(self): + CMakeToolchain(self).generate() + CMakeDeps(self).generate() + + def layout(self): + cmake_layout(self, src_folder="src") + + def config_options(self): + if self.settings.os == "Windows": + del self.options.fPIC + + def configure(self): + if self.options.shared: + self.options.rm_safe("fPIC") + + def source(self): + files.get(self, **self.conan_data["sources"][self.version], + strip_root=True, destination=self.source_folder) + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + + def package(self): + cmake = CMake(self) + cmake.install() + + files.rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) + files.copy(self, os.path.join("LICENSES", "BSD-3-Clause.txt"), dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + + def package_info(self): + self.cpp_info.libs = ["GTlabLogging"] if self.settings.build_type != "Debug" else ["GTlabLogging-d"] + + self.cpp_info.includedirs.append(os.path.join("include", "logging")) + + self.cpp_info.libdirs = [os.path.join("lib", "logging")] + + self.cpp_info.set_property("cmake_file_name", "GTlabLogging") + self.cpp_info.set_property("cmake_target_name", "GTlab::Logging") + + if self.options.with_qt: + self.cpp_info.defines = ['GT_LOG_USE_QT_BINDINGS'] diff --git a/recipes/gtlab-logging/all/test_package/CMakeLists.txt b/recipes/gtlab-logging/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..78edd9030ca73 --- /dev/null +++ b/recipes/gtlab-logging/all/test_package/CMakeLists.txt @@ -0,0 +1,7 @@ +cmake_minimum_required(VERSION 3.12) +project(PackageTest CXX) + +find_package(GTlabLogging REQUIRED) + +add_executable(example example.cpp) +target_link_libraries(example GTlab::Logging) diff --git a/recipes/gtlab-logging/all/test_package/conanfile.py b/recipes/gtlab-logging/all/test_package/conanfile.py new file mode 100644 index 0000000000000..1f279ef73c18b --- /dev/null +++ b/recipes/gtlab-logging/all/test_package/conanfile.py @@ -0,0 +1,26 @@ +from conan import ConanFile +from conan.tools.cmake import CMake, cmake_layout +from conan.tools.build import can_run +import os + + +class GTlabLoggingTestConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + + 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], "example") + self.run(bin_path, env="conanrun") diff --git a/recipes/gtlab-logging/all/test_package/example.cpp b/recipes/gtlab-logging/all/test_package/example.cpp new file mode 100644 index 0000000000000..831dda5df891b --- /dev/null +++ b/recipes/gtlab-logging/all/test_package/example.cpp @@ -0,0 +1,6 @@ +#include + +int main() { + gtError() << "Hello World"; + return 0; +} diff --git a/recipes/gtlab-logging/config.yml b/recipes/gtlab-logging/config.yml new file mode 100644 index 0000000000000..e4bb798c7e054 --- /dev/null +++ b/recipes/gtlab-logging/config.yml @@ -0,0 +1,3 @@ +versions: + "4.4.1": + folder: all From 5f06415ed29742a4b3c5861497a95f748eaf689b Mon Sep 17 00:00:00 2001 From: technoyes <76265781+technoyes@users.noreply.github.com> Date: Thu, 27 Jun 2024 10:10:37 +0200 Subject: [PATCH 010/641] (#24436) iconfontcppheaders: bump version to cci.20240620 The usual updates as well as adding support for Google Material Design Symbols --- recipes/iconfontcppheaders/all/conandata.yml | 3 +++ recipes/iconfontcppheaders/all/conanfile.py | 2 +- recipes/iconfontcppheaders/config.yml | 2 ++ 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/recipes/iconfontcppheaders/all/conandata.yml b/recipes/iconfontcppheaders/all/conandata.yml index 499df05a59976..81e9b251ba0f8 100644 --- a/recipes/iconfontcppheaders/all/conandata.yml +++ b/recipes/iconfontcppheaders/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "cci.20240620": + sha256: 363613c9ea6b4d4b290527bc1fcd626b09accd985a40f14442e86d1df16ec487 + url: https://github.com/juliettef/IconFontCppHeaders/archive/62d27fa93d8f1f881dac18f13881dd97af66fa74/main.zip "cci.20240128": sha256: de946a4471dca969426b2e7863d79136a91f2e4e4cc7a766df31bbb8412571f9 url: https://github.com/juliettef/IconFontCppHeaders/archive/8886c5657bac22b8fee34354871e3ade2a596433/main.zip diff --git a/recipes/iconfontcppheaders/all/conanfile.py b/recipes/iconfontcppheaders/all/conanfile.py index 5541ed9fd754d..278c4d54b8232 100644 --- a/recipes/iconfontcppheaders/all/conanfile.py +++ b/recipes/iconfontcppheaders/all/conanfile.py @@ -9,7 +9,7 @@ class FireHppConan(ConanFile): name = "iconfontcppheaders" - description = "Headers for icon fonts Font Awesome, Fork Awesome, Google Material Design, Pictogrammers Material Design icons, Kenney game icons, Fontaudio, Codicons and Lucide." + description = "Headers for icon fonts Font Awesome, Fork Awesome, Google Material Design Icons, Google Material Design Symbols, Pictogrammers Material Design icons, Kenney game icons, Fontaudio, Codicons and Lucide." license = "Zlib" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/juliettef/IconFontCppHeaders" diff --git a/recipes/iconfontcppheaders/config.yml b/recipes/iconfontcppheaders/config.yml index c603b02a80db4..163b17b48651e 100644 --- a/recipes/iconfontcppheaders/config.yml +++ b/recipes/iconfontcppheaders/config.yml @@ -1,4 +1,6 @@ versions: + "cci.20240620": + folder: all "cci.20240128": folder: all "cci.20231102": From 187798f45d53fd5f80d06f3f3a4edb9a1ce08775 Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 27 Jun 2024 18:10:52 +0900 Subject: [PATCH 011/641] (#24454) mold: add version 2.32.1 --- recipes/mold/all/conandata.yml | 3 +++ recipes/mold/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/mold/all/conandata.yml b/recipes/mold/all/conandata.yml index 38794dd078847..76bdbbd4a2351 100644 --- a/recipes/mold/all/conandata.yml +++ b/recipes/mold/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.32.1": + url: "https://github.com/rui314/mold/archive/refs/tags/v2.32.1.tar.gz" + sha256: "f3c9a527d884c635834fe7d79b3de959b00783bf9446280ea274d996f0335825" "2.32.0": url: "https://github.com/rui314/mold/archive/refs/tags/v2.32.0.tar.gz" sha256: "4b7e4146ea0f52be9adae8b417399f3676a041e65b55e3f25f088120d30a320b" diff --git a/recipes/mold/config.yml b/recipes/mold/config.yml index 8e3f7360a1022..096044e3278b2 100644 --- a/recipes/mold/config.yml +++ b/recipes/mold/config.yml @@ -1,4 +1,6 @@ versions: + "2.32.1": + folder: all "2.32.0": folder: all "2.31.0": From 1d5cdedd945be059268cc6f6fbdc1094ca51dd6b Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 27 Jun 2024 18:50:40 +0900 Subject: [PATCH 012/641] (#24446) quill: add version 4.5.0 --- recipes/quill/all/conandata.yml | 3 +++ recipes/quill/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/quill/all/conandata.yml b/recipes/quill/all/conandata.yml index 29ade99968409..e3bb4f4c9035b 100644 --- a/recipes/quill/all/conandata.yml +++ b/recipes/quill/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "4.5.0": + url: "https://github.com/odygrd/quill/archive/v4.5.0.tar.gz" + sha256: "70e8f4a76fd8a83b60d378f31b70dd09a9381686ebafdcd0db08fe099f518309" "4.4.1": url: "https://github.com/odygrd/quill/archive/v4.4.1.tar.gz" sha256: "c5e0c829096f81364fd55ac1358fe72b27785839474caa9c904b12a9e95c0e88" diff --git a/recipes/quill/config.yml b/recipes/quill/config.yml index 24a6cdda8b269..5fc71b60926cd 100644 --- a/recipes/quill/config.yml +++ b/recipes/quill/config.yml @@ -1,4 +1,6 @@ versions: + "4.5.0": + folder: "all" "4.4.1": folder: "all" "4.4.0": From 2600cb336ddce6bc2a2c46481579e1a3c7489793 Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Fri, 28 Jun 2024 08:21:25 +0100 Subject: [PATCH 013/641] (#24456) [bot] Update authorized users list (2024-06-27) * Add/remove users to Access Request * move synaptics-lspintzyk to waitlist 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 3d81433195252..3414a9d5c8b7b 100644 --- a/.c3i/authorized_users.yml +++ b/.c3i/authorized_users.yml @@ -1375,3 +1375,5 @@ authorized_users: - ScarletEmanu - josephbirkner - glywk +- aniederl +- SvenRoederer diff --git a/.c3i/waitlist_users.yml b/.c3i/waitlist_users.yml index 7ce758660cc3c..0a820a622ea67 100644 --- a/.c3i/waitlist_users.yml +++ b/.c3i/waitlist_users.yml @@ -3,3 +3,4 @@ waitlist_users: - retroandchill - refactorTractor - jjbel +- synaptics-lspintzyk From 0438bb73d2598255788bd228190dd843a3e3946e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Francisco=20Ram=C3=ADrez?= Date: Fri, 28 Jun 2024 11:01:52 +0200 Subject: [PATCH 014/641] (#24468) pulseaudio: Workaround if clang 15 --- recipes/pulseaudio/all/conanfile.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/recipes/pulseaudio/all/conanfile.py b/recipes/pulseaudio/all/conanfile.py index d4ada3ef9ee78..002d47cbedf08 100644 --- a/recipes/pulseaudio/all/conanfile.py +++ b/recipes/pulseaudio/all/conanfile.py @@ -1,3 +1,5 @@ +import os + from conan import ConanFile from conan.errors import ConanInvalidConfiguration from conan.tools.build import cross_building @@ -5,7 +7,6 @@ from conan.tools.files import copy, get, rm, rmdir from conan.tools.gnu import Autotools, AutotoolsDeps, AutotoolsToolchain, PkgConfigDeps from conan.tools.layout import basic_layout -import os required_conan_version = ">=1.53.0" @@ -111,6 +112,10 @@ def generate(self): "--with-udev-rules-dir=${prefix}/bin/udev/rules.d", f"--with-systemduserunitdir={os.path.join(self.build_folder, 'ignore')}", ]) + # Workaround for https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=268250 + # clang-15 works, but we need to skip the gnu11 flag check + if self.settings.compiler == "clang" and self.settings.compiler.version == 15: + tc.configure_args.append("ax_cv_check_cflags__pedantic__Werror__std_gnu11=yes") for lib in ["alsa", "x11", "openssl", "dbus"]: tc.configure_args.append(f"--enable-{lib}={yes_no(getattr(self.options, f'with_{lib}'))}") # TODO: to remove when automatically handled by AutotoolsToolchain From fb3660d08ce958e71aae6455bfe67f2533b6a31a Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 28 Jun 2024 19:50:16 +0900 Subject: [PATCH 015/641] (#24461) mongo-c-driver: add version 1.27.3 --- recipes/mongo-c-driver/all/conandata.yml | 3 +++ recipes/mongo-c-driver/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/mongo-c-driver/all/conandata.yml b/recipes/mongo-c-driver/all/conandata.yml index d5876eec0ae0c..2f74d581142e4 100644 --- a/recipes/mongo-c-driver/all/conandata.yml +++ b/recipes/mongo-c-driver/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.27.3": + url: "https://github.com/mongodb/mongo-c-driver/archive/refs/tags/1.27.3.tar.gz" + sha256: "2593048270f8426c3dc60f0a3c22c3da92ae00a3ef284da7e662a1348ca1685c" "1.27.2": url: "https://github.com/mongodb/mongo-c-driver/archive/refs/tags/1.27.2.tar.gz" sha256: "a53010803e2df097a2ea756be6ece34c8f52cda2c18e6ea21115097b75f5d4bf" diff --git a/recipes/mongo-c-driver/config.yml b/recipes/mongo-c-driver/config.yml index 4ca8e35c64738..e4d32528df309 100644 --- a/recipes/mongo-c-driver/config.yml +++ b/recipes/mongo-c-driver/config.yml @@ -1,4 +1,6 @@ versions: + "1.27.3": + folder: all "1.27.2": folder: all "1.27.1": From c7af3372e7864fb286fe21106518f7e12bdcc88a Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Fri, 28 Jun 2024 14:04:51 +0300 Subject: [PATCH 016/641] (#18674) quickfast: migrate to Conan v2 * quickfast: migrate to Conan v2 * quickfast: fix compilation issues * quickfast: propagate BOOST_BIND_GLOBAL_PLACEHOLDERS * quickfast: fix -fPIC option * quickfast: link against Boost::thread * quickfast: just overlink everything Would be nice to avoid overlinking, but explicitly listing Boost components results in these not being found: public: void * __cdecl boost::detail::win32::handle_manager::duplicate(void) const private: void __cdecl boost::thread::start_thread(void) public: __cdecl boost::thread::~thread(void) public: void __cdecl boost::thread::join(void) * quickfast: bump deps * quickfast: Boost::disable_autolinking * Simplify test package Signed-off-by: Uilian Ries * Improve msvc export define Signed-off-by: Uilian Ries * Fix build on Windows Signed-off-by: Uilian Ries * update patch file Signed-off-by: Uilian Ries * Patch version 1.5 Signed-off-by: Uilian Ries --------- Signed-off-by: Uilian Ries Co-authored-by: Uilian Ries --- recipes/quickfast/all/CMakeLists.txt | 89 ++++++--------- recipes/quickfast/all/conandata.yml | 18 +-- recipes/quickfast/all/conanfile.py | 103 ++++++++++-------- .../all/patches/00001-fix-boost-asio.patch | 42 ------- .../all/patches/00002-fix-boost-asio.patch | 42 ------- .../all/patches/0001-1.5-fix-boost-asio.patch | 44 ++++++++ .../0001-cci.20170314-fix-boost-asio.patch | 44 ++++++++ .../quickfast/all/test_package/CMakeLists.txt | 11 +- .../quickfast/all/test_package/conanfile.py | 22 ++-- recipes/quickfast/all/test_package/main.cpp | 41 ++----- .../all/test_v1_package/CMakeLists.txt | 8 ++ .../all/test_v1_package/conanfile.py | 18 +++ recipes/quickfast/config.yml | 4 +- 13 files changed, 247 insertions(+), 239 deletions(-) delete mode 100644 recipes/quickfast/all/patches/00001-fix-boost-asio.patch delete mode 100644 recipes/quickfast/all/patches/00002-fix-boost-asio.patch create mode 100644 recipes/quickfast/all/patches/0001-1.5-fix-boost-asio.patch create mode 100644 recipes/quickfast/all/patches/0001-cci.20170314-fix-boost-asio.patch create mode 100644 recipes/quickfast/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/quickfast/all/test_v1_package/conanfile.py diff --git a/recipes/quickfast/all/CMakeLists.txt b/recipes/quickfast/all/CMakeLists.txt index 99facf34f7dda..69448bef01a75 100644 --- a/recipes/quickfast/all/CMakeLists.txt +++ b/recipes/quickfast/all/CMakeLists.txt @@ -1,75 +1,58 @@ -# based on: https://github.com/microsoft/vcpkg/blob/master/ports/quickfast/CMakeLists.txt - -# Copyright (c) Microsoft Corporation - -# All rights reserved. - -# MIT License - -# Permission is hereby granted, free of charge, to any person obtaining a copy of -# this software and associated documentation files (the "Software"), to deal in -# the Software without restriction, including without limitation the rights to -# use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies -# of the Software, and to permit persons to whom the Software is furnished to do -# so, subject to the following conditions: - -# The above copyright notice and this permission notice shall be included in all -# copies or substantial portions of the Software. - -# THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -# SOFTWARE. - -cmake_minimum_required(VERSION 3.13) +cmake_minimum_required(VERSION 3.15) project(quickfast CXX) -include(${PROJECT_BINARY_DIR}/../conanbuildinfo.cmake) -conan_basic_setup() +find_package(Boost REQUIRED CONFIG) +find_package(XercesC REQUIRED CONFIG) file(GLOB SOURCES - source_subfolder/src/Application/*.cpp - source_subfolder/src/Common/*.cpp - source_subfolder/src/Codecs/*.cpp - source_subfolder/src/Communication/*.cpp - source_subfolder/src/Messages/*.cpp + src/Application/*.cpp + src/Common/*.cpp + src/Codecs/*.cpp + src/Communication/*.cpp + src/Messages/*.cpp ) -file(GLOB HEADERS RELATIVE ${PROJECT_SOURCE_DIR} - source_subfolder/src/Application/*.h - source_subfolder/src/Common/*.h - source_subfolder/src/Codecs/*.h - source_subfolder/src/Communication/*.h - source_subfolder/src/Messages/*.h +file(GLOB HEADERS + src/Application/*.h + src/Common/*.h + src/Codecs/*.h + src/Communication/*.h + src/Messages/*.h ) add_library(quickfast ${HEADERS} ${SOURCES}) +# Needed to keep support for deprecated placeholders in boost::bind +target_compile_definitions(quickfast PRIVATE -DBOOST_BIND_GLOBAL_PLACEHOLDERS) + if(BUILD_SHARED_LIBS) - target_compile_definitions(quickfast PRIVATE -DQUICKFAST_BUILD_DLL) + target_compile_definitions(quickfast PUBLIC QUICKFAST_BUILD_DLL) else() - target_compile_definitions(quickfast PUBLIC -DQUICKFAST_HAS_DLL=0) + target_compile_definitions(quickfast PUBLIC QUICKFAST_HAS_DLL=0) endif() target_compile_features(quickfast PUBLIC cxx_std_11) - -target_include_directories(quickfast PUBLIC - source_subfolder/src +target_include_directories(quickfast PRIVATE src) +target_link_libraries(${PROJECT_NAME} + Boost::boost + Boost::thread + Boost::system + Boost::filesystem + XercesC::XercesC +) +set_target_properties(quickfast PROPERTIES + PUBLIC_HEADER "${HEADERS}" ) - -target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS}) install(TARGETS quickfast - RUNTIME DESTINATION bin - ARCHIVE DESTINATION lib - LIBRARY DESTINATION lib + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} + PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${PROJECT_NAME} ) foreach (HEADER ${HEADERS}) - file(RELATIVE_PATH HEADER_REL ${PROJECT_SOURCE_DIR}/source_subfolder/src ${PROJECT_SOURCE_DIR}/${HEADER}) - get_filename_component(HEADER_DIR ${HEADER_REL} DIRECTORY) - install(FILES ${HEADER} DESTINATION include/quickfast/${HEADER_DIR}) + file(RELATIVE_PATH HEADER_REL ${PROJECT_SOURCE_DIR}/src ${HEADER}) + get_filename_component(HEADER_DIR ${HEADER_REL} DIRECTORY) + install(FILES ${HEADER} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${PROJECT_NAME}/${HEADER_DIR}) endforeach() diff --git a/recipes/quickfast/all/conandata.yml b/recipes/quickfast/all/conandata.yml index f9690b9e48e93..be365a50cf527 100644 --- a/recipes/quickfast/all/conandata.yml +++ b/recipes/quickfast/all/conandata.yml @@ -1,14 +1,16 @@ sources: - "1.5": - url: "https://github.com/objectcomputing/quickfast/archive/V1_5.tar.gz" - sha256: "7ae22d28cc13967a2815c09bec027ce01f2f3e30b6ed752bea00649581e728df" "cci.20170314": url: "https://github.com/objectcomputing/quickfast/archive/f9403cfb20ae5383a04772112728d233502e31c0.tar.gz" sha256: "29f40fa383643bfa381315148c6c985fe41159342706f0d0a274fcf45cf36f49" -patches: "1.5": - - patch_file: "patches/00001-fix-boost-asio.patch" - base_path: "source_subfolder" + url: "https://github.com/objectcomputing/quickfast/archive/V1_5.tar.gz" + sha256: "7ae22d28cc13967a2815c09bec027ce01f2f3e30b6ed752bea00649581e728df" +patches: "cci.20170314": - - patch_file: "patches/00002-fix-boost-asio.patch" - base_path: "source_subfolder" + - patch_file: "patches/0001-cci.20170314-fix-boost-asio.patch" + patch_type: "portability" + patch_description: "Fix compilation issues with newer Boost.Asio" + "1.5": + - patch_file: "patches/0001-1.5-fix-boost-asio.patch" + patch_type: "portability" + patch_description: "Fix compilation issues with newer Boost.Asio" diff --git a/recipes/quickfast/all/conanfile.py b/recipes/quickfast/all/conanfile.py index c5aa454e68422..29ce60d7e04be 100644 --- a/recipes/quickfast/all/conanfile.py +++ b/recipes/quickfast/all/conanfile.py @@ -1,70 +1,83 @@ -from conans import ConanFile, CMake, tools import os -import shutil -import glob + +from conan import ConanFile +from conan.tools.build import check_min_cppstd +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get +from conan.tools.microsoft import is_msvc + +required_conan_version = ">=1.53.0" class QuickfastConan(ConanFile): name = "quickfast" + description = "QuickFAST is an Open Source native C++ implementation of the FAST Protocol" license = "BSD-3-Clause" url = "https://github.com/conan-io/conan-center-index" - homepage = "https://objectcomputing.com/" - description = "QuickFAST is an Open Source native C++ implementation of the FAST Protocol" - topics = ("conan", "QuickFAST", "FAST", "FIX", "Fix Adapted for STreaming", "Financial Information Exchange", - "libraries", "cpp") - settings = "os", "compiler", "build_type", "arch" - options = {"fPIC": [True, False], - "shared": [True, False]} - default_options = {"fPIC": True, - "shared": False} - requires = ["boost/1.75.0", "xerces-c/3.2.3"] - generators = "cmake" - exports_sources = "CMakeLists.txt", "patches/**" - _cmake = None - - @property - def _source_subfolder(self): - return "source_subfolder" - - @property - def _build_subfolder(self): - return "build_subfolder" - - def _configure_cmake(self): - if not self._cmake: - self._cmake = CMake(self) - self._cmake.configure(build_folder=self._build_subfolder) - return self._cmake + homepage = "https://github.com/objectcomputing/quickfast" + topics = ("fast-protocol", "fast", "fix-adapted-for-streaming", "fpl", "fix-protocol-limited") - def source(self): - tools.get(**self.conan_data["sources"][self.version]) - extracted_dir = glob.glob("quickfast-*")[0] - os.rename(extracted_dir, self._source_subfolder) + package_type = "library" + settings = "os", "arch", "compiler", "build_type" + options = { + "shared": [True, False], + "fPIC": [True, False], + } + default_options = { + "shared": False, + "fPIC": True, + } + + def export_sources(self): + copy(self, "CMakeLists.txt", self.recipe_folder, os.path.join(self.export_sources_folder, "src")) + export_conandata_patches(self) def config_options(self): if self.settings.os == "Windows": del self.options.fPIC def configure(self): + if self.options.shared: + self.options.rm_safe("fPIC") + + def layout(self): + cmake_layout(self, src_folder="src") + + def requirements(self): + # Uses Boost.Asio transitively + self.requires("boost/1.85.0", transitive_headers=True, transitive_libs=True) + self.requires("xerces-c/3.2.5") + + def validate(self): if self.settings.compiler.cppstd: - tools.check_min_cppstd(self, "11") + check_min_cppstd(self, 11) - def build(self): - patches = self.conan_data["patches"][self.version] - for patch in patches: - tools.patch(**patch) + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) - cmake = self._configure_cmake() - cmake.build(target="quickfast") + def generate(self): + tc = CMakeToolchain(self) + tc.generate() + tc = CMakeDeps(self) + tc.generate() + + def build(self): + apply_conandata_patches(self) + cmake = CMake(self) + cmake.configure() + cmake.build() def package(self): - cmake = self._configure_cmake() + copy(self, "license.txt", self.source_folder, os.path.join(self.package_folder, "licenses")) + cmake = CMake(self) cmake.install() - self.copy("license.txt", dst="licenses", src=self._source_subfolder) def package_info(self): - self.cpp_info.libs = tools.collect_libs(self) + self.cpp_info.libs = ["quickfast"] self.cpp_info.includedirs.append(os.path.join("include", "quickfast")) - if not self.options.shared: + # Needed to keep support for deprecated placeholders in boost::bind + self.cpp_info.defines.append("BOOST_BIND_GLOBAL_PLACEHOLDERS") + + if is_msvc(self) and not self.options.shared: self.cpp_info.defines.append("QUICKFAST_HAS_DLL=0") diff --git a/recipes/quickfast/all/patches/00001-fix-boost-asio.patch b/recipes/quickfast/all/patches/00001-fix-boost-asio.patch deleted file mode 100644 index 02dcc3611cf5c..0000000000000 --- a/recipes/quickfast/all/patches/00001-fix-boost-asio.patch +++ /dev/null @@ -1,42 +0,0 @@ -Patch taken from: -https://raw.githubusercontent.com/microsoft/vcpkg/master/ports/quickfast/00001-fix-boost-asio.patch - -diff --git a/src/Common/QuickFASTPch.h b/src/Common/QuickFASTPch.h -index 3574df8..c4ef4e1 100644 ---- a/src/Common/QuickFASTPch.h -+++ b/src/Common/QuickFASTPch.h -@@ -32,7 +32,7 @@ - #include - - // If building for .NET, must link boost threads dynamically --#define BOOST_THREAD_USE_DLL -+// #define BOOST_THREAD_USE_DLL - // This reports at compile time which boost libraries will be used - // #define BOOST_LIB_DIAGNOSTIC - -diff --git a/src/Communication/AsioService.h b/src/Communication/AsioService.h -index 4f61915..96f2198 100644 ---- a/src/Communication/AsioService.h -+++ b/src/Communication/AsioService.h -@@ -99,6 +99,7 @@ namespace QuickFAST - { - return ioService_; - } -+ boost::asio::io_service::executor_type get_executor() BOOST_ASIO_NOEXCEPT { return ioService_.get_executor();} - - ///@brief Post a completion handler for later processing (usually in a different thread) - /// @param handler is the handler to be posted -diff --git a/src/Communication/AsioService_fwd.h b/src/Communication/AsioService_fwd.h -index dc2f235..6ad5e68 100644 ---- a/src/Communication/AsioService_fwd.h -+++ b/src/Communication/AsioService_fwd.h -@@ -17,7 +17,8 @@ namespace boost - { - namespace asio - { -- class io_service; -+ class io_context; -+ typedef io_context io_service; - } - } - diff --git a/recipes/quickfast/all/patches/00002-fix-boost-asio.patch b/recipes/quickfast/all/patches/00002-fix-boost-asio.patch deleted file mode 100644 index 62dc10d507afe..0000000000000 --- a/recipes/quickfast/all/patches/00002-fix-boost-asio.patch +++ /dev/null @@ -1,42 +0,0 @@ -Patch adapted from: -https://raw.githubusercontent.com/microsoft/vcpkg/master/ports/quickfast/00001-fix-boost-asio.patch - -diff --git a/src/Common/QuickFASTPch.h b/src/Common/QuickFASTPch.h -index 381f846..e6f6b13 100644 ---- a/src/Common/QuickFASTPch.h -+++ b/src/Common/QuickFASTPch.h -@@ -36,7 +36,7 @@ - #include - - // If building for .NET, must link boost threads dynamically --#define BOOST_THREAD_USE_DLL -+// #define BOOST_THREAD_USE_DLL - // This reports at compile time which boost libraries will be used - // #define BOOST_LIB_DIAGNOSTIC - -diff --git a/src/Communication/AsioService.h b/src/Communication/AsioService.h -index 4f61915..54f92ed 100644 ---- a/src/Communication/AsioService.h -+++ b/src/Communication/AsioService.h -@@ -58,6 +58,7 @@ namespace QuickFAST - { - return ioService_.poll(); - } -+ boost::asio::io_service::executor_type get_executor() BOOST_ASIO_NOEXCEPT { return ioService_.get_executor();} - - /// @brief execute at most one ready event handler than return. - size_t poll_one() -diff --git a/src/Communication/AsioService_fwd.h b/src/Communication/AsioService_fwd.h -index dc2f235..6ad5e68 100644 ---- a/src/Communication/AsioService_fwd.h -+++ b/src/Communication/AsioService_fwd.h -@@ -17,7 +17,8 @@ namespace boost - { - namespace asio - { -- class io_service; -+ class io_context; -+ typedef io_context io_service; - } - } - diff --git a/recipes/quickfast/all/patches/0001-1.5-fix-boost-asio.patch b/recipes/quickfast/all/patches/0001-1.5-fix-boost-asio.patch new file mode 100644 index 0000000000000..379f2376249fb --- /dev/null +++ b/recipes/quickfast/all/patches/0001-1.5-fix-boost-asio.patch @@ -0,0 +1,44 @@ +diff --git a/src/Common/QuickFASTPch.h b/src/Common/QuickFASTPch.h +index 3574df8..5e21e89 100644 +--- a/src/Common/QuickFASTPch.h ++++ b/src/Common/QuickFASTPch.h +@@ -32,7 +32,6 @@ + #include + + // If building for .NET, must link boost threads dynamically +-#define BOOST_THREAD_USE_DLL + // This reports at compile time which boost libraries will be used + // #define BOOST_LIB_DIAGNOSTIC + +diff --git a/src/Communication/AsioService.h b/src/Communication/AsioService.h +index 4f61915..b5fa821 100644 +--- a/src/Communication/AsioService.h ++++ b/src/Communication/AsioService.h +@@ -24,7 +24,7 @@ namespace QuickFAST + /// Normal case is for all classes derived from AsioService to share + /// the same boost::io_service. The alternate constructor gives the + /// application more control if it is needed. +- class QuickFAST_Export AsioService ++ class QuickFAST_Export AsioService : public boost::asio::io_service + { + public: + /// @brief Construct using the internal, common io service +diff --git a/src/Communication/AsioService_fwd.h b/src/Communication/AsioService_fwd.h +index dc2f235..8d9be19 100644 +--- a/src/Communication/AsioService_fwd.h ++++ b/src/Communication/AsioService_fwd.h +@@ -13,13 +13,7 @@ + + // forward declare io_service without including + // boost header +-namespace boost +-{ +- namespace asio +- { +- class io_service; +- } +-} ++#include + + namespace QuickFAST + { diff --git a/recipes/quickfast/all/patches/0001-cci.20170314-fix-boost-asio.patch b/recipes/quickfast/all/patches/0001-cci.20170314-fix-boost-asio.patch new file mode 100644 index 0000000000000..c18362970703c --- /dev/null +++ b/recipes/quickfast/all/patches/0001-cci.20170314-fix-boost-asio.patch @@ -0,0 +1,44 @@ +diff --git a/src/Common/QuickFASTPch.h b/src/Common/QuickFASTPch.h +index 381f846..d3016bd 100644 +--- a/src/Common/QuickFASTPch.h ++++ b/src/Common/QuickFASTPch.h +@@ -36,7 +36,6 @@ + #include + + // If building for .NET, must link boost threads dynamically +-#define BOOST_THREAD_USE_DLL + // This reports at compile time which boost libraries will be used + // #define BOOST_LIB_DIAGNOSTIC + +diff --git a/src/Communication/AsioService.h b/src/Communication/AsioService.h +index 4f61915..b5fa821 100644 +--- a/src/Communication/AsioService.h ++++ b/src/Communication/AsioService.h +@@ -24,7 +24,7 @@ namespace QuickFAST + /// Normal case is for all classes derived from AsioService to share + /// the same boost::io_service. The alternate constructor gives the + /// application more control if it is needed. +- class QuickFAST_Export AsioService ++ class QuickFAST_Export AsioService : public boost::asio::io_service + { + public: + /// @brief Construct using the internal, common io service +diff --git a/src/Communication/AsioService_fwd.h b/src/Communication/AsioService_fwd.h +index dc2f235..8d9be19 100644 +--- a/src/Communication/AsioService_fwd.h ++++ b/src/Communication/AsioService_fwd.h +@@ -13,13 +13,7 @@ + + // forward declare io_service without including + // boost header +-namespace boost +-{ +- namespace asio +- { +- class io_service; +- } +-} ++#include + + namespace QuickFAST + { diff --git a/recipes/quickfast/all/test_package/CMakeLists.txt b/recipes/quickfast/all/test_package/CMakeLists.txt index 05ee1b02f3e86..de906d5745a41 100644 --- a/recipes/quickfast/all/test_package/CMakeLists.txt +++ b/recipes/quickfast/all/test_package/CMakeLists.txt @@ -1,11 +1,8 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(PackageTest CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() +find_package(quickfast REQUIRED CONFIG) add_executable(test ${PROJECT_SOURCE_DIR}/main.cpp) - -target_link_libraries(test ${CONAN_LIBS}) - -set_property(TARGET test PROPERTY CXX_STANDARD 11) +target_link_libraries(test PRIVATE quickfast::quickfast) +target_compile_features(test PRIVATE cxx_std_11) diff --git a/recipes/quickfast/all/test_package/conanfile.py b/recipes/quickfast/all/test_package/conanfile.py index 9f2cb9b06805b..ab9a844efa050 100644 --- a/recipes/quickfast/all/test_package/conanfile.py +++ b/recipes/quickfast/all/test_package/conanfile.py @@ -1,11 +1,19 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake import os -from conans import ConanFile, CMake, tools +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" -class QuickfastTestConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake" + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): cmake = CMake(self) @@ -13,6 +21,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test") - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test") + self.run(bin_path, env="conanrun") diff --git a/recipes/quickfast/all/test_package/main.cpp b/recipes/quickfast/all/test_package/main.cpp index 5adcb1b48cd8f..035eaf9d16cd3 100644 --- a/recipes/quickfast/all/test_package/main.cpp +++ b/recipes/quickfast/all/test_package/main.cpp @@ -1,37 +1,12 @@ -#include "Application/QuickFAST.h" -#include "Codecs/MessageConsumer.h" -#include "Codecs/GenericMessageBuilder.h" +#include +#include -using namespace QuickFAST; +#include +#include -class MessageInterpreter : public Codecs::MessageConsumer -{ -public: - MessageInterpreter(std::ostream & out, bool silent = false){ }; - virtual ~MessageInterpreter(){ }; - void setLogLevel(Common::Logger::LogLevel level){ }; - virtual bool consumeMessage(Messages::Message & message){return true;} - virtual bool wantLog(unsigned short level){return true;} - virtual bool logMessage(unsigned short level, const std::string & logMessage){return true;} - virtual bool reportDecodingError(const std::string & errorMessage){return true;} - virtual bool reportCommunicationError(const std::string & errorMessage){return true;} - virtual void decodingStarted(){ } - virtual void decodingStopped(){ } -}; +int main() { + const auto field = QuickFAST::Messages::FieldAscii::create("Hello, World!"); + std::cout << field->toAscii() << std::endl; -int main(int argc, char* argv[]) -{ - Application::DecoderConfiguration configuration_; - Application::DecoderConnection connection_; - - try - { - MessageInterpreter handler(std::cout); - Codecs::GenericMessageBuilder builder(handler); - connection_.configure(builder, configuration_); - connection_.run(); - } - catch (std::exception &) - { - } + return EXIT_SUCCESS; } diff --git a/recipes/quickfast/all/test_v1_package/CMakeLists.txt b/recipes/quickfast/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/quickfast/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/quickfast/all/test_v1_package/conanfile.py b/recipes/quickfast/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..600f82de3b940 --- /dev/null +++ b/recipes/quickfast/all/test_v1_package/conanfile.py @@ -0,0 +1,18 @@ +import os + +from conans import ConanFile, CMake, tools + + +class QuickfastTestConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self): + bin_path = os.path.join("bin", "test") + self.run(bin_path, run_environment=True) diff --git a/recipes/quickfast/config.yml b/recipes/quickfast/config.yml index 4aad8295800a6..aafc5449a0ecd 100644 --- a/recipes/quickfast/config.yml +++ b/recipes/quickfast/config.yml @@ -1,5 +1,5 @@ versions: - "1.5": - folder: all "cci.20170314": folder: all + "1.5": + folder: all From 635672d3b103aca9db05aa8d482db92755e6b316 Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 28 Jun 2024 20:31:17 +0900 Subject: [PATCH 017/641] (#24462) polylabel: add version 2.0.0 --- recipes/polylabel/all/conandata.yml | 3 ++ recipes/polylabel/all/conanfile.py | 34 ++++++++++++++----- .../all/test_v1_package/CMakeLists.txt | 11 ------ .../all/test_v1_package/conanfile.py | 17 ---------- recipes/polylabel/config.yml | 2 ++ 5 files changed, 31 insertions(+), 36 deletions(-) delete mode 100644 recipes/polylabel/all/test_v1_package/CMakeLists.txt delete mode 100644 recipes/polylabel/all/test_v1_package/conanfile.py diff --git a/recipes/polylabel/all/conandata.yml b/recipes/polylabel/all/conandata.yml index efb6a522362e3..0857fe72ca3c7 100644 --- a/recipes/polylabel/all/conandata.yml +++ b/recipes/polylabel/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.0.0": + url: "https://github.com/mapbox/polylabel/archive/refs/tags/v2.0.0.tar.gz" + sha256: "9aba4320c6cb5a8e9a8d44feb0d68b79b3127bdcb759a26aca92ac637668d7b9" "1.1.0": url: "https://github.com/mapbox/polylabel/archive/refs/tags/v1.1.0.tar.gz" sha256: "3694a3127954fab760686c825e2e585684934c768b5f9d542b8701e54147f1a8" diff --git a/recipes/polylabel/all/conanfile.py b/recipes/polylabel/all/conanfile.py index 402d5fbafc219..2e5e1eaff3562 100644 --- a/recipes/polylabel/all/conanfile.py +++ b/recipes/polylabel/all/conanfile.py @@ -1,7 +1,9 @@ from conan import ConanFile +from conan.errors import ConanInvalidConfiguration from conan.tools.build import check_min_cppstd from conan.tools.files import copy, get from conan.tools.layout import basic_layout +from conan.tools.scm import Version import os required_conan_version = ">=1.52.0" @@ -10,13 +12,28 @@ class PolylabelConan(ConanFile): name = "polylabel" description = "A fast algorithm for finding the pole of inaccessibility of a polygon." - topics = ("polygon", "pole-of-inaccessibility") license = "ISC" - homepage = "https://github.com/mapbox/polylabel" url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/mapbox/polylabel" + topics = ("polygon", "pole-of-inaccessibility", "header-only") + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True + @property + def _min_cppstd(self): + return 14 + + @property + def _compilers_minimum_version(self): + return { + "gcc": "6", + "clang": "5", + "apple-clang": "10", + "Visual Studio": "15", + "msvc": "191", + } + def layout(self): basic_layout(self, src_folder="src") @@ -28,14 +45,15 @@ def package_id(self): def validate(self): if self.settings.compiler.get_safe("cppstd"): - check_min_cppstd(self, 14) + check_min_cppstd(self, self._min_cppstd) + minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) + if minimum_version and Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration( + f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." + ) def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) - - def build(self): - pass + get(self, **self.conan_data["sources"][self.version], strip_root=True) def package(self): copy(self, "LICENSE", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) diff --git a/recipes/polylabel/all/test_v1_package/CMakeLists.txt b/recipes/polylabel/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0c0d215f97b42..0000000000000 --- a/recipes/polylabel/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,11 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package LANGUAGES CXX) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(polylabel REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE polylabel::polylabel) -target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_14) diff --git a/recipes/polylabel/all/test_v1_package/conanfile.py b/recipes/polylabel/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/polylabel/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/polylabel/config.yml b/recipes/polylabel/config.yml index b5c0d3cb2d409..2973f3b50e9e6 100644 --- a/recipes/polylabel/config.yml +++ b/recipes/polylabel/config.yml @@ -1,3 +1,5 @@ versions: + "2.0.0": + folder: all "1.1.0": folder: all From c8e4d78a59165d7e1b3eec2e79bb07213a75f2f2 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 29 Jun 2024 01:22:58 +0300 Subject: [PATCH 018/641] (#18652) wineditline: migrate to Conan v2 * wineditline: migrate to Conan v2 * wineditline: simplify patching * Use upstream CMakeLists Signed-off-by: Uilian Ries --------- Signed-off-by: Uilian Ries Co-authored-by: Uilian Ries --- recipes/wineditline/all/CMakeLists.txt | 8 --- recipes/wineditline/all/conandata.yml | 6 +- recipes/wineditline/all/conanfile.py | 69 +++++++++---------- .../all/patches/0001-fix-cmakelists.patch | 43 ------------ .../all/test_package/CMakeLists.txt | 5 +- .../wineditline/all/test_package/conanfile.py | 22 ++++-- .../all/test_package/test_package.c | 11 +-- .../all/test_v1_package/CMakeLists.txt | 8 +++ .../all/test_v1_package/conanfile.py | 18 +++++ 9 files changed, 80 insertions(+), 110 deletions(-) delete mode 100644 recipes/wineditline/all/CMakeLists.txt delete mode 100644 recipes/wineditline/all/patches/0001-fix-cmakelists.patch create mode 100644 recipes/wineditline/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/wineditline/all/test_v1_package/conanfile.py diff --git a/recipes/wineditline/all/CMakeLists.txt b/recipes/wineditline/all/CMakeLists.txt deleted file mode 100644 index 1fedb144d2f6c..0000000000000 --- a/recipes/wineditline/all/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) - -project(WinEditLineWrapper C) - -include("${CMAKE_BINARY_DIR}/conanbuildinfo.cmake") -conan_basic_setup(TARGETS) - -add_subdirectory(source_subfolder) diff --git a/recipes/wineditline/all/conandata.yml b/recipes/wineditline/all/conandata.yml index 789f36bc66156..d9e2a2c6f39a9 100644 --- a/recipes/wineditline/all/conandata.yml +++ b/recipes/wineditline/all/conandata.yml @@ -1,8 +1,4 @@ sources: "2.206": sha256: "2d255c417244e963261dc6171684265f405df030e90ba6e6690a99284d645161" - url: https://sourceforge.net/projects/mingweditline/files/wineditline-2.206.zip/download -patches: - "2.206": - - patch_file: patches/0001-fix-cmakelists.patch - base_path: source_subfolder + url: "https://sourceforge.net/projects/mingweditline/files/wineditline-2.206.zip" diff --git a/recipes/wineditline/all/conanfile.py b/recipes/wineditline/all/conanfile.py index 3888bf2a8557f..1a01961f91168 100644 --- a/recipes/wineditline/all/conanfile.py +++ b/recipes/wineditline/all/conanfile.py @@ -1,64 +1,63 @@ -import functools import os -from conans import ConanFile, CMake, tools -from conans.errors import ConanInvalidConfiguration +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout +from conan.tools.files import copy, get -required_conan_version = ">=1.43.0" +required_conan_version = ">=1.53.0" class WineditlineConan(ConanFile): name = "wineditline" - description = ( - "A BSD-licensed EditLine API implementation for the native " - "Windows Console" - ) + description = "A BSD-licensed EditLine API implementation for the native Windows Console" + license = "BSD-3-Clause" url = "https://github.com/conan-io/conan-center-index" homepage = "http://mingweditline.sourceforge.net/" topics = ("readline", "editline", "windows") - license = "BSD-3-Clause" - generators = ("cmake",) - settings = ("os", "arch", "compiler", "build_type") + + package_type = "library" + settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], } default_options = { "shared": False, } - exports_sources = ("patches/*", "CMakeLists.txt") + provides = "editline" + + @property + def _target_name(self): + return "edit" if self.options.shared else "edit_static" + + def configure(self): + self.settings.rm_safe("compiler.libcxx") + self.settings.rm_safe("compiler.cppstd") + + def layout(self): + cmake_layout(self, src_folder="src") def validate(self): if self.settings.os != "Windows": - message = "wineditline is supported only on Windows." - raise ConanInvalidConfiguration(message) - - @property - def _source_subfolder(self): - return "source_subfolder" + raise ConanInvalidConfiguration(f"{self.ref} is supported only on Windows.") def source(self): - root = self._source_subfolder - get_args = self.conan_data["sources"][self.version] - tools.get(**get_args, destination=root, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) - def configure(self): - del self.settings.compiler.libcxx - del self.settings.compiler.cppstd + def generate(self): + tc = CMakeToolchain(self) + tc.generate() - @functools.lru_cache(1) - def _configure_cmake(self): + def build(self): cmake = CMake(self) cmake.configure() - return cmake - - def build(self): - for patch in self.conan_data["patches"][self.version]: - tools.patch(**patch) - self._configure_cmake().build() + cmake.build(target=self._target_name) def package(self): - self.copy("COPYING", "licenses", self._source_subfolder) - self._configure_cmake().install() + copy(self, "COPYING", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + copy(self, "*.h", dst=os.path.join(self.package_folder, "include", "editline"), src=os.path.join(self.source_folder, "src", "editline")) + copy(self, "*.lib", dst=os.path.join(self.package_folder, "lib"), src=self.build_folder, keep_path=False) + copy(self, "*.dll", dst=os.path.join(self.package_folder, "bin"), src=self.build_folder, keep_path=False) def package_info(self): - self.cpp_info.libs = ["edit"] + self.cpp_info.libs = [self._target_name] diff --git a/recipes/wineditline/all/patches/0001-fix-cmakelists.patch b/recipes/wineditline/all/patches/0001-fix-cmakelists.patch deleted file mode 100644 index ef01b0ca0616b..0000000000000 --- a/recipes/wineditline/all/patches/0001-fix-cmakelists.patch +++ /dev/null @@ -1,43 +0,0 @@ ---- CMakeLists.txt -+++ CMakeLists.txt -@@ -1,25 +1,16 @@ --cmake_minimum_required (VERSION 2.6) --project (WinEditLine) --set (WinEditLine_VERSION_MAJOR 2) --set (WinEditLine_VERSION_MINOR 2) --if (MSVC AND MSVC_USE_STATIC_RUNTIME) --foreach(flag_var -- CMAKE_C_FLAGS CMAKE_C_FLAGS_DEBUG CMAKE_C_FLAGS_RELEASE -- CMAKE_C_FLAGS_MINSIZEREL CMAKE_C_FLAGS_RELWITHDEBINFO) -- if(${flag_var} MATCHES "/MD") -- string(REGEX REPLACE "/MD" "/MT" ${flag_var} "${${flag_var}}") -- endif(${flag_var} MATCHES "/MD") --endforeach(flag_var) --endif() --if(NOT DEFINED LIB_SUFFIX) -- if(CMAKE_SIZEOF_VOID_P MATCHES 4) -- set(LIB_SUFFIX "32") -- else() -- set(LIB_SUFFIX "64") -- endif() --endif() --configure_file ( -- "${PROJECT_SOURCE_DIR}/src/config.h.in" -- "${PROJECT_BINARY_DIR}/config.h" -+cmake_minimum_required(VERSION 3.1) -+ -+project(WinEditLine C) -+ -+add_library(edit src/editline.c src/fn_complete.c src/history.c src/libedit.def) -+target_include_directories(edit PRIVATE src) -+ -+include(GNUInstallDirs) -+ -+install( -+ TARGETS edit -+ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" -+ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" - ) --add_subdirectory (src) -+ -+install(DIRECTORY src/editline DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}") diff --git a/recipes/wineditline/all/test_package/CMakeLists.txt b/recipes/wineditline/all/test_package/CMakeLists.txt index 84a38c545c793..3d8aa097f7a2f 100644 --- a/recipes/wineditline/all/test_package/CMakeLists.txt +++ b/recipes/wineditline/all/test_package/CMakeLists.txt @@ -1,9 +1,6 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(test_package C) -include("${CMAKE_BINARY_DIR}/conanbuildinfo.cmake") -conan_basic_setup(TARGETS) - find_package(wineditline REQUIRED CONFIG) add_executable(test_package test_package.c) diff --git a/recipes/wineditline/all/test_package/conanfile.py b/recipes/wineditline/all/test_package/conanfile.py index ec80e0c5cc134..ef5d7042163ec 100644 --- a/recipes/wineditline/all/test_package/conanfile.py +++ b/recipes/wineditline/all/test_package/conanfile.py @@ -1,11 +1,19 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake import os -from conans import ConanFile, CMake, tools - class TestPackageConan(ConanFile): - settings = ("os", "compiler", "build_type", "arch") - generators = ("cmake", "cmake_find_package_multi") + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): cmake = CMake(self) @@ -13,6 +21,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/wineditline/all/test_package/test_package.c b/recipes/wineditline/all/test_package/test_package.c index b51e6feba3274..452b5269fcee7 100644 --- a/recipes/wineditline/all/test_package/test_package.c +++ b/recipes/wineditline/all/test_package/test_package.c @@ -1,12 +1,7 @@ #include #include -int main(int argc, char const* argv[]) -{ - (void)argc; - (void)argv; - - free_history_entry(NULL); - - return 0; +int main() { + free_history_entry(NULL); + return 0; } diff --git a/recipes/wineditline/all/test_v1_package/CMakeLists.txt b/recipes/wineditline/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/wineditline/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/wineditline/all/test_v1_package/conanfile.py b/recipes/wineditline/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..ec80e0c5cc134 --- /dev/null +++ b/recipes/wineditline/all/test_v1_package/conanfile.py @@ -0,0 +1,18 @@ +import os + +from conans import ConanFile, CMake, tools + + +class TestPackageConan(ConanFile): + settings = ("os", "compiler", "build_type", "arch") + generators = ("cmake", "cmake_find_package_multi") + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) From 7aee73a60fca5f2eef5c5b89999a062bdb13d8d4 Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 30 Jun 2024 08:09:57 +0900 Subject: [PATCH 019/641] (#24018) faker-cxx: add recipe * faker-cxx: add recipe * don't use format in test_package * update 2.0.0 * add with_std_format option * update compiler minimum version (https://github.com/cieslarmichal/faker-cxx?tab=readme-ov-file#compiler-support) * use wildcard on copying LICENSE files Co-authored-by: Uilian Ries * drop support for Windows shared build Co-authored-by: Uilian Ries --------- Co-authored-by: Uilian Ries --- recipes/faker-cxx/all/conandata.yml | 4 + recipes/faker-cxx/all/conanfile.py | 103 ++++++++++++++++++ .../faker-cxx/all/test_package/CMakeLists.txt | 8 ++ .../faker-cxx/all/test_package/conanfile.py | 26 +++++ .../all/test_package/test_package.cpp | 17 +++ recipes/faker-cxx/config.yml | 3 + 6 files changed, 161 insertions(+) create mode 100644 recipes/faker-cxx/all/conandata.yml create mode 100644 recipes/faker-cxx/all/conanfile.py create mode 100644 recipes/faker-cxx/all/test_package/CMakeLists.txt create mode 100644 recipes/faker-cxx/all/test_package/conanfile.py create mode 100644 recipes/faker-cxx/all/test_package/test_package.cpp create mode 100644 recipes/faker-cxx/config.yml diff --git a/recipes/faker-cxx/all/conandata.yml b/recipes/faker-cxx/all/conandata.yml new file mode 100644 index 0000000000000..7125cc87621a1 --- /dev/null +++ b/recipes/faker-cxx/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "2.0.0": + url: "https://github.com/cieslarmichal/faker-cxx/archive/refs/tags/v2.0.0.tar.gz" + sha256: "8a7f5441f4453af868444675878a2d9a74918c1595caa65d537d3ea327e46a49" diff --git a/recipes/faker-cxx/all/conanfile.py b/recipes/faker-cxx/all/conanfile.py new file mode 100644 index 0000000000000..326381b2e9f9c --- /dev/null +++ b/recipes/faker-cxx/all/conanfile.py @@ -0,0 +1,103 @@ +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.files import get, copy, rmdir +from conan.tools.build import check_min_cppstd +from conan.tools.scm import Version +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +import os + +required_conan_version = ">=1.53.0" + +class FakerCXXConan(ConanFile): + name = "faker-cxx" + description = "C++ Faker library based on faker-js/faker. " + license = "MIT" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/cieslarmichal/faker-cxx" + topics = ("faker", "fake",) + package_type = "library" + settings = "os", "arch", "compiler", "build_type" + options = { + "shared": [True, False], + "fPIC": [True, False], + "with_std_format": [True, False], + } + default_options = { + "shared": False, + "fPIC": True, + "with_std_format": False, + } + + @property + def _min_cppstd(self): + return 20 + + @property + def _compilers_minimum_version(self): + return { + "gcc": "12", + "clang": "16", + "apple-clang": "16", + "Visual Studio": "17", + "msvc": "193", + } + + 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 requirements(self): + if not self.options.with_std_format: + self.requires("fmt/10.2.1") + + def layout(self): + cmake_layout(self, src_folder="src") + + def validate(self): + if self.settings.compiler.cppstd: + check_min_cppstd(self, self._min_cppstd) + minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) + if minimum_version and Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration( + f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." + ) + if self.settings.os == "Windows" and self.options.shared: + # https://github.com/cieslarmichal/faker-cxx/issues/753 + raise ConanInvalidConfiguration(f"{self.ref} is not prepared to generated shared library on Windows.") + + def build_requirements(self): + self.tool_requires("cmake/[>=3.22 <4]") + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + tc.variables["USE_SYSTEM_DEPENDENCIES"] = True + tc.variables["BUILD_TESTING"] = False + tc.variables["WARNINGS_AS_ERRORS"] = False + tc.variables["WITH_STD_FORMAT"] = self.options.with_std_format + tc.generate() + deps = CMakeDeps(self) + deps.generate() + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def package(self): + copy(self, pattern="LICENSE*", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + cmake = CMake(self) + cmake.install() + rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) + + def package_info(self): + self.cpp_info.libs = ["faker-cxx"] + + self.cpp_info.set_property("cmake_file_name", "faker-cxx") + self.cpp_info.set_property("cmake_target_name", "faker-cxx::faker-cxx") diff --git a/recipes/faker-cxx/all/test_package/CMakeLists.txt b/recipes/faker-cxx/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..23e8286ff283c --- /dev/null +++ b/recipes/faker-cxx/all/test_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) + +find_package(faker-cxx REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE faker-cxx::faker-cxx) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_20) diff --git a/recipes/faker-cxx/all/test_package/conanfile.py b/recipes/faker-cxx/all/test_package/conanfile.py new file mode 100644 index 0000000000000..ef5d7042163ec --- /dev/null +++ b/recipes/faker-cxx/all/test_package/conanfile.py @@ -0,0 +1,26 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/faker-cxx/all/test_package/test_package.cpp b/recipes/faker-cxx/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..ed71cb953c909 --- /dev/null +++ b/recipes/faker-cxx/all/test_package/test_package.cpp @@ -0,0 +1,17 @@ +#include +#include "faker-cxx/Internet.h" +#include "faker-cxx/String.h" +#include "faker-cxx/Date.h" + +int main() +{ + const auto id = faker::string::uuid(); + const auto email = faker::internet::email(); + const auto password = faker::internet::password(); + const auto createdAt = faker::date::pastDate(5, faker::date::DateFormat::ISO); + const auto updatedAt = faker::date::recentDate(2, faker::date::DateFormat::ISO); + + std::cout << "id: " << id << ", email: " << email << ", password: " << password << ", createdAt: " << createdAt << ", updatedAt: " << updatedAt << "\n"; + + return 0; +} diff --git a/recipes/faker-cxx/config.yml b/recipes/faker-cxx/config.yml new file mode 100644 index 0000000000000..d77ad03cbf510 --- /dev/null +++ b/recipes/faker-cxx/config.yml @@ -0,0 +1,3 @@ +versions: + "2.0.0": + folder: all From b68a78154ec7062701bdab2806d429ff183e17ff Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 1 Jul 2024 07:12:20 +0900 Subject: [PATCH 020/641] (#24474) magic_enum: add version 0.9.6 --- recipes/magic_enum/all/conandata.yml | 3 +++ recipes/magic_enum/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/magic_enum/all/conandata.yml b/recipes/magic_enum/all/conandata.yml index dd9aed1156ca9..37be348e4f658 100644 --- a/recipes/magic_enum/all/conandata.yml +++ b/recipes/magic_enum/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.9.6": + url: "https://github.com/Neargye/magic_enum/archive/v0.9.6.tar.gz" + sha256: "814791ff32218dc869845af7eb89f898ebbcfa18e8d81aa4d682d18961e13731" "0.9.5": url: "https://github.com/Neargye/magic_enum/archive/v0.9.5.tar.gz" sha256: "44ad80db5a72f5047e01d90e18315751d9ac90c0ab42cbea7a6f9ec66a4cd679" diff --git a/recipes/magic_enum/config.yml b/recipes/magic_enum/config.yml index 45e3b1189db90..c08b3138c2531 100644 --- a/recipes/magic_enum/config.yml +++ b/recipes/magic_enum/config.yml @@ -1,4 +1,6 @@ versions: + "0.9.6": + folder: all "0.9.5": folder: all "0.9.4": From eb5a0815e9695645ba3040687f09077562add54a Mon Sep 17 00:00:00 2001 From: ydcpp Date: Mon, 1 Jul 2024 09:50:35 +0300 Subject: [PATCH 021/641] (#24062) tcpcat library publish MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * tcpcat 1.0.0 publish * fix linter errors * Simplify recipe and test_package * updated ASIO dependency usage and upstream version number * CI test error fix * updated upstream version to 1.0.2 * added CMakeDeps for find_package to work properly * updated for tcpcat 1.0.3 * updated topics and asio requirement version * updated upstream to 1.0.4 with fixes * updated package folder name * Ensure CXX is valid in Conan 1 * reorder * Update recipes/ydcpp-tcpcat/all/test_package/CMakeLists.txt Co-authored-by: Uilian Ries * Disable msvc shared builds for now until upstream exports some symbols * Add missing m system lib * Simplify --------- Co-authored-by: Rubén Rincón Blanco Co-authored-by: Uilian Ries --- recipes/ydcpp-tcpcat/all/conandata.yml | 4 + recipes/ydcpp-tcpcat/all/conanfile.py | 95 +++++++++++++++++++ .../all/test_package/CMakeLists.txt | 8 ++ .../all/test_package/conanfile.py | 26 +++++ .../all/test_package/test_package.cpp | 11 +++ recipes/ydcpp-tcpcat/config.yml | 3 + 6 files changed, 147 insertions(+) create mode 100644 recipes/ydcpp-tcpcat/all/conandata.yml create mode 100644 recipes/ydcpp-tcpcat/all/conanfile.py create mode 100644 recipes/ydcpp-tcpcat/all/test_package/CMakeLists.txt create mode 100644 recipes/ydcpp-tcpcat/all/test_package/conanfile.py create mode 100644 recipes/ydcpp-tcpcat/all/test_package/test_package.cpp create mode 100644 recipes/ydcpp-tcpcat/config.yml diff --git a/recipes/ydcpp-tcpcat/all/conandata.yml b/recipes/ydcpp-tcpcat/all/conandata.yml new file mode 100644 index 0000000000000..93679778e120e --- /dev/null +++ b/recipes/ydcpp-tcpcat/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "1.0.4": + url: "https://github.com/ydcpp/tcpcat/archive/refs/tags/1.0.4.tar.gz" + sha256: "3413e74eab0a1bf7927b747e393b1931e8a516ee769642ce89c558a93e00e38b" diff --git a/recipes/ydcpp-tcpcat/all/conanfile.py b/recipes/ydcpp-tcpcat/all/conanfile.py new file mode 100644 index 0000000000000..ff79b54fa821b --- /dev/null +++ b/recipes/ydcpp-tcpcat/all/conanfile.py @@ -0,0 +1,95 @@ +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.cmake import CMakeToolchain, CMake, CMakeDeps, cmake_layout +from conan.tools.microsoft import is_msvc +from conan.tools.files import copy, get +from conan.tools.build import check_min_cppstd +from conan.tools.scm import Version +import os + + +class TcpcatConan(ConanFile): + name = "ydcpp-tcpcat" + + # Optional metadata + license = "MIT" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/ydcpp/tcpcat" + description = "Simple C++ TCP Server and Client library." + topics = ("network", "tcp", "tcp-server", "tcp-client") + + # Binary configuration + package_type = "library" + settings = "os", "compiler", "build_type", "arch" + options = {"shared": [True, False], "fPIC": [True, False]} + default_options = {"shared": False, "fPIC": True} + + @property + def _min_cppstd(self): + return 17 + + @property + def _compilers_minimum_version(self): + return { + "gcc": "7", + "Visual Studio": "16", + "msvc": "192", + "clang": "7", + "apple-clang": "12" + } + + def config_options(self): + if self.settings.os == "Windows": + self.options.rm_safe("fPIC") + + def configure(self): + if self.options.shared: + self.options.rm_safe("fPIC") + + def layout(self): + cmake_layout(self, src_folder="src") + + def validate(self): + if self.settings.compiler.get_safe("cppstd"): + check_min_cppstd(self, self._min_cppstd) + + # Upstream meant to support Windows Shared builds, but they don't currently export any symbols + # Disable for now until fixed. As this is an upstream issue they want fixed, we don't set + # package_type = "static-library" in the configure() method so that users have a clear message error for now + if is_msvc(self) and self.options.shared: + raise ConanInvalidConfiguration(f"{self.ref} does not currently support Windows shared builds due to an upstream issue") + + minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) + if minimum_version and Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration( + f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." + ) + + def requirements(self): + self.requires("asio/1.30.2", transitive_headers = True) + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + deps = CMakeDeps(self) + deps.generate() + tc = CMakeToolchain(self) + tc.generate() + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def package(self): + copy(self, "LICENSE", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + copy(self, "*", src=os.path.join(self.source_folder, "include"), dst=os.path.join(self.package_folder, "include")) + cmake = CMake(self) + cmake.install() + + def package_info(self): + self.cpp_info.libs = ["ydcpp-tcpcat"] + self.cpp_info.set_property("cmake_target_name", "ydcpp-tcpcat") + if self.settings.os in ("Linux", "FreeBSD"): + self.cpp_info.system_libs.append("m") diff --git a/recipes/ydcpp-tcpcat/all/test_package/CMakeLists.txt b/recipes/ydcpp-tcpcat/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..0be8339e35258 --- /dev/null +++ b/recipes/ydcpp-tcpcat/all/test_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(PackageTest CXX) + +add_executable(test_package test_package.cpp) + +find_package(ydcpp-tcpcat CONFIG REQUIRED) +target_link_libraries(test_package ydcpp-tcpcat) +target_compile_features(test_package PRIVATE cxx_std_17) diff --git a/recipes/ydcpp-tcpcat/all/test_package/conanfile.py b/recipes/ydcpp-tcpcat/all/test_package/conanfile.py new file mode 100644 index 0000000000000..806fd5ae2a792 --- /dev/null +++ b/recipes/ydcpp-tcpcat/all/test_package/conanfile.py @@ -0,0 +1,26 @@ +import os + +from conan import ConanFile +from conan.tools.cmake import CMake, cmake_layout +from conan.tools.build import can_run + + +class tcpcatTestConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "CMakeDeps", "CMakeToolchain" + + def requirements(self): + self.requires(self.tested_reference_str) + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def layout(self): + cmake_layout(self) + + def test(self): + if can_run(self): + cmd = os.path.join(self.cpp.build.bindir, "test_package") + self.run(cmd, env="conanrun") diff --git a/recipes/ydcpp-tcpcat/all/test_package/test_package.cpp b/recipes/ydcpp-tcpcat/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..aa337b33b0be6 --- /dev/null +++ b/recipes/ydcpp-tcpcat/all/test_package/test_package.cpp @@ -0,0 +1,11 @@ +#include + +#include +#include + +int main() +{ + tcpcat::TcpSession session(nullptr, nullptr, 0); + std::cout << "session id: " << session.GetId() << std::endl; + return 0; +} diff --git a/recipes/ydcpp-tcpcat/config.yml b/recipes/ydcpp-tcpcat/config.yml new file mode 100644 index 0000000000000..c20e44b006f1a --- /dev/null +++ b/recipes/ydcpp-tcpcat/config.yml @@ -0,0 +1,3 @@ +versions: + "1.0.4": + folder: all From 3458c850ebceea4abbb7d7793eec1c3ab32b3c12 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 1 Jul 2024 16:53:07 +0900 Subject: [PATCH 022/641] (#24475) artery-font-format: add version 1.1 * artery-font-format: add version 1.1 * require C++11 --- recipes/artery-font-format/all/conandata.yml | 3 +++ recipes/artery-font-format/all/conanfile.py | 24 +++++++++++++------ .../all/test_package/CMakeLists.txt | 2 +- .../all/test_package/conanfile.py | 1 - recipes/artery-font-format/config.yml | 2 ++ 5 files changed, 23 insertions(+), 9 deletions(-) diff --git a/recipes/artery-font-format/all/conandata.yml b/recipes/artery-font-format/all/conandata.yml index b248576ab34a5..d7128685d341e 100644 --- a/recipes/artery-font-format/all/conandata.yml +++ b/recipes/artery-font-format/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.1": + url: "https://github.com/Chlumsky/artery-font-format/archive/v1.1.tar.gz" + sha256: "cd8eb58590d85069312b831ce5bc6eba21778ef2fa8ca8ac06e1ecf8eca53a7c" "1.0.1": url: "https://github.com/Chlumsky/artery-font-format/archive/v1.0.1.tar.gz" sha256: "23dc9450d2364c9f1a67fcb0ae8f2bef365fabc5a3f4af55d9a646f8fbcdc537" diff --git a/recipes/artery-font-format/all/conanfile.py b/recipes/artery-font-format/all/conanfile.py index 0b2ff0a648da1..ec8583e598e0b 100644 --- a/recipes/artery-font-format/all/conanfile.py +++ b/recipes/artery-font-format/all/conanfile.py @@ -1,4 +1,5 @@ from conan import ConanFile +from conan.tools.build import check_min_cppstd from conan.tools.files import get, copy import os @@ -7,24 +8,29 @@ class ArteryFontFormatConan(ConanFile): name = "artery-font-format" + description = "Artery Atlas Font format library" license = "MIT" - homepage = "https://github.com/Chlumsky/artery-font-format" url = "https://github.com/conan-io/conan-center-index" - description = "Artery Atlas Font format library" - topics = ("artery", "font", "atlas") + homepage = "https://github.com/Chlumsky/artery-font-format" + topics = ("artery", "font", "atlas", "header-only") package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" no_copy_source = True + @property + def _min_cppstd(self): + return 11 + 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): - # header only: no build step - pass - def package(self): copy(self, pattern="LICENSE.txt", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) copy( @@ -39,3 +45,7 @@ def package(self): dst=os.path.join(self.package_folder, "include"), src=self.source_folder, ) + + def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] diff --git a/recipes/artery-font-format/all/test_package/CMakeLists.txt b/recipes/artery-font-format/all/test_package/CMakeLists.txt index 240a8cec38d93..d7b8e200d1115 100644 --- a/recipes/artery-font-format/all/test_package/CMakeLists.txt +++ b/recipes/artery-font-format/all/test_package/CMakeLists.txt @@ -4,5 +4,5 @@ project(test_package LANGUAGES CXX) find_package(artery-font-format REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} artery-font-format::artery-font-format) +target_link_libraries(${PROJECT_NAME} PRIVATE artery-font-format::artery-font-format) target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) diff --git a/recipes/artery-font-format/all/test_package/conanfile.py b/recipes/artery-font-format/all/test_package/conanfile.py index 0a808db45f245..3a91c9439218e 100644 --- a/recipes/artery-font-format/all/test_package/conanfile.py +++ b/recipes/artery-font-format/all/test_package/conanfile.py @@ -4,7 +4,6 @@ import os -# It will become the standard on Conan 2.x class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" diff --git a/recipes/artery-font-format/config.yml b/recipes/artery-font-format/config.yml index 7b06dd8bf61ea..3c69caf4158b5 100644 --- a/recipes/artery-font-format/config.yml +++ b/recipes/artery-font-format/config.yml @@ -1,4 +1,6 @@ versions: + "1.1": + folder: all "1.0.1": folder: all "1.0": From ed0dc049f486c260622ace4b5007a0d03d73d399 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 1 Jul 2024 20:12:00 +0900 Subject: [PATCH 023/641] (#24443) pdf-writer: add version 4.6.6 * pdf-writer: add version 4.6.2 * update 4.6.6 * update config.yml --- recipes/pdf-writer/all/conandata.yml | 7 ++++ .../all/patches/4.6.6-0001-fix-cmake.patch | 32 +++++++++++++++++++ recipes/pdf-writer/config.yml | 2 ++ 3 files changed, 41 insertions(+) create mode 100644 recipes/pdf-writer/all/patches/4.6.6-0001-fix-cmake.patch diff --git a/recipes/pdf-writer/all/conandata.yml b/recipes/pdf-writer/all/conandata.yml index 2cb2a341032b8..6325de8b17065 100644 --- a/recipes/pdf-writer/all/conandata.yml +++ b/recipes/pdf-writer/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "4.6.6": + url: "https://github.com/galkahana/PDF-Writer/archive/refs/tags/v4.6.6.tar.gz" + sha256: "8343820313e553052df68c75fe2bf35353da2719106e81eb2a8b026ff96c7d7c" "4.6.4": url: "https://github.com/galkahana/PDF-Writer/archive/refs/tags/v4.6.4.tar.gz" sha256: "93b5f1dc88fd67fdebde409e927e828dfbae02efa44936e89728622411c6a047" @@ -15,6 +18,10 @@ sources: url: "https://github.com/galkahana/PDF-Writer/archive/refs/tags/v4.5.12.tar.gz" sha256: "40fcbaa66fc46fcb588ceda119ba8839ff6d2c886191ac5e68ed702475c7336e" patches: + "4.6.6": + - patch_file: "patches/4.6.6-0001-fix-cmake.patch" + patch_description: "disable cpack" + patch_type: "conan" "4.6.4": - patch_file: "patches/4.6.2-0001-fix-cmake.patch" patch_description: "disable cpack" diff --git a/recipes/pdf-writer/all/patches/4.6.6-0001-fix-cmake.patch b/recipes/pdf-writer/all/patches/4.6.6-0001-fix-cmake.patch new file mode 100644 index 0000000000000..0f818e64d81ab --- /dev/null +++ b/recipes/pdf-writer/all/patches/4.6.6-0001-fix-cmake.patch @@ -0,0 +1,32 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 956c730..a7d809b 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -165,13 +165,13 @@ if(PROJECT_IS_TOP_LEVEL AND EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/PDFWriterTesting) + ADD_SUBDIRECTORY(PDFWriterTesting) + endif() + +-include(InstallRequiredSystemLibraries) +-set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/LICENSE") +-set(CPACK_PACKAGE_VERSION_MAJOR "${PDFHummus_VERSION_MAJOR}") +-set(CPACK_PACKAGE_VERSION_MINOR "${PDFHummus_VERSION_MINOR}") +-set(CPACK_SOURCE_GENERATOR "ZIP") +-set(CPACK_GENERATOR "ZIP") +-include(CPack) ++# include(InstallRequiredSystemLibraries) ++# set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/LICENSE") ++# set(CPACK_PACKAGE_VERSION_MAJOR "${PDFHummus_VERSION_MAJOR}") ++# set(CPACK_PACKAGE_VERSION_MINOR "${PDFHummus_VERSION_MINOR}") ++# set(CPACK_SOURCE_GENERATOR "ZIP") ++# set(CPACK_GENERATOR "ZIP") ++# include(CPack) + + install(EXPORT PDFHummusTargets + FILE PDFHummusTargets.cmake +@@ -200,4 +200,4 @@ install(FILES + export(EXPORT PDFHummusTargets + FILE "${CMAKE_CURRENT_BINARY_DIR}/PDFHummusTargets.cmake" + NAMESPACE PDFHummus:: +-) +\ No newline at end of file ++) diff --git a/recipes/pdf-writer/config.yml b/recipes/pdf-writer/config.yml index c19efc7d2c70e..422e112234c81 100644 --- a/recipes/pdf-writer/config.yml +++ b/recipes/pdf-writer/config.yml @@ -1,4 +1,6 @@ versions: + "4.6.6": + folder: all "4.6.4": folder: all "4.6.3": From b897f57ed86c971d915dc85a74f61d485c22e1ad Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Mon, 1 Jul 2024 15:47:58 +0200 Subject: [PATCH 024/641] (#23134) leptonica: use libpng version range, bump deps, remove old versions * leptonica: use libpng version range, bump deps * remove old versions --- recipes/leptonica/all/conandata.yml | 18 ------- recipes/leptonica/all/conanfile.py | 16 ++----- .../patches/fix-find-modules-variables.patch | 48 ------------------- recipes/leptonica/config.yml | 8 ---- 4 files changed, 5 insertions(+), 85 deletions(-) delete mode 100644 recipes/leptonica/all/patches/fix-find-modules-variables.patch diff --git a/recipes/leptonica/all/conandata.yml b/recipes/leptonica/all/conandata.yml index 49782e81d8fcd..7c713eeaa4311 100644 --- a/recipes/leptonica/all/conandata.yml +++ b/recipes/leptonica/all/conandata.yml @@ -2,27 +2,9 @@ sources: "1.83.1": url: "https://github.com/DanBloomberg/leptonica/archive/1.83.1.tar.gz" sha256: "4289d0a4224b614010072253531c0455a33a4d7c7a0017fe7825ed382290c0da" - "1.83.0": - url: "https://github.com/DanBloomberg/leptonica/archive/1.83.0.tar.gz" - sha256: "14cf531c2219a1414e8e3c51a3caa5cf021a52e782c4a6561bf64d0ef2119282" "1.82.0": url: "https://github.com/DanBloomberg/leptonica/archive/1.82.0.tar.gz" sha256: "40fa9ac1e815b91e0fa73f0737e60c9eec433a95fa123f95f2573dd3127dd669" "1.81.0": url: "https://github.com/DanBloomberg/leptonica/archive/1.81.0.tar.gz" sha256: "70ebc04ff8b9684205bd1d01843c635a8521255b74813bf7cce9a33368f7952c" - "1.80.0": - url: "https://github.com/DanBloomberg/leptonica/archive/1.80.0.tar.gz" - sha256: "3952b974ec057d24267aae48c54bca68ead8275604bf084a73a4b953ff79196e" - "1.79.0": - url: "https://github.com/DanBloomberg/leptonica/archive/1.79.0.tar.gz" - sha256: "bf9716f91a4844c2682a07ef21eaf68b6f1077af1f63f27c438394fd66218e17" - "1.78.0": - url: "https://github.com/DanBloomberg/leptonica/archive/1.78.0.tar.gz" - sha256: "f8ac4d93cc76b524c2c81d27850bfc342e68b91368aa7a1f7d69e34ce13adbb4" -patches: - "1.78.0": - - patch_file: "patches/fix-find-modules-variables.patch" - patch_description: "CMake: robust handling of dependencies" - patch_type: "portability" - patch_source: "https://github.com/DanBloomberg/leptonica/pull/456" diff --git a/recipes/leptonica/all/conanfile.py b/recipes/leptonica/all/conanfile.py index 5541499f0e910..a937905bbcab5 100644 --- a/recipes/leptonica/all/conanfile.py +++ b/recipes/leptonica/all/conanfile.py @@ -72,15 +72,15 @@ def requirements(self): if self.options.with_jpeg == "libjpeg": self.requires("libjpeg/9e") elif self.options.with_jpeg == "libjpeg-turbo": - self.requires("libjpeg-turbo/3.0.1") + self.requires("libjpeg-turbo/3.0.2") elif self.options.with_jpeg == "mozjpeg": self.requires("mozjpeg/4.1.5") if self.options.with_png: - self.requires("libpng/1.6.40") + self.requires("libpng/[>=1.6 <2]") if self.options.with_tiff: self.requires("libtiff/4.6.0") if self.options.with_openjpeg: - self.requires("openjpeg/2.5.0") + self.requires("openjpeg/2.5.2") if self.options.with_webp: self.requires("libwebp/1.3.2") @@ -94,8 +94,6 @@ def source(self): def generate(self): tc = CMakeToolchain(self) - if Version(self.version) < "1.79.0": - tc.variables["STATIC"] = not self.options.shared tc.variables["BUILD_PROG"] = False tc.variables["SW_BUILD"] = False if Version(self.version) >= "1.83.0": @@ -150,10 +148,7 @@ def _patch_sources(self): replace_in_file(self, cmakelists_src, "${JP2K_LIBRARIES}", "openjp2") if Version(self.version) < "1.83.0": # pkgconfig is prefered to CMake. Disable pkgconfig so only CMake is used - if Version(self.version) <= "1.78.0": - replace_in_file(self, cmakelists, "pkg_check_modules(JP2K libopenjp2)", "") - else: - replace_in_file(self, cmakelists, "pkg_check_modules(JP2K libopenjp2>=2.0 QUIET)", "") + replace_in_file(self, cmakelists, "pkg_check_modules(JP2K libopenjp2>=2.0 QUIET)", "") # versions below 1.83.0 do not have an option toggle replace_in_file(self, cmakelists, "if(NOT JP2K)", "if(0)") if not self.options.with_openjpeg: @@ -168,8 +163,7 @@ def _patch_sources(self): if Version(self.version) < "1.83.0": # versions below 1.83.0 do not have an option toggle replace_in_file(self, cmakelists, "if(NOT WEBP)", "if(0)") - if Version(self.version) >= "1.79.0": - replace_in_file(self, cmakelists, "if(NOT WEBPMUX)", "if(0)") + replace_in_file(self, cmakelists, "if(NOT WEBPMUX)", "if(0)") if not self.options.with_webp: replace_in_file(self, cmakelists_src, "if (WEBP_FOUND)", "if(0)") replace_in_file(self, cmake_configure, "if (WEBP_FOUND)", "if(0)") diff --git a/recipes/leptonica/all/patches/fix-find-modules-variables.patch b/recipes/leptonica/all/patches/fix-find-modules-variables.patch deleted file mode 100644 index 3dc86df7e707e..0000000000000 --- a/recipes/leptonica/all/patches/fix-find-modules-variables.patch +++ /dev/null @@ -1,48 +0,0 @@ -see https://github.com/DanBloomberg/leptonica/pull/456 - ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -31,33 +31,33 @@ if (NOT STATIC) - target_compile_definitions (leptonica PRIVATE -DLIBLEPT_EXPORTS) - endif() - --if (GIF_LIBRARY) -+if (GIF_LIBRARIES) - target_include_directories (leptonica PUBLIC ${GIF_INCLUDE_DIR}) -- target_link_libraries (leptonica ${GIF_LIBRARY}) -+ target_link_libraries (leptonica ${GIF_LIBRARIES}) - endif() --if (JPEG_LIBRARY) -+if (JPEG_LIBRARIES) - target_include_directories (leptonica PUBLIC ${JPEG_INCLUDE_DIR}) -- target_link_libraries (leptonica ${JPEG_LIBRARY}) -+ target_link_libraries (leptonica ${JPEG_LIBRARIES}) - endif() - if (JP2K_FOUND) - target_include_directories (leptonica PUBLIC ${JP2K_INCLUDE_DIRS}) - target_link_libraries (leptonica ${JP2K_LIBRARIES}) - endif() --if (PNG_LIBRARY) -+if (PNG_LIBRARIES) - target_include_directories (leptonica PUBLIC ${PNG_INCLUDE_DIRS}) -- target_link_libraries (leptonica ${PNG_LIBRARY}) -+ target_link_libraries (leptonica ${PNG_LIBRARIES}) - endif() --if (TIFF_LIBRARY) -+if (TIFF_LIBRARIES) - target_include_directories (leptonica PUBLIC ${TIFF_INCLUDE_DIR}) -- target_link_libraries (leptonica ${TIFF_LIBRARY}) -+ target_link_libraries (leptonica ${TIFF_LIBRARIES}) - endif() - if (WEBP_FOUND) - target_include_directories (leptonica PUBLIC ${WEBP_INCLUDE_DIRS}) - target_link_libraries (leptonica ${WEBP_LIBRARIES}) - endif() --if (ZLIB_LIBRARY) -+if (ZLIB_LIBRARIES) - target_include_directories (leptonica PUBLIC ${ZLIB_INCLUDE_DIR}) -- target_link_libraries (leptonica ${ZLIB_LIBRARY}) -+ target_link_libraries (leptonica ${ZLIB_LIBRARIES}) - endif() - - if (UNIX) diff --git a/recipes/leptonica/config.yml b/recipes/leptonica/config.yml index 7de53a77a3916..38d6d07fba4c6 100644 --- a/recipes/leptonica/config.yml +++ b/recipes/leptonica/config.yml @@ -1,15 +1,7 @@ versions: "1.83.1": folder: all - "1.83.0": - folder: all "1.82.0": folder: all "1.81.0": folder: all - "1.80.0": - folder: all - "1.79.0": - folder: all - "1.78.0": - folder: all From 5c551580236d6911fc13d44184a1576f8593eb39 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Abril=20Rinc=C3=B3n=20Blanco?= Date: Tue, 2 Jul 2024 11:30:20 +0200 Subject: [PATCH 025/641] Hi! My name is (#24478) --- .c3i/authorized_users.yml | 2 +- .c3i/reviewers.yml | 58 ++++++++++++++++++++------------------- 2 files changed, 31 insertions(+), 29 deletions(-) diff --git a/.c3i/authorized_users.yml b/.c3i/authorized_users.yml index 3414a9d5c8b7b..397ab63644339 100644 --- a/.c3i/authorized_users.yml +++ b/.c3i/authorized_users.yml @@ -966,7 +966,7 @@ authorized_users: - kletoz - agilemapper - ZXfkSIE -- RubenRBS +- AbrilRBS - Alex-PLACET - antekone - ambroff diff --git a/.c3i/reviewers.yml b/.c3i/reviewers.yml index bdf9a4146d268..e877828a1a9a3 100644 --- a/.c3i/reviewers.yml +++ b/.c3i/reviewers.yml @@ -9,21 +9,45 @@ reviewers: - user: "lasote" type: "team" request_reviews: false - - user: "jgsogo" - type: "community" - request_reviews: false - user: "czoido" type: "team" request_reviews: false - user: "memsharded" type: "team" request_reviews: false - - user: "SSE4" - type: "community" - request_reviews: false - user: "uilianries" type: "team" request_reviews: true + - user: "jcar87" + type: "team" + request_reviews: true + - user: "franramirez688" + type: "team" + request_reviews: true + - user: "AbrilRBS" + type: "team" + request_reviews: true + - user: "davidsanfal" + type: "team" + request_reviews: false + - user: "juansblanco" + type: "team" + request_reviews: false + - user: "perseoGI" + type: "team" + request_reviews: false + - user: "ErniGH" + type: "team" + request_reviews: false + ######## + ### Begin community reviewers + ######## + - user: "jgsogo" + type: "community" + request_reviews: false + - user: "SSE4" + type: "community" + request_reviews: false - user: "madebr" type: "community" request_reviews: false @@ -54,21 +78,12 @@ reviewers: - user: "MartinDelille" type: "community" request_reviews: false - - user: "jcar87" - type: "team" - request_reviews: true - - user: "franramirez688" - type: "team" - request_reviews: true - user: "paulocoutinhox" type: "community" request_reviews: false - user: "jwillikers" type: "community" request_reviews: false - - user: "RubenRBS" - type: "team" - request_reviews: true - user: "System-Arch" type: "community" request_reviews: false @@ -78,19 +93,6 @@ reviewers: - user: "StellaSmith" type: "community" request_reviews: false - - user: "davidsanfal" - type: "team" - request_reviews: false - - user: "juansblanco" - type: "team" - request_reviews: false - user: "valgur" type: "community" request_reviews: false - - user: "perseoGI" - type: "team" - request_reviews: false - - user: "ErniGH" - type: "team" - request_reviews: false - From 0e602efad342164a0fdb61de34aaa15d879e76b9 Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Tue, 2 Jul 2024 11:41:24 +0100 Subject: [PATCH 026/641] (#24479) [bot] Update authorized users list (2024-07-01) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Add/remove users to Access Request * Update .c3i/authorized_users.yml --------- Co-authored-by: conan-center-bot Co-authored-by: Abril Rincón Blanco --- .c3i/authorized_users.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.c3i/authorized_users.yml b/.c3i/authorized_users.yml index 397ab63644339..b950390d7e806 100644 --- a/.c3i/authorized_users.yml +++ b/.c3i/authorized_users.yml @@ -1377,3 +1377,6 @@ authorized_users: - glywk - aniederl - SvenRoederer +- MridulS +- leemaguire +- RobinQu From 6287be95c64622a42b18d7d6f396e3b47ae8da7a Mon Sep 17 00:00:00 2001 From: Uilian Ries Date: Tue, 2 Jul 2024 13:03:22 +0200 Subject: [PATCH 027/641] (#24457) [dbus] Do not customize system bus listens * Do not customize system bus listens Signed-off-by: Uilian Ries * trigger CI Signed-off-by: Uilian Ries * Fix dbus_user option for Conan 2.x Signed-off-by: Uilian Ries --------- Signed-off-by: Uilian Ries --- recipes/dbus/1.x.x/conanfile.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/recipes/dbus/1.x.x/conanfile.py b/recipes/dbus/1.x.x/conanfile.py index cbac60eeeb9e9..0d7c729968e28 100644 --- a/recipes/dbus/1.x.x/conanfile.py +++ b/recipes/dbus/1.x.x/conanfile.py @@ -27,7 +27,7 @@ class DbusConan(ConanFile): options = { "shared": [True, False], "fPIC": [True, False], - "dbus_user": ["ANY"], + "dbus_user": [None, "ANY"], "message_bus": [True, False], "system_socket": [None, "ANY"], "system_pid_file": [None, "ANY"], @@ -113,7 +113,6 @@ def generate(self): tc.project_options["asserts"] = not is_apple_os(self) tc.project_options["checks"] = False tc.project_options["datadir"] = os.path.join("res", "share") - tc.project_options["localstatedir"] = os.path.join("res", "var") tc.project_options["sysconfdir"] = os.path.join("res", "etc") tc.project_options["doxygen_docs"] = "disabled" tc.project_options["ducktype_docs"] = "disabled" From bfc604b4ec0d5f1c1d904b03a34eb093cee5e3d4 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 2 Jul 2024 14:25:14 +0300 Subject: [PATCH 028/641] (#22012) zookeeper-client-c: add v3.9.1, bump deps, do not write to ~/.m2 --- recipes/zookeeper-client-c/all/conandata.yml | 7 +++++++ recipes/zookeeper-client-c/all/conanfile.py | 8 +++++--- recipes/zookeeper-client-c/config.yml | 2 ++ 3 files changed, 14 insertions(+), 3 deletions(-) diff --git a/recipes/zookeeper-client-c/all/conandata.yml b/recipes/zookeeper-client-c/all/conandata.yml index 0487be945d8c9..30c4962751575 100644 --- a/recipes/zookeeper-client-c/all/conandata.yml +++ b/recipes/zookeeper-client-c/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.9.1": + url: "https://archive.apache.org/dist/zookeeper/zookeeper-3.9.1/apache-zookeeper-3.9.1.tar.gz" + sha256: "918f0fcf4ca8c53c2cccb97237ea72d2ccba978233ca85eff08f8ba077a8dadf" "3.9.0": url: "https://archive.apache.org/dist/zookeeper/zookeeper-3.9.0/apache-zookeeper-3.9.0.tar.gz" sha256: "c7af07e7411c798398bb8cd50f47780d8e014831666c41df6ec6540c143c0da2" @@ -6,6 +9,10 @@ sources: url: "https://archive.apache.org/dist/zookeeper/zookeeper-3.8.1/apache-zookeeper-3.8.1.tar.gz" sha256: "ccc16850c8ab2553583583234d11c813061b5ea5f3b8ff1d740cde6c1fd1e219" patches: + "3.9.1": + - patch_file: "patches/3.8.1-0001-add-install.patch" + patch_description: "add installer, disable cli program" + patch_type: "conan" "3.9.0": - patch_file: "patches/3.8.1-0001-add-install.patch" patch_description: "add installer, disable cli program" diff --git a/recipes/zookeeper-client-c/all/conanfile.py b/recipes/zookeeper-client-c/all/conanfile.py index ec48f11ba450f..020e3c8246146 100644 --- a/recipes/zookeeper-client-c/all/conanfile.py +++ b/recipes/zookeeper-client-c/all/conanfile.py @@ -44,12 +44,12 @@ def layout(self): def requirements(self): if self.options.with_cyrus_sasl: - self.requires("cyrus-sasl/2.1.27") + self.requires("cyrus-sasl/2.1.28") if self.options.with_openssl: self.requires("openssl/[>=1.1 <4]") def build_requirements(self): - self.tool_requires("maven/3.9.2") + self.tool_requires("maven/3.9.4") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) @@ -69,7 +69,9 @@ def build(self): apply_conandata_patches(self) # We have to install maven to generate jute files which are required by zookeeper-client - self.run("mvn compile", cwd=os.path.join(self.source_folder, "zookeeper-jute")) + # Override maven.repo.local to avoid writing to ~/.m2 + m2_repository = os.path.join(self.build_folder, "m2", "repository") + self.run(f'mvn compile -Dmaven.repo.local="{m2_repository}"', cwd=os.path.join(self.source_folder, "zookeeper-jute")) cmake = CMake(self) cmake.configure(build_script_folder=os.path.join(self.source_folder, "zookeeper-client", "zookeeper-client-c")) diff --git a/recipes/zookeeper-client-c/config.yml b/recipes/zookeeper-client-c/config.yml index 31b8685d6b74a..2bc00633d1dbc 100644 --- a/recipes/zookeeper-client-c/config.yml +++ b/recipes/zookeeper-client-c/config.yml @@ -1,4 +1,6 @@ versions: + "3.9.1": + folder: all "3.9.0": folder: all "3.8.1": From ff0fa9d01001be5638358f3bb158f50e78fe0dc2 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Tue, 2 Jul 2024 13:49:52 +0200 Subject: [PATCH 029/641] (#23669) aravis: use version range for libxml2, remove old version * aravis: use version range for libxml2 * remove old version --- recipes/aravis/all/conandata.yml | 7 ------ recipes/aravis/all/conanfile.py | 25 +++---------------- .../all/patches/0.8.19-gst-shared-lib.patch | 11 -------- recipes/aravis/config.yml | 2 -- 4 files changed, 3 insertions(+), 42 deletions(-) delete mode 100644 recipes/aravis/all/patches/0.8.19-gst-shared-lib.patch diff --git a/recipes/aravis/all/conandata.yml b/recipes/aravis/all/conandata.yml index 768365163e373..3a163fd8d1e6f 100644 --- a/recipes/aravis/all/conandata.yml +++ b/recipes/aravis/all/conandata.yml @@ -8,9 +8,6 @@ sources: "0.8.25": # latest version that supports GenDC data format (supported by U3V 1.1) url: "https://github.com/AravisProject/aravis/releases/download/0.8.25/aravis-0.8.25.tar.xz" sha256: "3ba18f941ae4e2c898fed1f63c4ce67ea41a800a902ee5684eef4ffdb87f1c09" - "0.8.20": - url: "https://github.com/AravisProject/aravis/releases/download/0.8.20/aravis-0.8.20.tar.xz" - sha256: "0c0eb5a76109f29180c09c7e6a23fd403633bf22bbe8468a0ae44995c4449f46" patches: "0.8.30": - patch_file: "patches/0.8.29-gst-shared-lib.patch" @@ -24,7 +21,3 @@ patches: - patch_file: "patches/0.8.25-gst-shared-lib.patch" patch_description: "remove forcing of shared library built for gst-plugins" patch_type: conan - "0.8.20": - - patch_file: "patches/0.8.19-gst-shared-lib.patch" - patch_description: "remove forcing of shared library built for gst-plugins" - patch_type: conan diff --git a/recipes/aravis/all/conanfile.py b/recipes/aravis/all/conanfile.py index af5a8560dea48..1b412478f26e7 100644 --- a/recipes/aravis/all/conanfile.py +++ b/recipes/aravis/all/conanfile.py @@ -33,7 +33,6 @@ class AravisConan(ConanFile): "gst_plugin": [True, False], "tools": [True, False], "introspection": [True, False], - "gv_n_buffers": ["ANY"], } default_options = { "shared": False, @@ -43,7 +42,6 @@ class AravisConan(ConanFile): "gst_plugin": False, "tools": True, "introspection": False, - "gv_n_buffers": 16, } def export_sources(self): @@ -54,10 +52,6 @@ def config_options(self): del self.options.fPIC if self.settings.os not in ["Linux", "FreeBSD"]: del self.options.packet_socket - # https://github.com/AravisProject/aravis/commit/b4211e5e0266d0226e936818b3faefd6d0daaa3a#diff-f28598af2e23aa5d2bc7c72e022ae2c56a33802eb970afffaeca1e40607f97fe - if Version(self.version) < "0.8.21": - del self.options.gv_n_buffers - def configure(self): if self.options.shared: @@ -72,8 +66,8 @@ def layout(self): def requirements(self): # glib-object.h and gio/gio.h are used in several public headers - self.requires("glib/2.78.1", transitive_headers=True) - self.requires("libxml2/2.12.3") + self.requires("glib/2.78.3", transitive_headers=True) + self.requires("libxml2/[>=2.12.5 <3]") self.requires("zlib/[>=1.2.11 <2]") if self.options.usb: @@ -93,18 +87,9 @@ def validate(self): "conan-io/conan#7324 gets merged to fix macOS SIP issue #8443" ) - if self.options.get_safe("gv_n_buffers"): - try: - gv_n_buffers_val = int(str(self.options.gv_n_buffers)) - if gv_n_buffers_val < 1: - raise ConanInvalidConfiguration( - f"gv_n_buffers_val must be greater than 1 Provided: {gv_n_buffers_val}") - except ValueError as e: - raise ConanInvalidConfiguration("gv_n_buffers_val must be an integer.") from e - def build_requirements(self): #windows build: meson/1.2.1 works, meson/1.2.2 breaks for some reason! - self.tool_requires("meson/1.3.1") + self.tool_requires("meson/1.4.0") self.tool_requires("glib/") if not self.conf.get("tools.gnu:pkg_config", check_type=str): self.tool_requires("pkgconf/2.1.0") @@ -129,10 +114,6 @@ def generate(self): tc.project_options["viewer"] = "disabled" tc.project_options["tests"] = False tc.project_options["documentation"] = "disabled" - - if self.options.get_safe("gv_n_buffers"): - tc.project_options["gv-n-buffers"] = int(str(self.options.gv_n_buffers)) - tc.project_options["fast-heartbeat"] = False if self.settings.get_safe("compiler.runtime"): tc.project_options["b_vscrt"] = msvc_runtime_flag(self).lower() diff --git a/recipes/aravis/all/patches/0.8.19-gst-shared-lib.patch b/recipes/aravis/all/patches/0.8.19-gst-shared-lib.patch deleted file mode 100644 index fec845831e656..0000000000000 --- a/recipes/aravis/all/patches/0.8.19-gst-shared-lib.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/gst/meson.build -+++ b/gst/meson.build -@@ -15,7 +15,7 @@ gst_c_args = [ - - gst_plugin_filename = 'gstaravis.@0@'.format (aravis_api_version) - --gst_plugin = shared_library (gst_plugin_filename, -+gst_plugin = library (gst_plugin_filename, - gst_sources, gst_headers, - name_suffix: [], - link_with: aravis_library, diff --git a/recipes/aravis/config.yml b/recipes/aravis/config.yml index 1aa8532edf0e6..62d9bfe99223a 100644 --- a/recipes/aravis/config.yml +++ b/recipes/aravis/config.yml @@ -6,5 +6,3 @@ versions: # 0.8.25 is the last version to support GenDC data format "0.8.25": folder: all - "0.8.20": - folder: all From 6214b8c2d1c3361128d65ddc894843722c4aa6be Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 2 Jul 2024 21:13:41 +0900 Subject: [PATCH 030/641] (#24469) thorvg: add version 0.14.0 --- recipes/thorvg/all/conandata.yml | 3 +++ recipes/thorvg/all/conanfile.py | 10 +++++++++- recipes/thorvg/config.yml | 2 ++ 3 files changed, 14 insertions(+), 1 deletion(-) diff --git a/recipes/thorvg/all/conandata.yml b/recipes/thorvg/all/conandata.yml index fb71a96afc631..dbbe52c2f6f8d 100644 --- a/recipes/thorvg/all/conandata.yml +++ b/recipes/thorvg/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.14.0": + url: "https://github.com/thorvg/thorvg/archive/refs/tags/v0.14.0.tar.gz" + sha256: "6f186b53be3a0bd971dabde7a58022f43303467794e89e3641c774f38cdc2664" "0.13.8": url: "https://github.com/thorvg/thorvg/archive/refs/tags/v0.13.8.tar.gz" sha256: "ce49929a94d1686d4f1436da6ef5fa7a8439901c22b5fa0879d7d5879b8ba2bd" diff --git a/recipes/thorvg/all/conanfile.py b/recipes/thorvg/all/conanfile.py index 41c5d63ea4a2d..922751fa36250 100644 --- a/recipes/thorvg/all/conanfile.py +++ b/recipes/thorvg/all/conanfile.py @@ -27,7 +27,7 @@ class ThorvgConan(ConanFile): options = { "shared": [True, False], "fPIC": [True, False], - "with_engines": ['sw', 'gl_beta', 'wg_beta'], + "with_engines": ['sw', 'gl_beta', 'wg_beta', "gl"], "with_loaders": [False, 'tvg', 'svg', 'png', 'jpg', 'lottie', 'ttf', 'webp', 'all'], "with_savers": [False, 'tvg', 'gif', 'all'], "with_bindings": [False, 'capi', 'wasm_beta'], @@ -113,6 +113,11 @@ def validate(self): f"{self.ref} doesn't support debug build on MSVC." ) + if Version(self.version) < "0.14.0" and self.options.with_engines in ["gl"]: + raise ConanInvalidConfiguration(f"{self.ref} doesn't support with_engines=gl, use with_engines=gl_beta instead") + if Version(self.version) >= "0.14.0" and self.options.with_engines in ["gl_beta"]: + raise ConanInvalidConfiguration(f"{self.ref} doesn't support with_engines=gl_beta, use with_engines=gl instead") + def requirements(self): loaders_opt = str(self.options.with_loaders) if loaders_opt in ("all", "jpg"): @@ -121,6 +126,9 @@ def requirements(self): self.requires("libpng/1.6.43") if loaders_opt in ("all", "webp"): self.requires("libwebp/1.4.0") + if self.settings.os == "Linux": + if self.options.with_engines in ["gl", "gl_beta"]: + self.requires("opengl/system") def build_requirements(self): self.tool_requires("meson/1.4.0") diff --git a/recipes/thorvg/config.yml b/recipes/thorvg/config.yml index f1459ae7bee4f..dc2bfc7b4758c 100644 --- a/recipes/thorvg/config.yml +++ b/recipes/thorvg/config.yml @@ -1,4 +1,6 @@ versions: + "0.14.0": + folder: all "0.13.8": folder: all "0.13.7": From 455a7b43062fb3e1f0d91b5abaf4531ab2a6c943 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 2 Jul 2024 21:53:16 +0900 Subject: [PATCH 031/641] (#24485) daw_utf_range: add version 2.2.5 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * daw_utf_range: add version 2.2.5 * Ensure new releases don't change old version revisions --------- Co-authored-by: Abril Rincón Blanco --- recipes/daw_utf_range/all/conandata.yml | 9 +++++++++ recipes/daw_utf_range/all/conanfile.py | 6 ++---- recipes/daw_utf_range/config.yml | 2 ++ 3 files changed, 13 insertions(+), 4 deletions(-) diff --git a/recipes/daw_utf_range/all/conandata.yml b/recipes/daw_utf_range/all/conandata.yml index 274810345e204..38e97ab2afcd4 100644 --- a/recipes/daw_utf_range/all/conandata.yml +++ b/recipes/daw_utf_range/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.2.5": + url: "https://github.com/beached/utf_range/archive/v2.2.5.tar.gz" + sha256: "18cc142c319c817da86ed037813cd50a16ff1af8e041a22b8af11beaef30ca32" "2.2.4": url: "https://github.com/beached/utf_range/archive/v2.2.4.tar.gz" sha256: "e6df85d6da445c16507e738d70c6313df2a70e64b739a05d6437b06a5f83b8b1" @@ -11,3 +14,9 @@ sources: "2.2.0": url: "https://github.com/beached/utf_range/archive/v2.2.0.tar.gz" sha256: "00f60360736062403c8a7a94dd07c750366958f20d1864578faecf2e09d84265" +daw_headers_mapping: + "2.2.5": "2.106.0" + "2.2.4": "2.101.0" + "2.2.3": "2.97.0" + "2.2.2": "2.97.0" + "2.2.0": "2.97.0" diff --git a/recipes/daw_utf_range/all/conanfile.py b/recipes/daw_utf_range/all/conanfile.py index ad4fd8d98f0b6..bb05e8ba48169 100644 --- a/recipes/daw_utf_range/all/conanfile.py +++ b/recipes/daw_utf_range/all/conanfile.py @@ -38,10 +38,8 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - if Version(self.version) >= "2.2.4": - self.requires("daw_header_libraries/2.101.0") - else: - self.requires("daw_header_libraries/2.97.0") + corresponding_daw_header_version = self.conan_data["daw_headers_mapping"][self.version] + self.requires(f"daw_header_libraries/{corresponding_daw_header_version}") def package_id(self): self.info.clear() diff --git a/recipes/daw_utf_range/config.yml b/recipes/daw_utf_range/config.yml index 0856bcef8b94d..86bdc8b77e0d5 100644 --- a/recipes/daw_utf_range/config.yml +++ b/recipes/daw_utf_range/config.yml @@ -1,4 +1,6 @@ versions: + "2.2.5": + folder: "all" "2.2.4": folder: "all" "2.2.3": From 3931e1e8e9fcce2d6916ec549ff926fe3b54b9f8 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Tue, 2 Jul 2024 15:11:42 +0200 Subject: [PATCH 032/641] (#24488) nsync: add version 1.29.2 --- recipes/nsync/all/conandata.yml | 5 +++++ recipes/nsync/config.yml | 2 ++ 2 files changed, 7 insertions(+) diff --git a/recipes/nsync/all/conandata.yml b/recipes/nsync/all/conandata.yml index d4253cb970850..2612b48d1ed17 100644 --- a/recipes/nsync/all/conandata.yml +++ b/recipes/nsync/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.29.2": + url: "https://github.com/google/nsync/archive/1.29.2.tar.gz" + sha256: "1d63e967973733d2c97e841e3c05fac4d3fa299f01d14c86f2695594c7a4a2ec" "1.29.1": url: "https://github.com/google/nsync/archive/1.29.1.tar.gz" sha256: "3045a8922171430426b695edf794053182d245f6a382ddcc59ef4a6190848e98" @@ -21,6 +24,8 @@ sources: sha256: "b7e75b17957c62bd02dd73890bde22da3a564903fcaad651b395453d41d3325b" url: "https://github.com/google/nsync/archive/refs/tags/1.23.0.tar.gz" patches: + "1.29.2": + - patch_file: "patches/0001-1.27.0-darwin-exclude_semaphore_mutex_c_from_nsync_cpp_lib.patch" "1.29.1": - patch_file: "patches/0001-1.27.0-darwin-exclude_semaphore_mutex_c_from_nsync_cpp_lib.patch" "1.28.0": diff --git a/recipes/nsync/config.yml b/recipes/nsync/config.yml index 0224903d9865b..b839a601be83a 100644 --- a/recipes/nsync/config.yml +++ b/recipes/nsync/config.yml @@ -1,4 +1,6 @@ versions: + "1.29.2": + folder: "all" "1.29.1": folder: "all" "1.28.0": From ff412583493308c21221d3e0c8e040313ea66af1 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Tue, 2 Jul 2024 15:33:00 +0200 Subject: [PATCH 033/641] (#24489) re2: add version 20240702 --- recipes/re2/all/conandata.yml | 3 +++ recipes/re2/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/re2/all/conandata.yml b/recipes/re2/all/conandata.yml index 0b89d06d1aa6f..718ca942e6960 100644 --- a/recipes/re2/all/conandata.yml +++ b/recipes/re2/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "20240702": + url: "https://github.com/google/re2/releases/download/2024-07-02/re2-2024-07-02.tar.gz" + sha256: "eb2df807c781601c14a260a507a5bb4509be1ee626024cb45acbd57cb9d4032b" "20240301": url: "https://github.com/google/re2/releases/download/2024-03-01/re2-2024-03-01.tar.gz" sha256: "7b2b3aa8241eac25f674e5b5b2e23d4ac4f0a8891418a2661869f736f03f57f4" diff --git a/recipes/re2/config.yml b/recipes/re2/config.yml index dde5fd31b3ec4..bfce54f7e636d 100644 --- a/recipes/re2/config.yml +++ b/recipes/re2/config.yml @@ -1,4 +1,6 @@ versions: + "20240702": + folder: all "20240301": folder: all "20231101": From 1db1f3356c8ab253843793de2c45c4edbdff04f8 Mon Sep 17 00:00:00 2001 From: Ivo Hedtke Date: Tue, 2 Jul 2024 20:51:43 +0200 Subject: [PATCH 034/641] (#24496) bump highs version 1.7.2 --- recipes/highs/all/conandata.yml | 3 +++ recipes/highs/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/highs/all/conandata.yml b/recipes/highs/all/conandata.yml index 412ffae12f185..006006dd92224 100644 --- a/recipes/highs/all/conandata.yml +++ b/recipes/highs/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.7.2": + url: "https://github.com/ERGO-Code/HiGHS/archive/refs/tags/v1.7.2.tar.gz" + sha256: "5ff96c14ae19592d3568e9ae107624cbaf3409d328fb1a586359f0adf9b34bf7" "1.7.0": url: "https://github.com/ERGO-Code/HiGHS/archive/refs/tags/v1.7.0.tar.gz" sha256: "D10175AD66E7F113AC5DC00C9D6650A620663A6884FBF2942D6EB7A3D854604F" diff --git a/recipes/highs/config.yml b/recipes/highs/config.yml index 2fc1c9523304b..bf38309e9bf30 100644 --- a/recipes/highs/config.yml +++ b/recipes/highs/config.yml @@ -1,4 +1,6 @@ versions: + "1.7.2": + folder: all "1.7.0": folder: all "1.6.0": From ce1b1f509874c86e9da6b1759fe4ee4356e08cd1 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 2 Jul 2024 23:05:38 +0300 Subject: [PATCH 035/641] (#22023) glibmm: add v2.78.0, drop static build support * glibmm: add v2.78.0, simplify patching * glibmm: drop static build support * glibmm: bump to v2.78.1 * glibmm: bump meson --- recipes/glibmm/all/conandata.yml | 26 +-- recipes/glibmm/all/conanfile.py | 72 ++------ .../patches/enable_static_libs_2_66_4.patch | 32 ---- .../patches/enable_static_libs_2_72_1.patch | 32 ---- .../patches/enable_static_libs_2_75_0.patch | 32 ---- ...x_initialization_order_fiasco_2_66_4.patch | 163 ------------------ ...x_initialization_order_fiasco_2_72_1.patch | 95 ---------- ...x_initialization_order_fiasco_2_75_0.patch | 84 --------- recipes/glibmm/config.yml | 2 + 9 files changed, 15 insertions(+), 523 deletions(-) delete mode 100644 recipes/glibmm/all/patches/enable_static_libs_2_66_4.patch delete mode 100644 recipes/glibmm/all/patches/enable_static_libs_2_72_1.patch delete mode 100644 recipes/glibmm/all/patches/enable_static_libs_2_75_0.patch delete mode 100644 recipes/glibmm/all/patches/fix_initialization_order_fiasco_2_66_4.patch delete mode 100644 recipes/glibmm/all/patches/fix_initialization_order_fiasco_2_72_1.patch delete mode 100644 recipes/glibmm/all/patches/fix_initialization_order_fiasco_2_75_0.patch diff --git a/recipes/glibmm/all/conandata.yml b/recipes/glibmm/all/conandata.yml index 171a01a50da60..830679f3678f2 100644 --- a/recipes/glibmm/all/conandata.yml +++ b/recipes/glibmm/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.78.1": + url: "https://download.gnome.org/sources/glibmm/2.78/glibmm-2.78.1.tar.xz" + sha256: "f473f2975d26c3409e112ed11ed36406fb3843fa975df575c22d4cb843085f61" "2.75.0": url: "https://download.gnome.org/sources/glibmm/2.75/glibmm-2.75.0.tar.xz" sha256: "60bb12e66488aa8ce41f0eb2f3612f89f5ddc887e3e4d45498524bf60b266b3d" @@ -8,26 +11,3 @@ sources: "2.66.4": url: "https://download.gnome.org/sources/glibmm/2.66/glibmm-2.66.4.tar.xz" sha256: "199ace5682d81b15a1d565480b4a950682f2db6402c8aa5dd7217d71edff81d5" - -patches: - "2.75.0": - - patch_file: "patches/enable_static_libs_2_75_0.patch" - patch_type: portability - patch_description: enable static library build for msvc - - patch_file: "patches/fix_initialization_order_fiasco_2_75_0.patch" - patch_type: bugfix - patch_description: fix initialization order for static library - "2.72.1": - - patch_file: "patches/enable_static_libs_2_72_1.patch" - patch_type: portability - patch_description: enable static library build for msvc - - patch_file: "patches/fix_initialization_order_fiasco_2_72_1.patch" - patch_type: bugfix - patch_description: fix initialization order for static library - "2.66.4": - - patch_file: "patches/enable_static_libs_2_66_4.patch" - patch_type: portability - patch_description: enable static library build for msvc - - patch_file: "patches/fix_initialization_order_fiasco_2_66_4.patch" - patch_type: bugfix - patch_description: fix initialization order for static library diff --git a/recipes/glibmm/all/conanfile.py b/recipes/glibmm/all/conanfile.py index a6d3f4c904bd4..d36d4666df42d 100644 --- a/recipes/glibmm/all/conanfile.py +++ b/recipes/glibmm/all/conanfile.py @@ -1,22 +1,13 @@ -import os import glob +import os import shutil -from conan import ConanFile, conan_version +from conan import ConanFile from conan.errors import ConanInvalidConfiguration from conan.tools.apple import fix_apple_shared_install_name from conan.tools.build import check_min_cppstd from conan.tools.env import VirtualBuildEnv -from conan.tools.files import ( - apply_conandata_patches, - copy, - export_conandata_patches, - get, - replace_in_file, - rename, - rm, - rmdir -) +from conan.tools.files import copy, get, replace_in_file, rm, rmdir from conan.tools.gnu import PkgConfigDeps from conan.tools.layout import basic_layout from conan.tools.meson import Meson, MesonToolchain @@ -33,16 +24,8 @@ class GlibmmConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" description = "glibmm is a C++ API for parts of glib that are useful for C++." topics = ("giomm",) - package_type = "library" + package_type = "shared-library" settings = "os", "arch", "compiler", "build_type" - options = { - "shared": [True, False], - "fPIC": [True, False], - } - default_options = { - "shared": False, - "fPIC": True, - } short_paths = True @property @@ -57,25 +40,14 @@ def _glibmm_lib(self): def _giomm_lib(self): return f"giomm-{self._abi_version}" - def export_sources(self): - export_conandata_patches(self) - - def config_options(self): - if self.settings.os == "Windows": - del self.options.fPIC - def configure(self): - if self.options.shared: - self.options.rm_safe("fPIC") - if self.options.shared: - wildcard = "" if Version(conan_version) < "2.0.0" else "/*" - self.options[f"glib{wildcard}"].shared = True + self.options["glib"].shared = True def layout(self): basic_layout(self, src_folder="src") def requirements(self): - self.requires("glib/2.78.0", transitive_headers=True) + self.requires("glib/2.78.3", transitive_headers=True) if self._abi_version == "2.68": self.requires("libsigcpp/3.0.7", transitive_headers=True) else: @@ -83,12 +55,12 @@ def requirements(self): def validate(self): if self.settings.compiler.get_safe("cppstd"): - if self._abi_version == "2.68": + if Version(self._abi_version) >= "2.68": check_min_cppstd(self, 17) else: check_min_cppstd(self, 11) - if self.options.shared and not self.dependencies["glib"].options.shared: + if not self.dependencies["glib"].options.shared: raise ConanInvalidConfiguration( "Linking a shared library against static glib can cause unexpected behaviour." ) @@ -97,9 +69,9 @@ def validate(self): raise ConanInvalidConfiguration("Linking shared glib with the MSVC static runtime is not supported") def build_requirements(self): - self.tool_requires("meson/1.2.2") + self.tool_requires("meson/1.3.2") if not self.conf.get("tools.gnu:pkg_config", check_type=str): - self.tool_requires("pkgconf/2.0.3") + self.tool_requires("pkgconf/2.1.0") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) @@ -120,22 +92,9 @@ def generate(self): tc.generate() def _patch_sources(self): - apply_conandata_patches(self) meson_build = os.path.join(self.source_folder, "meson.build") replace_in_file(self, meson_build, "subdir('tests')", "") if is_msvc(self): - # GLiBMM_GEN_EXTRA_DEFS_STATIC is not defined anywhere and is not - # used anywhere except here - # when building a static build !defined(GLiBMM_GEN_EXTRA_DEFS_STATIC) - # evaluates to 0 - if not self.options.shared: - replace_in_file(self, - os.path.join(self.source_folder, "tools", - "extra_defs_gen", "generate_extra_defs.h"), - "#if defined (_MSC_VER) && !defined (GLIBMM_GEN_EXTRA_DEFS_STATIC)", - "#if 0", - ) - # when using cpp_std=c++NM the /permissive- flag is added which # attempts enforcing standard conformant c++ code # the problem is that older versions of Windows SDK is not standard @@ -150,15 +109,6 @@ def build(self): meson.build() def package(self): - def rename_msvc_static_libs(): - lib_folder = os.path.join(self.package_folder, "lib") - rename(self, os.path.join(lib_folder, f"libglibmm-{self._abi_version}.a"), - os.path.join(lib_folder, f"{self._glibmm_lib}.lib")) - rename(self, os.path.join(lib_folder, f"libgiomm-{self._abi_version}.a"), - os.path.join(lib_folder, f"{self._giomm_lib}.lib")) - rename(self, os.path.join(lib_folder, f"libglibmm_generate_extra_defs-{self._abi_version}.a"), - os.path.join(lib_folder, f"glibmm_generate_extra_defs-{self._abi_version}.lib")) - meson = Meson(self) meson.install() @@ -166,8 +116,6 @@ def rename_msvc_static_libs(): if is_msvc(self): rm(self, "*.pdb", os.path.join(self.package_folder, "bin")) - if not self.options.shared: - rename_msvc_static_libs() for directory in [self._glibmm_lib, self._giomm_lib]: directory_path = os.path.join(self.package_folder, "lib", directory, "include", "*.h") diff --git a/recipes/glibmm/all/patches/enable_static_libs_2_66_4.patch b/recipes/glibmm/all/patches/enable_static_libs_2_66_4.patch deleted file mode 100644 index c94b5200949f7..0000000000000 --- a/recipes/glibmm/all/patches/enable_static_libs_2_66_4.patch +++ /dev/null @@ -1,32 +0,0 @@ -diff --git a/glib/glibmmconfig.h.meson b/glib/glibmmconfig.h.meson -index e50dcccf..19e64a46 100644 ---- a/glib/glibmmconfig.h.meson -+++ b/glib/glibmmconfig.h.meson -@@ -47,7 +47,9 @@ - # if defined(_MSC_VER) - # define GLIBMM_MSC 1 - # define GLIBMM_WIN32 1 --# define GLIBMM_DLL 1 -+# ifndef GLIBMM_STATIC_LIB -+# define GLIBMM_DLL 1 -+# endif - # elif defined(__CYGWIN__) - # define GLIBMM_CONFIGURE 1 - # elif defined(__MINGW32__) -diff --git a/glib/meson.build b/glib/meson.build -index 4feee0fd..9382645a 100644 ---- a/glib/meson.build -+++ b/glib/meson.build -@@ -36,12 +36,6 @@ pkg_conf_data.set('MSVC_TOOLSET_VER', msvc14x_toolset_ver) - - library_build_type = get_option('default_library') - --if cpp_compiler.get_argument_syntax() == 'msvc' -- if library_build_type == 'static' or library_build_type == 'both' -- error('Static builds are not supported by MSVC-style builds') -- endif --endif -- - if library_build_type == 'static' - pkg_conf_data.set('GLIBMM_STATIC_LIB', 1) - pkg_conf_data.set('GIOMM_STATIC_LIB', 1) diff --git a/recipes/glibmm/all/patches/enable_static_libs_2_72_1.patch b/recipes/glibmm/all/patches/enable_static_libs_2_72_1.patch deleted file mode 100644 index b9ec412d84d2e..0000000000000 --- a/recipes/glibmm/all/patches/enable_static_libs_2_72_1.patch +++ /dev/null @@ -1,32 +0,0 @@ -diff --git a/glib/glibmmconfig.h.meson b/glib/glibmmconfig.h.meson -index ef4753d..58b343c 100644 ---- a/glib/glibmmconfig.h.meson -+++ b/glib/glibmmconfig.h.meson -@@ -27,7 +27,9 @@ - # if defined(_MSC_VER) - # define GLIBMM_MSC 1 - # define GLIBMM_WIN32 1 --# define GLIBMM_DLL 1 -+# ifndef GLIBMM_STATIC_LIB -+# define GLIBMM_DLL 1 -+# endif - # elif defined(__CYGWIN__) - # define GLIBMM_CONFIGURE 1 - # elif defined(__MINGW32__) -diff --git a/glib/meson.build b/glib/meson.build -index 0c20a91..6b8baa0 100644 ---- a/glib/meson.build -+++ b/glib/meson.build -@@ -36,12 +36,6 @@ pkg_conf_data.set('MSVC_TOOLSET_VER', msvc14x_toolset_ver) - - library_build_type = get_option('default_library') - --if cpp_compiler.get_argument_syntax() == 'msvc' -- if library_build_type == 'static' or library_build_type == 'both' -- error('Static builds are not supported by MSVC-style builds') -- endif --endif -- - if library_build_type == 'static' - pkg_conf_data.set('GLIBMM_STATIC_LIB', 1) - pkg_conf_data.set('GIOMM_STATIC_LIB', 1) diff --git a/recipes/glibmm/all/patches/enable_static_libs_2_75_0.patch b/recipes/glibmm/all/patches/enable_static_libs_2_75_0.patch deleted file mode 100644 index f24c64bb5bd54..0000000000000 --- a/recipes/glibmm/all/patches/enable_static_libs_2_75_0.patch +++ /dev/null @@ -1,32 +0,0 @@ -diff --git a/glib/glibmmconfig.h.meson b/glib/glibmmconfig.h.meson -index ef4753d7..b926720b 100644 ---- a/glib/glibmmconfig.h.meson -+++ b/glib/glibmmconfig.h.meson -@@ -27,7 +27,9 @@ - # if defined(_MSC_VER) - # define GLIBMM_MSC 1 - # define GLIBMM_WIN32 1 --# define GLIBMM_DLL 1 -+# ifndef GLIBMM_STATIC_LIB -+# define GLIBMM_DLL 1 -+# endif - # elif defined(__CYGWIN__) - # define GLIBMM_CONFIGURE 1 - # elif defined(__MINGW32__) -diff --git a/glib/meson.build b/glib/meson.build -index d16621e9..3eb8bc47 100644 ---- a/glib/meson.build -+++ b/glib/meson.build -@@ -37,12 +37,6 @@ pkg_conf_data.set('MSVC_TOOLSET_VER', msvc14x_toolset_ver) - - library_build_type = get_option('default_library') - --if cpp_compiler.get_argument_syntax() == 'msvc' -- if library_build_type == 'static' or library_build_type == 'both' -- error('Static builds are not supported by MSVC-style builds') -- endif --endif -- - if library_build_type == 'static' - pkg_conf_data.set('GLIBMM_STATIC_LIB', 1) - pkg_conf_data.set('GIOMM_STATIC_LIB', 1) diff --git a/recipes/glibmm/all/patches/fix_initialization_order_fiasco_2_66_4.patch b/recipes/glibmm/all/patches/fix_initialization_order_fiasco_2_66_4.patch deleted file mode 100644 index 3cf9f867ed1f0..0000000000000 --- a/recipes/glibmm/all/patches/fix_initialization_order_fiasco_2_66_4.patch +++ /dev/null @@ -1,163 +0,0 @@ -Author: Hesham -Date: Fri May 6 20:02:25 2022 +0000 - - Fix initialization order fiasco - - By default global static initialization with shared libraries begins down - the linking chain upwards, so that the deepest dependency initializes first - This is not guaranteed with static libraries, which might cause glibmm to - initialize before glib. This fix uses lazy initialization for static vars - in glibmm that depend on glib. - -diff --git a/glib/glibmm/class.cc b/glib/glibmm/class.cc -index 057abed..e51d01b 100644 ---- a/glib/glibmm/class.cc -+++ b/glib/glibmm/class.cc -@@ -170,7 +170,11 @@ Class::clone_custom_type( - } - - // Initialize the static quark to store/get custom type properties. -+#if GLIB_STATIC_COMPILATION -+GQuark Class::iface_properties_quark = 0; -+#else - GQuark Class::iface_properties_quark = g_quark_from_string("gtkmm_CustomObject_iface_properties"); -+#endif - - // static - void -diff --git a/glib/glibmm/init.cc b/glib/glibmm/init.cc -index ab96892..267a6c0 100644 ---- a/glib/glibmm/init.cc -+++ b/glib/glibmm/init.cc -@@ -14,15 +14,25 @@ - * License along with this library. If not, see . - */ - -+#include - #include - #include - -+#if GLIB_STATIC_COMPILATION -+#include -+#endif -+ - namespace Glib - { - - void - init() - { -+#if GLIB_STATIC_COMPILATION -+ Glib::Class::iface_properties_quark = -+ g_quark_from_string("gtkmm_CustomObject_iface_properties"); -+#endif -+ - // Also calls Glib::wrap_register_init() and Glib::wrap_init(). - Glib::Error::register_init(); - } -diff --git a/glib/glibmm/property.cc b/glib/glibmm/property.cc -index a2624e5..d9f1095 100644 ---- a/glib/glibmm/property.cc -+++ b/glib/glibmm/property.cc -@@ -89,8 +89,10 @@ struct custom_properties_type - }; - - // The quark used for storing/getting the custom properties of custom types. --static const GQuark custom_properties_quark = -- g_quark_from_string("gtkmm_CustomObject_custom_properties"); -+static const GQuark& custom_properties_quark() { -+ static const GQuark custom_properties_quark_ = g_quark_from_string("gtkmm_CustomObject_custom_properties"); -+ return custom_properties_quark_; -+} - - // Delete the custom properties data when an object of a custom type is finalized. - void destroy_notify_obj_custom_props(void* data) -@@ -111,12 +113,12 @@ custom_properties_type* - get_obj_custom_props(GObject* obj) - { - auto obj_custom_props = -- static_cast(g_object_get_qdata(obj, custom_properties_quark)); -+ static_cast(g_object_get_qdata(obj, custom_properties_quark())); - if (!obj_custom_props) - { - obj_custom_props = new custom_properties_type(); - g_object_set_qdata_full( -- obj, custom_properties_quark, obj_custom_props, destroy_notify_obj_custom_props); -+ obj, custom_properties_quark(), obj_custom_props, destroy_notify_obj_custom_props); - } - return obj_custom_props; - } -diff --git a/untracked/gio/giomm/application.cc b/untracked/gio/giomm/application.cc -index 43ae9df..0d12c9d 100644 ---- a/untracked/gio/giomm/application.cc -+++ b/untracked/gio/giomm/application.cc -@@ -51,8 +51,13 @@ struct ExtraApplicationData - } - }; - --GQuark quark_extra_application_data = -- g_quark_from_string("glibmm__Gio::Application::quark_extra_application_data"); -+static GQuark& -+quark_extra_application_data() -+{ -+ static GQuark quark_extra_application_data_ = -+ g_quark_from_string("glibmm__Gio::Application::quark_extra_application_data"); -+ return quark_extra_application_data_; -+} - - void - Application_delete_extra_application_data(gpointer data) -@@ -465,11 +470,11 @@ Application::add_main_option_entry_private(GOptionArg arg, const Glib::ustring& - gchar* arg_desc = arg_description.empty() ? nullptr : g_strdup(arg_description.c_str()); - - ExtraApplicationData* extra_application_data = -- static_cast(g_object_get_qdata(gobject_, quark_extra_application_data)); -+ static_cast(g_object_get_qdata(gobject_, quark_extra_application_data())); - if (!extra_application_data) - { - extra_application_data = new ExtraApplicationData(); -- g_object_set_qdata_full(gobject_, quark_extra_application_data, extra_application_data, -+ g_object_set_qdata_full(gobject_, quark_extra_application_data(), extra_application_data, - Application_delete_extra_application_data); - } - -@@ -1546,5 +1551,3 @@ void Gio::Application::run_mainloop_vfunc() - - - } // namespace Gio -- -- -diff --git a/untracked/glib/glibmm/binding.cc b/untracked/glib/glibmm/binding.cc -index d0d4f47..0528893 100644 ---- a/untracked/glib/glibmm/binding.cc -+++ b/untracked/glib/glibmm/binding.cc -@@ -29,7 +29,10 @@ - namespace - { - // TODO: When we can break ABI, replace this GQuark by a new data member in Glib::Binding. --GQuark quark_manage = g_quark_from_string("glibmm__Glib::Binding::manage"); -+GQuark& quark_manage() { -+ static GQuark quark_manage_ = g_quark_from_string("glibmm__Glib::Binding::manage"); -+ return quark_manage_; -+} - - struct BindingTransformSlots - { -@@ -150,7 +153,7 @@ Binding::unbind() - void - Binding::unreference() const - { -- if (!g_object_get_qdata(gobject_, quark_manage)) -+ if (!g_object_get_qdata(gobject_, quark_manage())) - { - GBinding* const binding = const_cast(gobj()); - -@@ -168,7 +171,7 @@ void - Binding::set_manage() - { - // Any pointer can be set, just not nullptr. -- g_object_set_qdata(gobject_, quark_manage, this); -+ g_object_set_qdata(gobject_, quark_manage(), this); - } - - const Glib::RefPtr& diff --git a/recipes/glibmm/all/patches/fix_initialization_order_fiasco_2_72_1.patch b/recipes/glibmm/all/patches/fix_initialization_order_fiasco_2_72_1.patch deleted file mode 100644 index e2f8e705abbe0..0000000000000 --- a/recipes/glibmm/all/patches/fix_initialization_order_fiasco_2_72_1.patch +++ /dev/null @@ -1,95 +0,0 @@ -Author: Hesham -Date: Fri May 6 19:37:32 2022 +0000 - - Fix initialization order fiasco - - By default global static initialization with shared libraries begins down - the linking chain upwards, so that the deepest dependency initializes first - This is not guaranteed with static libraries, which might cause glibmm to - initialize before glib. This fix uses lazy initialization for static vars - in glibmm that depend on glib. - -diff --git a/glib/glibmm/class.cc b/glib/glibmm/class.cc -index 36c3c4b..f735129 100644 ---- a/glib/glibmm/class.cc -+++ b/glib/glibmm/class.cc -@@ -157,7 +157,11 @@ Class::clone_custom_type( - } - - // Initialize the static quark to store/get custom type properties. -+#if GLIB_STATIC_COMPILATION -+GQuark Class::iface_properties_quark = 0; -+#else - GQuark Class::iface_properties_quark = g_quark_from_string("gtkmm_CustomObject_iface_properties"); -+#endif - - // static - void -diff --git a/glib/glibmm/init.cc b/glib/glibmm/init.cc -index 0b34447..6b70a4c 100644 ---- a/glib/glibmm/init.cc -+++ b/glib/glibmm/init.cc -@@ -14,12 +14,17 @@ - * License along with this library. If not, see . - */ - -+#include - #include - #include - #include - #include - #include - -+#if GLIB_STATIC_COMPILATION -+#include -+#endif -+ - namespace - { - bool init_to_users_preferred_locale = true; -@@ -45,6 +50,11 @@ void init() - if (is_initialized) - return; - -+#if GLIB_STATIC_COMPILATION -+ Glib::Class::iface_properties_quark = -+ g_quark_from_string("gtkmm_CustomObject_iface_properties"); -+#endif -+ - if (init_to_users_preferred_locale) - { - try -diff --git a/glib/glibmm/property.cc b/glib/glibmm/property.cc -index 56dad84..630b35b 100644 ---- a/glib/glibmm/property.cc -+++ b/glib/glibmm/property.cc -@@ -89,8 +89,12 @@ struct custom_properties_type - }; - - // The quark used for storing/getting the custom properties of custom types. --static const GQuark custom_properties_quark = -- g_quark_from_string("gtkmm_CustomObject_custom_properties"); -+static const GQuark& -+custom_properties_quark() -+{ -+ static GQuark custom_properties_quark_ = g_quark_from_string("gtkmm_CustomObject_custom_properties"); -+ return custom_properties_quark_; -+} - - // Delete the custom properties data when an object of a custom type is finalized. - void destroy_notify_obj_custom_props(void* data) -@@ -111,12 +115,12 @@ custom_properties_type* - get_obj_custom_props(GObject* obj) - { - auto obj_custom_props = -- static_cast(g_object_get_qdata(obj, custom_properties_quark)); -+ static_cast(g_object_get_qdata(obj, custom_properties_quark())); - if (!obj_custom_props) - { - obj_custom_props = new custom_properties_type(); - g_object_set_qdata_full( -- obj, custom_properties_quark, obj_custom_props, destroy_notify_obj_custom_props); -+ obj, custom_properties_quark(), obj_custom_props, destroy_notify_obj_custom_props); - } - return obj_custom_props; - } diff --git a/recipes/glibmm/all/patches/fix_initialization_order_fiasco_2_75_0.patch b/recipes/glibmm/all/patches/fix_initialization_order_fiasco_2_75_0.patch deleted file mode 100644 index 6a24ae04d3038..0000000000000 --- a/recipes/glibmm/all/patches/fix_initialization_order_fiasco_2_75_0.patch +++ /dev/null @@ -1,84 +0,0 @@ -diff --git a/glib/glibmm/class.cc b/glib/glibmm/class.cc -index 31f92c61..f5befb2d 100644 ---- a/glib/glibmm/class.cc -+++ b/glib/glibmm/class.cc -@@ -166,7 +166,11 @@ Class::clone_custom_type( - } - - // Initialize the static quark to store/get custom type properties. -+#if GLIB_STATIC_COMPILATION -+GQuark Class::iface_properties_quark = 0; -+#else - GQuark Class::iface_properties_quark = g_quark_from_string("gtkmm_CustomObject_iface_properties"); -+#endif - - // static - void -diff --git a/glib/glibmm/init.cc b/glib/glibmm/init.cc -index 0b34447d..6b70a4c2 100644 ---- a/glib/glibmm/init.cc -+++ b/glib/glibmm/init.cc -@@ -14,12 +14,17 @@ - * License along with this library. If not, see . - */ - -+#include - #include - #include - #include - #include - #include - -+#if GLIB_STATIC_COMPILATION -+#include -+#endif -+ - namespace - { - bool init_to_users_preferred_locale = true; -@@ -45,6 +50,11 @@ void init() - if (is_initialized) - return; - -+#if GLIB_STATIC_COMPILATION -+ Glib::Class::iface_properties_quark = -+ g_quark_from_string("gtkmm_CustomObject_iface_properties"); -+#endif -+ - if (init_to_users_preferred_locale) - { - try -diff --git a/glib/glibmm/property.cc b/glib/glibmm/property.cc -index 56dad849..630b35b1 100644 ---- a/glib/glibmm/property.cc -+++ b/glib/glibmm/property.cc -@@ -89,8 +89,12 @@ struct custom_properties_type - }; - - // The quark used for storing/getting the custom properties of custom types. --static const GQuark custom_properties_quark = -- g_quark_from_string("gtkmm_CustomObject_custom_properties"); -+static const GQuark& -+custom_properties_quark() -+{ -+ static GQuark custom_properties_quark_ = g_quark_from_string("gtkmm_CustomObject_custom_properties"); -+ return custom_properties_quark_; -+} - - // Delete the custom properties data when an object of a custom type is finalized. - void destroy_notify_obj_custom_props(void* data) -@@ -111,12 +115,12 @@ custom_properties_type* - get_obj_custom_props(GObject* obj) - { - auto obj_custom_props = -- static_cast(g_object_get_qdata(obj, custom_properties_quark)); -+ static_cast(g_object_get_qdata(obj, custom_properties_quark())); - if (!obj_custom_props) - { - obj_custom_props = new custom_properties_type(); - g_object_set_qdata_full( -- obj, custom_properties_quark, obj_custom_props, destroy_notify_obj_custom_props); -+ obj, custom_properties_quark(), obj_custom_props, destroy_notify_obj_custom_props); - } - return obj_custom_props; - } diff --git a/recipes/glibmm/config.yml b/recipes/glibmm/config.yml index 6aaa4e9d859bb..c3ca69bc81afd 100644 --- a/recipes/glibmm/config.yml +++ b/recipes/glibmm/config.yml @@ -1,4 +1,6 @@ versions: + "2.78.1": + folder: "all" "2.75.0": folder: "all" "2.72.1": From c8c7b84dc23c635031ca5f2cd2d31168d2e9c8f0 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Wed, 3 Jul 2024 08:50:35 +0300 Subject: [PATCH 036/641] (#24465) Qt5: fix incorrectly added qtaudio_alsa and gstcamerabin plugin libs --- recipes/qt/5.x.x/conanfile.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/recipes/qt/5.x.x/conanfile.py b/recipes/qt/5.x.x/conanfile.py index f2324d805d008..99b31fa742027 100644 --- a/recipes/qt/5.x.x/conanfile.py +++ b/recipes/qt/5.x.x/conanfile.py @@ -1378,8 +1378,10 @@ def _create_plugin(pluginname, libname, plugintype, requires): _create_plugin("QGstreamerCaptureServicePlugin", "gstmediacapture", "mediaservice", []) _create_plugin("QGstreamerPlayerServicePlugin", "gstmediaplayer", "mediaservice", []) if self.settings.os == "Linux": - _create_plugin("CameraBinServicePlugin", "gstcamerabin", "mediaservice", []) - _create_plugin("QAlsaPlugin", "qtaudio_alsa", "audio", []) + if self.options.with_gstreamer: + _create_plugin("CameraBinServicePlugin", "gstcamerabin", "mediaservice", []) + if self.options.get_safe("with_libalsa", False): + _create_plugin("QAlsaPlugin", "qtaudio_alsa", "audio", []) if self.settings.os == "Windows": _create_plugin("AudioCaptureServicePlugin", "qtmedia_audioengine", "mediaservice", []) _create_plugin("DSServicePlugin", "dsengine", "mediaservice", []) From 7c3c17fb8f57ca00049f3ad1e76a211bd9fcb262 Mon Sep 17 00:00:00 2001 From: Marian Klymov Date: Wed, 3 Jul 2024 09:11:44 +0300 Subject: [PATCH 037/641] (#24493) xsimd: simplify test_package --- recipes/xsimd/all/conanfile.py | 6 ----- .../xsimd/all/test_package/test_package.cpp | 24 ++++++------------- 2 files changed, 7 insertions(+), 23 deletions(-) diff --git a/recipes/xsimd/all/conanfile.py b/recipes/xsimd/all/conanfile.py index ac136a09b4f10..b22729f3e5ce1 100644 --- a/recipes/xsimd/all/conanfile.py +++ b/recipes/xsimd/all/conanfile.py @@ -56,12 +56,6 @@ def validate(self): if Version(self.version) < "8.0.0" and is_apple_os(self) and self.settings.arch in ["armv8", "armv8_32", "armv8.3"]: raise ConanInvalidConfiguration(f"{self.ref} doesn't support macOS M1") - # TODO: There are compilation errors on apple-clang/13.0.0 with cppstd=17 - if self.settings.compiler == "apple-clang" and \ - Version(self.settings.compiler.version).major <= "13" and \ - self.settings.compiler.get_safe("cppstd") in ["17", "gnu17", "20", "gnu20",]: - raise ConanInvalidConfiguration(f"{self.ref} doesn't support apple-clang 13 with cppstd=17 or later") - if self.settings.compiler.get_safe("cppstd"): check_min_cppstd(self, self._min_cppstd) minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) diff --git a/recipes/xsimd/all/test_package/test_package.cpp b/recipes/xsimd/all/test_package/test_package.cpp index be0d55dea1818..ed1e514c89b74 100644 --- a/recipes/xsimd/all/test_package/test_package.cpp +++ b/recipes/xsimd/all/test_package/test_package.cpp @@ -1,27 +1,17 @@ #include "xsimd/xsimd.hpp" #include -namespace xs = xsimd; - -#if XSIMD_VERSION_MAJOR >= 9 && (XSIMD_WITH_NEON64 || XSIMD_WITH_NEON) -using number_type = float; -#else -using number_type = double; -#endif - int main(int argc, char *argv[]) { + namespace xs = xsimd; #if XSIMD_VERSION_MAJOR < 8 - xs::batch a(1.5, 2.5, 3.5, 4.5); - xs::batch b(2.5, 3.5, 4.5, 5.5); -#elif XSIMD_VERSION_MAJOR < 9 - xs::batch a({1.5, 2.5, 3.5, 4.5}); - xs::batch b({2.5, 3.5, 4.5, 5.5}); + xs::batch a(1., 1.); + xs::batch b(2., 2.); #else - xs::batch a{1.5, 2.5, 3.5, 4.5}; - xs::batch b{2.5, 3.5, 4.5, 5.5}; + auto a = xs::broadcast(1.); + auto b = xs::broadcast(2.); #endif - auto mean = (a + b) / 2; - std::cout << mean << std::endl; + auto mean = (a + b) / 2.; + std::cout << "Mean: " << mean << std::endl; return 0; } From 3d67af79049b224fb8a3f049e9f52d1fd4c08bcc Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 3 Jul 2024 16:34:21 +0900 Subject: [PATCH 038/641] (#24463) pybind11: add version 2.13.1 --- recipes/pybind11/all/conandata.yml | 51 ++++++++++--------- recipes/pybind11/all/conanfile.py | 13 ++--- .../pybind11/all/test_package/CMakeLists.txt | 4 +- recipes/pybind11/config.yml | 18 ++++--- 4 files changed, 47 insertions(+), 39 deletions(-) diff --git a/recipes/pybind11/all/conandata.yml b/recipes/pybind11/all/conandata.yml index ad2c426df1a16..c44f76e084fcf 100644 --- a/recipes/pybind11/all/conandata.yml +++ b/recipes/pybind11/all/conandata.yml @@ -1,28 +1,31 @@ sources: - "2.7.1": - url: "https://github.com/pybind/pybind11/archive/v2.7.1.tar.gz" - sha256: "616d1c42e4cf14fa27b2a4ff759d7d7b33006fdc5ad8fd603bb2c22622f27020" - "2.8.1": - url: "https://github.com/pybind/pybind11/archive/v2.8.1.tar.gz" - sha256: "f1bcc07caa568eb312411dde5308b1e250bd0e1bc020fae855bf9f43209940cc" - "2.9.1": - url: "https://github.com/pybind/pybind11/archive/v2.9.1.tar.gz" - sha256: "c6160321dc98e6e1184cc791fbeadd2907bb4a0ce0e447f2ea4ff8ab56550913" - "2.9.2": - url: "https://github.com/pybind/pybind11/archive/v2.9.2.tar.gz" - sha256: "6bd528c4dbe2276635dc787b6b1f2e5316cf6b49ee3e150264e455a0d68d19c1" - "2.10.0": - url: "https://github.com/pybind/pybind11/archive/v2.10.0.tar.gz" - sha256: "eacf582fa8f696227988d08cfc46121770823839fe9e301a20fbce67e7cd70ec" - "2.10.1": - url: "https://github.com/pybind/pybind11/archive/v2.10.1.tar.gz" - sha256: "111014b516b625083bef701df7880f78c2243835abdb263065b6b59b960b6bad" - "2.10.4": - url: "https://github.com/pybind/pybind11/archive/v2.10.4.tar.gz" - sha256: "832e2f309c57da9c1e6d4542dedd34b24e4192ecb4d62f6f4866a737454c9970" - "2.11.1": - url: "https://github.com/pybind/pybind11/archive/v2.11.1.tar.gz" - sha256: "d475978da0cdc2d43b73f30910786759d593a9d8ee05b1b6846d1eb16c6d2e0c" + "2.13.1": + url: "https://github.com/pybind/pybind11/archive/v2.13.1.tar.gz" + sha256: "51631e88960a8856f9c497027f55c9f2f9115cafb08c0005439838a05ba17bfc" "2.12.0": url: "https://github.com/pybind/pybind11/archive/v2.12.0.tar.gz" sha256: "bf8f242abd1abcd375d516a7067490fb71abd79519a282d22b6e4d19282185a7" + "2.11.1": + url: "https://github.com/pybind/pybind11/archive/v2.11.1.tar.gz" + sha256: "d475978da0cdc2d43b73f30910786759d593a9d8ee05b1b6846d1eb16c6d2e0c" + "2.10.4": + url: "https://github.com/pybind/pybind11/archive/v2.10.4.tar.gz" + sha256: "832e2f309c57da9c1e6d4542dedd34b24e4192ecb4d62f6f4866a737454c9970" + "2.10.1": + url: "https://github.com/pybind/pybind11/archive/v2.10.1.tar.gz" + sha256: "111014b516b625083bef701df7880f78c2243835abdb263065b6b59b960b6bad" + "2.10.0": + url: "https://github.com/pybind/pybind11/archive/v2.10.0.tar.gz" + sha256: "eacf582fa8f696227988d08cfc46121770823839fe9e301a20fbce67e7cd70ec" + "2.9.2": + url: "https://github.com/pybind/pybind11/archive/v2.9.2.tar.gz" + sha256: "6bd528c4dbe2276635dc787b6b1f2e5316cf6b49ee3e150264e455a0d68d19c1" + "2.9.1": + url: "https://github.com/pybind/pybind11/archive/v2.9.1.tar.gz" + sha256: "c6160321dc98e6e1184cc791fbeadd2907bb4a0ce0e447f2ea4ff8ab56550913" + "2.8.1": + url: "https://github.com/pybind/pybind11/archive/v2.8.1.tar.gz" + sha256: "f1bcc07caa568eb312411dde5308b1e250bd0e1bc020fae855bf9f43209940cc" + "2.7.1": + url: "https://github.com/pybind/pybind11/archive/v2.7.1.tar.gz" + sha256: "616d1c42e4cf14fa27b2a4ff759d7d7b33006fdc5ad8fd603bb2c22622f27020" diff --git a/recipes/pybind11/all/conanfile.py b/recipes/pybind11/all/conanfile.py index aa098ee90ec20..8dc874bff4b37 100644 --- a/recipes/pybind11/all/conanfile.py +++ b/recipes/pybind11/all/conanfile.py @@ -12,18 +12,22 @@ class PyBind11Conan(ConanFile): name = "pybind11" description = "Seamless operability between C++11 and Python" - topics = "pybind11", "python", "binding" - homepage = "https://github.com/pybind/pybind11" license = "BSD-3-Clause" url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/pybind/pybind11" + topics = ("pybind11", "python", "binding", "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], destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): tc = CMakeToolchain(self) @@ -54,9 +58,6 @@ def package(self): "add_library(", "# add_library(") - def package_id(self): - self.info.clear() - def package_info(self): cmake_base_path = os.path.join("lib", "cmake", "pybind11") self.cpp_info.set_property("cmake_target_name", "pybind11_all_do_not_use") diff --git a/recipes/pybind11/all/test_package/CMakeLists.txt b/recipes/pybind11/all/test_package/CMakeLists.txt index e8d17d781285f..a0ddd8851c031 100644 --- a/recipes/pybind11/all/test_package/CMakeLists.txt +++ b/recipes/pybind11/all/test_package/CMakeLists.txt @@ -1,5 +1,7 @@ cmake_minimum_required(VERSION 3.15) -project(test_package CXX) +project(test_package LANGUAGES CXX) + find_package(pybind11 REQUIRED CONFIG) + pybind11_add_module(test_package MODULE test_package.cpp) set_property(TARGET test_package PROPERTY CXX_STANDARD 11) diff --git a/recipes/pybind11/config.yml b/recipes/pybind11/config.yml index adf07a18a08dd..975b39f3ad740 100644 --- a/recipes/pybind11/config.yml +++ b/recipes/pybind11/config.yml @@ -1,19 +1,21 @@ versions: - "2.7.1": + "2.13.1": folder: all - "2.8.1": + "2.12.0": folder: all - "2.9.1": + "2.11.1": folder: all - "2.9.2": + "2.10.4": + folder: all + "2.10.1": folder: all "2.10.0": folder: all - "2.10.1": + "2.9.2": folder: all - "2.10.4": + "2.9.1": folder: all - "2.11.1": + "2.8.1": folder: all - "2.12.0": + "2.7.1": folder: all From 8494ff31382fd94648ab384871b0a415cf848c38 Mon Sep 17 00:00:00 2001 From: Ingmar Rieger Date: Wed, 3 Jul 2024 09:50:12 +0200 Subject: [PATCH 039/641] (#24490) OpenImageIO: Add version 2.5.13.0 --- recipes/openimageio/all/conandata.yml | 8 ++++++++ recipes/openimageio/config.yml | 2 ++ 2 files changed, 10 insertions(+) diff --git a/recipes/openimageio/all/conandata.yml b/recipes/openimageio/all/conandata.yml index 4e74c06626a1e..fff916ce447bb 100644 --- a/recipes/openimageio/all/conandata.yml +++ b/recipes/openimageio/all/conandata.yml @@ -20,6 +20,9 @@ sources: "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" patches: "2.4.7.1": - patch_file: "patches/2.4.7.1-cmake-targets.patch" @@ -52,3 +55,8 @@ 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.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)" + patch_type: "conan" + diff --git a/recipes/openimageio/config.yml b/recipes/openimageio/config.yml index ec42f230247fb..c3baaee7f7c7d 100644 --- a/recipes/openimageio/config.yml +++ b/recipes/openimageio/config.yml @@ -13,3 +13,5 @@ versions: folder: all "2.5.12.0": folder: all + "2.5.13.0": + folder: all From d69bebab0c74ea6d381ec4281f9bee27bd087af5 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 3 Jul 2024 17:11:07 +0900 Subject: [PATCH 040/641] (#24492) daw_header_libraries: add version 2.106.1, remove older versions --- .../daw_header_libraries/all/conandata.yml | 30 ++----------------- recipes/daw_header_libraries/all/conanfile.py | 6 +--- recipes/daw_header_libraries/config.yml | 20 ++----------- 3 files changed, 6 insertions(+), 50 deletions(-) diff --git a/recipes/daw_header_libraries/all/conandata.yml b/recipes/daw_header_libraries/all/conandata.yml index 335d9cb66c88f..7a91f0409f234 100644 --- a/recipes/daw_header_libraries/all/conandata.yml +++ b/recipes/daw_header_libraries/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.106.1": + url: "https://github.com/beached/header_libraries/archive/v2.106.1.tar.gz" + sha256: "393815fbf249ca1220a216899cae3d2672ca193f9db228a0b99925a9b0f90854" "2.106.0": url: "https://github.com/beached/header_libraries/archive/v2.106.0.tar.gz" sha256: "7838ada09afa69e7a42d742991c4b24b32ba27681e7b4dadf7b1e45c168937b5" @@ -14,30 +17,3 @@ sources: "2.96.1": url: "https://github.com/beached/header_libraries/archive/v2.96.1.tar.gz" sha256: "2a9a5c33baa9e3adc1d82fa13a56522638af13cc39372a0c1c8f5c5d984f1464" - "2.95.0": - url: "https://github.com/beached/header_libraries/archive/v2.95.0.tar.gz" - sha256: "8799c06f0587b202fd6049d95e70b04675acbfdbf6e86ac3bbd061cbb9d42b54" - "2.93.1": - url: "https://github.com/beached/header_libraries/archive/v2.93.1.tar.gz" - sha256: "200690094237e4a2c37ac81c23c8c5138ba90ccdeeb2a1dda37690a9d32301ad" - "2.92.0": - url: "https://github.com/beached/header_libraries/archive/v2.92.0.tar.gz" - sha256: "96835f0ff4d3082a38b4ef4c14653c88e193cd26a08cd406fdbfadcfd654d136" - "2.88.0": - url: "https://github.com/beached/header_libraries/archive/v2.88.0.tar.gz" - sha256: "2a634763f3d34f206f6b352ac9609a89d501059afea0ba7c857bd55adc435890" - "2.85.1": - url: "https://github.com/beached/header_libraries/archive/v2.85.1.tar.gz" - sha256: "fb4880e254a481e3c750261fdb75a1696afc9ef4404e095a7f3ba0683bcd9930" - "2.79.0": - url: "https://github.com/beached/header_libraries/archive/v2.79.0.tar.gz" - sha256: "2dfa8fc9495499379cff39ed648c6bba156a87eb177fc91a860045a410aebb99" - "2.76.3": - url: "https://github.com/beached/header_libraries/archive/v2.76.3.tar.gz" - sha256: "2d66f9aec38fb9a42779e0283fa2fc5842e04d34f2bf655c72a9beb4bf5cc8c8" - "2.76.2": - url: "https://github.com/beached/header_libraries/archive/v2.76.2.tar.gz" - sha256: "bfa2da192360a66e400d03a52f8a7bf0fccd23de1f446a812a8890b11df2c592" - "2.74.2": - url: "https://github.com/beached/header_libraries/archive/v2.74.2.tar.gz" - sha256: "32871df3d314cc9b4e293a9a8c79968d1c963dfd3dd60965dbf704eb18acb218" diff --git a/recipes/daw_header_libraries/all/conanfile.py b/recipes/daw_header_libraries/all/conanfile.py index b6840ea09fa55..98257810d2c5a 100644 --- a/recipes/daw_header_libraries/all/conanfile.py +++ b/recipes/daw_header_libraries/all/conanfile.py @@ -16,7 +16,7 @@ class DawHeaderLibrariesConan(ConanFile): license = "BSL-1.0" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/beached/header_libraries" - topics = ("algorithms", "helpers", "data-structures") + topics = ("algorithms", "helpers", "data-structures", "header-only") package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True @@ -44,7 +44,6 @@ def package_id(self): def validate(self): if self.settings.get_safe("compiler.cppstd"): check_min_cppstd(self, self._min_cppstd) - minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) if minimum_version and Version(self.settings.get_safe("compiler.version")) < minimum_version: raise ConanInvalidConfiguration( @@ -54,9 +53,6 @@ def validate(self): def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) - def build(self): - pass - 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")) diff --git a/recipes/daw_header_libraries/config.yml b/recipes/daw_header_libraries/config.yml index 0cd95a38e7776..2d8e64c1e7c3e 100644 --- a/recipes/daw_header_libraries/config.yml +++ b/recipes/daw_header_libraries/config.yml @@ -1,4 +1,6 @@ versions: + "2.106.1": + folder: all "2.106.0": folder: all "2.101.0": @@ -9,21 +11,3 @@ versions: folder: all "2.96.1": folder: all - "2.95.0": - folder: all - "2.93.1": - folder: all - "2.92.0": - folder: all - "2.88.0": - folder: all - "2.85.1": - folder: all - "2.79.0": - folder: all - "2.76.3": - folder: all - "2.76.2": - folder: all - "2.74.2": - folder: all From e718b4ea7b9c33886fd4b7792022a3d116090755 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 3 Jul 2024 17:32:33 +0900 Subject: [PATCH 041/641] (#24497) zlib-ng: add version 2.2.1 --- recipes/zlib-ng/all/conandata.yml | 3 +++ recipes/zlib-ng/all/conanfile.py | 6 ++++++ recipes/zlib-ng/config.yml | 2 ++ 3 files changed, 11 insertions(+) diff --git a/recipes/zlib-ng/all/conandata.yml b/recipes/zlib-ng/all/conandata.yml index 381191af68011..3d65b1bcb2280 100644 --- a/recipes/zlib-ng/all/conandata.yml +++ b/recipes/zlib-ng/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.2.1": + url: "https://github.com/zlib-ng/zlib-ng/archive/refs/tags/2.2.1.tar.gz" + sha256: "ec6a76169d4214e2e8b737e0850ba4acb806c69eeace6240ed4481b9f5c57cdf" "2.1.7": url: "https://github.com/zlib-ng/zlib-ng/archive/refs/tags/2.1.7.tar.gz" sha256: "59e68f67cbb16999842daeb517cdd86fc25b177b4affd335cd72b76ddc2a46d8" diff --git a/recipes/zlib-ng/all/conanfile.py b/recipes/zlib-ng/all/conanfile.py index 542293ad6b5d0..bee52f1ca8321 100644 --- a/recipes/zlib-ng/all/conanfile.py +++ b/recipes/zlib-ng/all/conanfile.py @@ -28,6 +28,7 @@ class ZlibNgConan(ConanFile): "with_new_strategies": [True, False], "with_native_instructions": [True, False], "with_reduced_mem": [True, False], + "with_runtime_cpu_detection": [True, False], } default_options = { "shared": False, @@ -38,6 +39,7 @@ class ZlibNgConan(ConanFile): "with_new_strategies": True, "with_native_instructions": False, "with_reduced_mem": False, + "with_runtime_cpu_detection": True, } def config_options(self): @@ -45,6 +47,8 @@ def config_options(self): del self.options.fPIC if Version(self.version) < "2.1.0": del self.options.with_reduced_mem + if Version(self.version) < "2.2.1": + del self.options.with_runtime_cpu_detection def configure(self): if self.options.shared: @@ -76,6 +80,8 @@ def generate(self): tc.variables["WITH_NATIVE_INSTRUCTIONS"] = self.options.with_native_instructions if Version(self.version) >= "2.1.0": tc.variables["WITH_REDUCED_MEM"] = self.options.with_reduced_mem + if Version(self.version) >= "2.2.1": + tc.variables["WITH_RUNTIME_CPU_DETECTION"] = self.options.with_runtime_cpu_detection tc.generate() def build(self): diff --git a/recipes/zlib-ng/config.yml b/recipes/zlib-ng/config.yml index fb2bcda46ea96..ff1fc8adbb40a 100644 --- a/recipes/zlib-ng/config.yml +++ b/recipes/zlib-ng/config.yml @@ -1,4 +1,6 @@ versions: + "2.2.1": + folder: all "2.1.7": folder: all "2.1.6": From a4b4b08fdf08e76c6e434b689b8863979cdf0833 Mon Sep 17 00:00:00 2001 From: Christopher Bradfield <11827031+cjbradfield@users.noreply.github.com> Date: Wed, 3 Jul 2024 02:03:24 -0700 Subject: [PATCH 042/641] (#19490) Add an option to support QUIC protocol to wolfssl * Add an option to support QUIC protocol to wolfssl * Fix self.options override and error message --------- Co-authored-by: PerseoGI Co-authored-by: Francisco Ramirez de Anton --- recipes/wolfssl/all/conanfile.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/recipes/wolfssl/all/conanfile.py b/recipes/wolfssl/all/conanfile.py index 3ec9c448508a0..af1ac29b52447 100644 --- a/recipes/wolfssl/all/conanfile.py +++ b/recipes/wolfssl/all/conanfile.py @@ -40,6 +40,7 @@ class WolfSSLConan(ConanFile): "sni": [True, False], "testcert": [True, False], "with_curl": [True, False], + "with_quic": [True, False], "with_experimental": [True, False], } default_options = { @@ -58,6 +59,7 @@ class WolfSSLConan(ConanFile): "sni": False, "testcert": False, "with_curl": False, + "with_quic": False, "with_experimental": False, } @@ -70,6 +72,8 @@ def config_options(self): del self.options.fPIC if Version(self.version) < "5.2.0": del self.options.with_curl + if Version(self.version) < "5.5.0": + del self.options.with_quic if Version(self.version) < "5.7.0": del self.options.with_experimental @@ -112,7 +116,7 @@ def generate(self): "--enable-sslv3={}".format(yes_no(self.options.sslv3)), "--enable-alpn={}".format(yes_no(self.options.alpn)), "--enable-des3={}".format(yes_no(self.options.des3)), - "--enable-tls13={}".format(yes_no(self.options.tls13)), + "--enable-tls13={}".format(yes_no(self.options.tls13 or self.options.get_safe("with_quic"))), "--enable-certgen={}".format(yes_no(self.options.certgen)), "--enable-dsa={}".format(yes_no(self.options.dsa)), "--enable-ripemd={}".format(yes_no(self.options.ripemd)), @@ -124,6 +128,8 @@ def generate(self): ]) if self.options.get_safe("with_curl"): tc.configure_args.append("--enable-curl") + if self.options.get_safe("with_quic"): + tc.configure_args.append("--enable-quic") if self.options.get_safe("with_experimental"): tc.configure_args.append("--enable-experimental") if is_msvc(self): From ef2ae81ddf20c44e5d4ac50d8082cfca87ace342 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Wed, 3 Jul 2024 17:02:15 +0300 Subject: [PATCH 043/641] (#18820) pagmo2: migrate to Conan v2 * pagmo2: migrate to Conan v2 * pagmo2: require boost::boost as a fix for MSVC linker issues * pagmo2: tweak compiler validation * pagmo2: add v2.19.0, disable MSVC shared build * pagmo2: MSVC shared builds are broken * pagmo2: bump boost and onetbb versions --- recipes/pagmo2/all/CMakeLists.txt | 7 - recipes/pagmo2/all/conandata.yml | 3 + recipes/pagmo2/all/conanfile.py | 160 ++++++++++-------- .../pagmo2/all/test_package/CMakeLists.txt | 9 +- recipes/pagmo2/all/test_package/conanfile.py | 19 ++- .../pagmo2/all/test_v1_package/CMakeLists.txt | 8 + .../pagmo2/all/test_v1_package/conanfile.py | 17 ++ recipes/pagmo2/config.yml | 2 + recipes/pagmo2/pre_2.11/CMakeLists.txt | 7 - recipes/pagmo2/pre_2.11/conandata.yml | 1 - recipes/pagmo2/pre_2.11/conanfile.py | 112 ++++++------ .../pre_2.11/test_package/CMakeLists.txt | 7 +- .../pagmo2/pre_2.11/test_package/conanfile.py | 19 ++- .../pre_2.11/test_v1_package/CMakeLists.txt | 8 + .../pre_2.11/test_v1_package/conanfile.py | 17 ++ 15 files changed, 235 insertions(+), 161 deletions(-) delete mode 100644 recipes/pagmo2/all/CMakeLists.txt create mode 100644 recipes/pagmo2/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/pagmo2/all/test_v1_package/conanfile.py delete mode 100644 recipes/pagmo2/pre_2.11/CMakeLists.txt create mode 100644 recipes/pagmo2/pre_2.11/test_v1_package/CMakeLists.txt create mode 100644 recipes/pagmo2/pre_2.11/test_v1_package/conanfile.py diff --git a/recipes/pagmo2/all/CMakeLists.txt b/recipes/pagmo2/all/CMakeLists.txt deleted file mode 100644 index b71c882d9d33f..0000000000000 --- a/recipes/pagmo2/all/CMakeLists.txt +++ /dev/null @@ -1,7 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(cmake_wrapper) - -include(conanbuildinfo.cmake) -conan_basic_setup(KEEP_RPATHS) - -add_subdirectory(source_subfolder) diff --git a/recipes/pagmo2/all/conandata.yml b/recipes/pagmo2/all/conandata.yml index a610a9ffc5a7b..26d2bd85a3ccc 100644 --- a/recipes/pagmo2/all/conandata.yml +++ b/recipes/pagmo2/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.19.0": + url: "https://github.com/esa/pagmo2/archive/refs/tags/v2.19.0.tar.gz" + sha256: "701ada528de7d454201e92a5d88903dd1c22ea64f43861d9694195ddfef82a70" "2.17.0": url: "https://github.com/esa/pagmo2/archive/refs/tags/v2.17.0.tar.gz" sha256: "1b95b036f75e6fa0b21082ab228dbd63cd18ca10d9622ac53629245e0f95c35c" diff --git a/recipes/pagmo2/all/conanfile.py b/recipes/pagmo2/all/conanfile.py index 08b268962bb1c..b0c859b99c54f 100644 --- a/recipes/pagmo2/all/conanfile.py +++ b/recipes/pagmo2/all/conanfile.py @@ -1,19 +1,25 @@ -from conans import ConanFile, CMake, tools -from conans.errors import ConanInvalidConfiguration -import functools import os -required_conan_version = ">=1.43.0" +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import check_min_cppstd +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.files import copy, get, replace_in_file, rmdir +from conan.tools.microsoft import is_msvc +from conan.tools.scm import Version + +required_conan_version = ">=1.53.0" class Pagmo2Conan(ConanFile): name = "pagmo2" description = "pagmo is a C++ scientific library for massively parallel optimization." license = ("LGPL-3.0-or-later", "GPL-3.0-or-later") - topics = ("pagmo", "optimization", "parallel-computing", "genetic-algorithm", "metaheuristics") - homepage = "https://esa.github.io/pagmo2" url = "https://github.com/conan-io/conan-center-index" + homepage = "https://esa.github.io/pagmo2" + topics = ("pagmo", "optimization", "parallel-computing", "genetic-algorithm", "metaheuristics") + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -30,12 +36,15 @@ class Pagmo2Conan(ConanFile): "with_ipopt": False, } - exports_sources = "CMakeLists.txt" - generators = "cmake", "cmake_find_package", "cmake_find_package_multi" - @property - def _source_subfolder(self): - return "source_subfolder" + def _compilers_minimum_version(self): + return { + "Visual Studio": "15.7", + "msvc": "191", + "gcc": "7", + "clang": "5.0", + "apple-clang": "9", + } def config_options(self): if self.settings.os == "Windows": @@ -43,24 +52,18 @@ def config_options(self): def configure(self): if self.options.shared: - del self.options.fPIC + self.options.rm_safe("fPIC") + + def layout(self): + cmake_layout(self, src_folder="src") def requirements(self): - self.requires("boost/1.78.0") - self.requires("onetbb/2020.3") + self.requires("boost/1.85.0", transitive_headers=True) + self.requires("onetbb/2021.12.0") if self.options.with_eigen: - self.requires("eigen/3.4.0") + self.requires("eigen/3.4.0", transitive_headers=True) if self.options.with_nlopt: - self.requires("nlopt/2.7.1") - - @property - def _compilers_minimum_version(self): - return { - "Visual Studio": "15.7", - "gcc": "7", - "clang": "5.0", - "apple-clang": "9.1" - } + self.requires("nlopt/2.7.1", transitive_headers=True, transitive_libs=True) @property def _required_boost_components(self): @@ -68,86 +71,95 @@ def _required_boost_components(self): def validate(self): if self.settings.compiler.get_safe("cppstd"): - tools.check_min_cppstd(self, 17) - - def lazy_lt_semver(v1, v2): - lv1 = [int(v) for v in v1.split(".")] - lv2 = [int(v) for v in v2.split(".")] - min_length = min(len(lv1), len(lv2)) - return lv1[:min_length] < lv2[:min_length] + check_min_cppstd(self, 17) minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) - if not minimum_version: - self.output.warn("{} {} requires C++17. Your compiler is unknown. Assuming it supports C++17.".format(self.name, self.version)) - elif lazy_lt_semver(str(self.settings.compiler.version), minimum_version): - raise ConanInvalidConfiguration("{} {} requires C++17, which your compiler does not support.".format(self.name, self.version)) + if minimum_version and Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration( + f"{self.name} {self.version} requires C++17, which your compiler does not support." + ) # TODO: add ipopt support if self.options.with_ipopt: raise ConanInvalidConfiguration("ipopt recipe not available yet in CCI") - miss_boost_required_comp = any(getattr(self.options["boost"], "without_{}".format(boost_comp), True) for boost_comp in self._required_boost_components) - if self.options["boost"].header_only or miss_boost_required_comp: - raise ConanInvalidConfiguration("{0} requires non header-only boost with these components: {1}".format(self.name, ", ".join(self._required_boost_components))) + miss_boost_required_comp = any( + self.dependencies["boost"].options.get_safe(f"without_{boost_comp}", True) + for boost_comp in self._required_boost_components + ) + if self.dependencies["boost"].options.header_only or miss_boost_required_comp: + raise ConanInvalidConfiguration( + "{0} requires non header-only boost with these components: {1}".format( + self.name, ", ".join(self._required_boost_components) + ) + ) + + if is_msvc(self) and self.options.shared: + # test_package.obj : error LNK2019: unresolved external symbol "public: __cdecl boost::archive::codecvt_null::codecvt_null(unsigned __int64)" + # https://github.com/boostorg/serialization/issues/232 + # https://github.com/conda-forge/scipoptsuite-feedstock/pull/44 + raise ConanInvalidConfiguration("Shared builds are currently broken on MSVC") def source(self): - tools.get(**self.conan_data["sources"][self.version], - destination=self._source_subfolder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + tc.variables["PAGMO_BUILD_TESTS"] = False + tc.variables["PAGMO_BUILD_BENCHMARKS"] = False + tc.variables["PAGMO_BUILD_TUTORIALS"] = False + tc.variables["PAGMO_WITH_EIGEN3"] = self.options.with_eigen + tc.variables["PAGMO_WITH_NLOPT"] = self.options.with_nlopt + tc.variables["PAGMO_WITH_IPOPT"] = self.options.with_ipopt + tc.variables["PAGMO_ENABLE_IPO"] = False + tc.variables["PAGMO_BUILD_STATIC_LIBRARY"] = not self.options.shared + tc.generate() + tc = CMakeDeps(self) + tc.generate() def _patch_sources(self): # do not force MT runtime for static lib - tools.replace_in_file(os.path.join(self._source_subfolder, "CMakeLists.txt"), - "if(YACMA_COMPILER_IS_MSVC AND PAGMO_BUILD_STATIC_LIBRARY)", - "if(0)") + if Version(self.version) < "2.18": + replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), + "if(YACMA_COMPILER_IS_MSVC AND PAGMO_BUILD_STATIC_LIBRARY)", "if(0)") # No warnings as errors - yacma_cmake = os.path.join(self._source_subfolder, "cmake_modules", "yacma", "YACMACompilerLinkerSettings.cmake") - tools.replace_in_file(yacma_cmake, "list(APPEND _YACMA_CXX_FLAGS_DEBUG \"-Werror\")", "") - tools.replace_in_file(yacma_cmake, "_YACMA_CHECK_ENABLE_DEBUG_CXX_FLAG(/W4)", "") - tools.replace_in_file(yacma_cmake, "_YACMA_CHECK_ENABLE_DEBUG_CXX_FLAG(/WX)", "") - - @functools.lru_cache(1) - def _configure_cmake(self): - cmake = CMake(self) - cmake.definitions["PAGMO_BUILD_TESTS"] = False - cmake.definitions["PAGMO_BUILD_BENCHMARKS"] = False - cmake.definitions["PAGMO_BUILD_TUTORIALS"] = False - cmake.definitions["PAGMO_WITH_EIGEN3"] = self.options.with_eigen - cmake.definitions["PAGMO_WITH_NLOPT"] = self.options.with_nlopt - cmake.definitions["PAGMO_WITH_IPOPT"] = self.options.with_ipopt - cmake.definitions["PAGMO_ENABLE_IPO"] = False - cmake.definitions["PAGMO_BUILD_STATIC_LIBRARY"] = not self.options.shared - cmake.configure() - return cmake + yacma_cmake = os.path.join(self.source_folder, "cmake_modules", "yacma", "YACMACompilerLinkerSettings.cmake") + replace_in_file(self, yacma_cmake, 'list(APPEND _YACMA_CXX_FLAGS_DEBUG "-Werror")', "") + replace_in_file(self, yacma_cmake, "_YACMA_CHECK_ENABLE_DEBUG_CXX_FLAG(/W4)", "") + replace_in_file(self, yacma_cmake, "_YACMA_CHECK_ENABLE_DEBUG_CXX_FLAG(/WX)", "") def build(self): self._patch_sources() - cmake = self._configure_cmake() + cmake = CMake(self) + cmake.configure() cmake.build() def package(self): - self.copy(pattern="COPYING.*", dst="licenses", src=self._source_subfolder) - cmake = self._configure_cmake() + copy(self, "COPYING.*", + dst=os.path.join(self.package_folder, "licenses"), + src=self.source_folder) + cmake = CMake(self) cmake.install() - tools.rmdir(os.path.join(self.package_folder, "lib", "cmake")) + rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) def package_info(self): - self.cpp_info.set_property("cmake_file_name", "pagmo") + # https://esa.github.io/pagmo2/quickstart.html#using-pagmo-with-cmake + self.cpp_info.set_property("cmake_file_name", "Pagmo") self.cpp_info.set_property("cmake_target_name", "Pagmo::pagmo") - # TODO: back to global scope in conan v2 once cmake_find_package_* generators removed + self.cpp_info.components["_pagmo"].libs = ["pagmo"] - self.cpp_info.components["_pagmo"].requires = ["boost::headers", "boost::serialization", "onetbb::onetbb"] + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.components["_pagmo"].system_libs.append("pthread") + + # TODO: back to global scope in conan v2 once cmake_find_package_* generators removed + self.cpp_info.components["_pagmo"].requires = ["boost::boost", "onetbb::onetbb"] if self.options.with_eigen: self.cpp_info.components["_pagmo"].requires.append("eigen::eigen") if self.options.with_nlopt: self.cpp_info.components["_pagmo"].requires.append("nlopt::nlopt") - if self.settings.os in ["Linux", "FreeBSD"]: - self.cpp_info.components["_pagmo"].system_libs.append("pthread") - - # TODO: to remove in conan v2 once cmake_find_package_* generators removed self.cpp_info.filenames["cmake_find_package"] = "pagmo" self.cpp_info.filenames["cmake_find_package_multi"] = "pagmo" self.cpp_info.names["cmake_find_package"] = "Pagmo" self.cpp_info.names["cmake_find_package_multi"] = "Pagmo" self.cpp_info.components["_pagmo"].names["cmake_find_package"] = "pagmo" self.cpp_info.components["_pagmo"].names["cmake_find_package_multi"] = "pagmo" - self.cpp_info.components["_pagmo"].set_property("cmake_target_name", "Pagmo::pagmo") diff --git a/recipes/pagmo2/all/test_package/CMakeLists.txt b/recipes/pagmo2/all/test_package/CMakeLists.txt index e512e2207b158..73aa85822f44b 100644 --- a/recipes/pagmo2/all/test_package/CMakeLists.txt +++ b/recipes/pagmo2/all/test_package/CMakeLists.txt @@ -1,10 +1,7 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package) +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(pagmo REQUIRED CONFIG) +find_package(Pagmo REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) target_link_libraries(${PROJECT_NAME} Pagmo::pagmo) diff --git a/recipes/pagmo2/all/test_package/conanfile.py b/recipes/pagmo2/all/test_package/conanfile.py index 38f4483872d47..ef5d7042163ec 100644 --- a/recipes/pagmo2/all/test_package/conanfile.py +++ b/recipes/pagmo2/all/test_package/conanfile.py @@ -1,10 +1,19 @@ -from conans import ConanFile, CMake, tools +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake import os class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): cmake = CMake(self) @@ -12,6 +21,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/pagmo2/all/test_v1_package/CMakeLists.txt b/recipes/pagmo2/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/pagmo2/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/pagmo2/all/test_v1_package/conanfile.py b/recipes/pagmo2/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..38f4483872d47 --- /dev/null +++ b/recipes/pagmo2/all/test_v1_package/conanfile.py @@ -0,0 +1,17 @@ +from conans import ConanFile, CMake, tools +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) diff --git a/recipes/pagmo2/config.yml b/recipes/pagmo2/config.yml index 0daf1d812658e..4d9124762cc74 100644 --- a/recipes/pagmo2/config.yml +++ b/recipes/pagmo2/config.yml @@ -1,4 +1,6 @@ versions: + "2.19.0": + folder: all "2.17.0": folder: all "2.10": diff --git a/recipes/pagmo2/pre_2.11/CMakeLists.txt b/recipes/pagmo2/pre_2.11/CMakeLists.txt deleted file mode 100644 index 361b35d4c17d9..0000000000000 --- a/recipes/pagmo2/pre_2.11/CMakeLists.txt +++ /dev/null @@ -1,7 +0,0 @@ -cmake_minimum_required(VERSION 2.8.11) -project(cmake_wrapper) - -include(conanbuildinfo.cmake) -conan_basic_setup() - -add_subdirectory(source_subfolder) diff --git a/recipes/pagmo2/pre_2.11/conandata.yml b/recipes/pagmo2/pre_2.11/conandata.yml index fb48c3245b653..9bb70cc4e5a27 100644 --- a/recipes/pagmo2/pre_2.11/conandata.yml +++ b/recipes/pagmo2/pre_2.11/conandata.yml @@ -5,4 +5,3 @@ sources: patches: "2.10": - patch_file: "patches/0001-fix-cmake-module-path-2-10.patch" - base_path: "source_subfolder" diff --git a/recipes/pagmo2/pre_2.11/conanfile.py b/recipes/pagmo2/pre_2.11/conanfile.py index eeacc0b3752d5..485b29614940a 100644 --- a/recipes/pagmo2/pre_2.11/conanfile.py +++ b/recipes/pagmo2/pre_2.11/conanfile.py @@ -1,18 +1,23 @@ -from conans import ConanFile, CMake, tools -from conans.errors import ConanInvalidConfiguration import os -required_conan_version = ">=1.43.0" +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import check_min_cppstd +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rmdir + +required_conan_version = ">=1.53.0" class Pagmo2Conan(ConanFile): name = "pagmo2" description = "pagmo is a C++ scientific library for massively parallel optimization." license = ("LGPL-3.0-or-later", "GPL-3.0-or-later") - topics = ("pagmo", "optimization", "parallel-computing", "genetic-algorithm", "metaheuristics") - homepage = "https://esa.github.io/pagmo2" url = "https://github.com/conan-io/conan-center-index" + homepage = "https://esa.github.io/pagmo2" + topics = ("pagmo", "optimization", "parallel-computing", "genetic-algorithm", "metaheuristics", "header-only") + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" options = { "with_eigen": [True, False], @@ -25,25 +30,22 @@ class Pagmo2Conan(ConanFile): "with_ipopt": False, } - generators = "cmake", "cmake_find_package", "cmake_find_package_multi" - _cmake = None - - @property - def _source_subfolder(self): - return "source_subfolder" - def export_sources(self): - self.copy("CMakeLists.txt") - for patch in self.conan_data.get("patches", {}).get(self.version, []): - self.copy(patch["patch_file"]) + export_conandata_patches(self) + + def layout(self): + cmake_layout(self, src_folder="src") def requirements(self): - self.requires("boost/1.78.0") - self.requires("onetbb/2020.3") + self.requires("boost/1.83.0", transitive_headers=True) + self.requires("onetbb/2021.10.0") if self.options.with_eigen: - self.requires("eigen/3.4.0") + self.requires("eigen/3.4.0", transitive_headers=True) if self.options.with_nlopt: - self.requires("nlopt/2.7.1") + self.requires("nlopt/2.7.1", transitive_headers=True, transitive_libs=True) + + def package_id(self): + self.info.settings.clear() @property def _required_boost_components(self): @@ -51,61 +53,69 @@ def _required_boost_components(self): def validate(self): if self.settings.compiler.get_safe("cppstd"): - tools.check_min_cppstd(self, 11) + check_min_cppstd(self, 11) # TODO: add ipopt support if self.options.with_ipopt: raise ConanInvalidConfiguration("ipopt recipe not available yet in CCI") - miss_boost_required_comp = any(getattr(self.options["boost"], "without_{}".format(boost_comp), True) for boost_comp in self._required_boost_components) - if self.options["boost"].header_only or miss_boost_required_comp: - raise ConanInvalidConfiguration("{0} requires non header-only boost with these components: {1}".format(self.name, ", ".join(self._required_boost_components))) - - def package_id(self): - self.info.settings.clear() + miss_boost_required_comp = any( + self.dependencies["boost"].options.get_safe(f"without_{boost_comp}", True) + for boost_comp in self._required_boost_components + ) + if self.dependencies["boost"].options.header_only or miss_boost_required_comp: + raise ConanInvalidConfiguration( + "{0} requires non header-only boost with these components: {1}".format( + self.name, ", ".join(self._required_boost_components) + ) + ) def source(self): - tools.get(**self.conan_data["sources"][self.version], - destination=self._source_subfolder, strip_root=True) - - def _configure_cmake(self): - if self._cmake: - return self._cmake - self._cmake = CMake(self) - self._cmake.definitions["PAGMO_BUILD_TESTS"] = False - self._cmake.definitions["PAGMO_BUILD_TUTORIALS"] = False - self._cmake.definitions["PAGMO_WITH_EIGEN3"] = self.options.with_eigen - self._cmake.definitions["PAGMO_WITH_NLOPT"] = self.options.with_nlopt - self._cmake.definitions["PAGMO_WITH_IPOPT"] = self.options.with_ipopt - self._cmake.configure() - return self._cmake + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + tc.variables["PAGMO_BUILD_TESTS"] = False + tc.variables["PAGMO_BUILD_TUTORIALS"] = False + tc.variables["PAGMO_WITH_EIGEN3"] = self.options.with_eigen + tc.variables["PAGMO_WITH_NLOPT"] = self.options.with_nlopt + tc.variables["PAGMO_WITH_IPOPT"] = self.options.with_ipopt + tc.generate() + tc = CMakeDeps(self) + tc.generate() def build(self): - for patch in self.conan_data.get("patches", {}).get(self.version, []): - tools.patch(**patch) + apply_conandata_patches(self) + cmake = CMake(self) + cmake.configure() + cmake.build() def package(self): - self.copy(pattern="COPYING.*", dst="licenses", src=self._source_subfolder) - cmake = self._configure_cmake() + copy( + self, + pattern="COPYING.*", + dst=os.path.join(self.package_folder, "licenses"), + src=self.source_folder, + ) + cmake = CMake(self) cmake.install() - tools.rmdir(os.path.join(self.package_folder, "lib", "cmake")) + rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) def package_info(self): self.cpp_info.set_property("cmake_file_name", "pagmo") self.cpp_info.set_property("cmake_target_name", "Pagmo::pagmo") + + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.components["_pagmo"].system_libs.append("pthread") + # TODO: back to global scope in conan v2 once cmake_find_package_* generators removed - self.cpp_info.components["_pagmo"].requires = ["boost::headers", "boost::serialization", "onetbb::onetbb"] + self.cpp_info.components["_pagmo"].requires = ["boost::boost", "onetbb::onetbb"] if self.options.with_eigen: self.cpp_info.components["_pagmo"].requires.append("eigen::eigen") if self.options.with_nlopt: self.cpp_info.components["_pagmo"].requires.append("nlopt::nlopt") - if self.settings.os in ["Linux", "FreeBSD"]: - self.cpp_info.components["_pagmo"].system_libs.append("pthread") - - # TODO: to remove in conan v2 once cmake_find_package_* generators removed self.cpp_info.filenames["cmake_find_package"] = "pagmo" self.cpp_info.filenames["cmake_find_package_multi"] = "pagmo" self.cpp_info.names["cmake_find_package"] = "Pagmo" self.cpp_info.names["cmake_find_package_multi"] = "Pagmo" self.cpp_info.components["_pagmo"].names["cmake_find_package"] = "pagmo" self.cpp_info.components["_pagmo"].names["cmake_find_package_multi"] = "pagmo" - self.cpp_info.components["_pagmo"].set_property("cmake_target_name", "Pagmo::pagmo") diff --git a/recipes/pagmo2/pre_2.11/test_package/CMakeLists.txt b/recipes/pagmo2/pre_2.11/test_package/CMakeLists.txt index 7439694a33876..de018735ec0b2 100644 --- a/recipes/pagmo2/pre_2.11/test_package/CMakeLists.txt +++ b/recipes/pagmo2/pre_2.11/test_package/CMakeLists.txt @@ -1,8 +1,5 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) find_package(pagmo REQUIRED CONFIG) diff --git a/recipes/pagmo2/pre_2.11/test_package/conanfile.py b/recipes/pagmo2/pre_2.11/test_package/conanfile.py index 38f4483872d47..ef5d7042163ec 100644 --- a/recipes/pagmo2/pre_2.11/test_package/conanfile.py +++ b/recipes/pagmo2/pre_2.11/test_package/conanfile.py @@ -1,10 +1,19 @@ -from conans import ConanFile, CMake, tools +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake import os class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): cmake = CMake(self) @@ -12,6 +21,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/pagmo2/pre_2.11/test_v1_package/CMakeLists.txt b/recipes/pagmo2/pre_2.11/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/pagmo2/pre_2.11/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/pagmo2/pre_2.11/test_v1_package/conanfile.py b/recipes/pagmo2/pre_2.11/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..38f4483872d47 --- /dev/null +++ b/recipes/pagmo2/pre_2.11/test_v1_package/conanfile.py @@ -0,0 +1,17 @@ +from conans import ConanFile, CMake, tools +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) From 0f8819d7d16081504bd743fe7a9b53a6f6e304fd Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 4 Jul 2024 00:33:35 +0900 Subject: [PATCH 044/641] (#24502) tinygltf: add version 2.9.0 --- recipes/tinygltf/all/conandata.yml | 3 +++ recipes/tinygltf/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/tinygltf/all/conandata.yml b/recipes/tinygltf/all/conandata.yml index fb20b704f6ed3..105809b76f50e 100644 --- a/recipes/tinygltf/all/conandata.yml +++ b/recipes/tinygltf/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.9.0": + url: "https://github.com/syoyo/tinygltf/archive/v2.9.0.tar.gz" + sha256: "76c4da3fcd664ccf1b3d35f1d934dd19820141c8705c4966d841176c4c10a2e9" "2.8.19": url: "https://github.com/syoyo/tinygltf/archive/v2.8.19.tar.gz" sha256: "9e3f6206c6e922c7482e1b4612b62c5cddb7e053b6690fa20edfa5d97805053b" diff --git a/recipes/tinygltf/config.yml b/recipes/tinygltf/config.yml index 0589bcf5301f7..3eba51a5b7276 100644 --- a/recipes/tinygltf/config.yml +++ b/recipes/tinygltf/config.yml @@ -1,4 +1,6 @@ versions: + "2.9.0": + folder: all "2.8.19": folder: all "2.8.13": From 37a1b00a2b3b137c0de44cb4fe884f2fd0504d3a Mon Sep 17 00:00:00 2001 From: glywk Date: Wed, 3 Jul 2024 18:32:16 +0200 Subject: [PATCH 045/641] (#24417) libavrocpp: add version 1.11.3, compatibility conan v2 * libavrocpp: add version 1.11.3, compatibility conan v2 * Correctly check c++ standard version * Disable warn as error for boost portability * Remove dependencies ranges compatibility according to conan-center policy --- recipes/libavrocpp/all/conandata.yml | 19 +++++++++++++++++++ recipes/libavrocpp/all/conanfile.py | 10 ++++++---- .../0006-disable-warn-as-error-1-11-3.patch | 13 +++++++++++++ recipes/libavrocpp/config.yml | 2 ++ 4 files changed, 40 insertions(+), 4 deletions(-) create mode 100644 recipes/libavrocpp/all/patches/0006-disable-warn-as-error-1-11-3.patch diff --git a/recipes/libavrocpp/all/conandata.yml b/recipes/libavrocpp/all/conandata.yml index 4db9766f42d9f..4431ba3942fec 100644 --- a/recipes/libavrocpp/all/conandata.yml +++ b/recipes/libavrocpp/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.11.3": + url: "https://github.com/apache/avro/archive/release-1.11.3.tar.gz" + sha256: "da377ac1cf8b91458bf702cbcfb214eecb5c399b267f0ca9c0aade6cabaf126e" "1.11.1": url: "https://github.com/apache/avro/archive/release-1.11.1.tar.gz" sha256: "599f96bb405f72a35154b2477caa6254d723bb4e3f6a0e54e9ae540664321752" @@ -12,6 +15,22 @@ sources: url: "https://github.com/apache/avro/archive/release-1.10.1.tar.gz" sha256: "8fd1f850ce37e60835e6d8335c0027a959aaa316773da8a9660f7d33a66ac142" patches: + "1.11.3": + - patch_file: "patches/0001-add-iterator-include-1-11-0.patch" + patch_description: "include iterator" + patch_type: "portability" + - patch_file: "patches/0002-disable-tests-1-11-1.patch" + patch_description: "disable tests" + patch_type: "conan" + - patch_file: "patches/0003-allow-static-boost-linkage-1-11-0.patch" + patch_description: "remove boost linkage definitions" + patch_type: "conan" + - patch_file: "patches/0004-fix-windows-shared-installation-1-11-1.patch" + patch_description: "fix runtime installation path" + patch_type: "portability" + - patch_file: "patches/0006-disable-warn-as-error-1-11-3.patch" + patch_description: "disable warn as error for boost c++14 breaking change" + patch_type: "portability" "1.11.1": - patch_file: "patches/0001-add-iterator-include-1-11-0.patch" patch_description: "include iterator" diff --git a/recipes/libavrocpp/all/conanfile.py b/recipes/libavrocpp/all/conanfile.py index d9c7f619040a6..e0658c9cdfa87 100644 --- a/recipes/libavrocpp/all/conanfile.py +++ b/recipes/libavrocpp/all/conanfile.py @@ -1,6 +1,6 @@ from conan import ConanFile from conan.tools.files import apply_conandata_patches, export_conandata_patches, get, copy, rm, replace_in_file -from conan.tools.build import check_min_cppstd +from conan.tools.build import check_min_cppstd, valid_min_cppstd from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout import os @@ -14,6 +14,7 @@ class LibavrocppConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "https://avro.apache.org/" topics = ("serialization", "deserialization","avro") + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -42,9 +43,10 @@ def configure(self): def layout(self): cmake_layout(self, src_folder="src") - + def requirements(self): - self.requires("boost/1.81.0") + # boost upper to 1.81.0 requires C++14 minimum + self.requires("boost/1.81.0", transitive_headers=True) self.requires("snappy/1.1.9") def validate(self): @@ -93,7 +95,7 @@ def package(self): rm(self, dll_pattern_to_remove, os.path.join(self.package_folder, "bin")) def package_info(self): - self.cpp_info.libs = ["avrocpp" if self.options.shared else "avrocpp_s"] + self.cpp_info.libs = ["avrocpp"] if self.options.shared else ["avrocpp_s"] if self.options.shared: self.cpp_info.defines.append("AVRO_DYN_LINK") if self.settings.os in ["Linux", "FreeBSD"]: diff --git a/recipes/libavrocpp/all/patches/0006-disable-warn-as-error-1-11-3.patch b/recipes/libavrocpp/all/patches/0006-disable-warn-as-error-1-11-3.patch new file mode 100644 index 0000000000000..711abad6d4b00 --- /dev/null +++ b/recipes/libavrocpp/all/patches/0006-disable-warn-as-error-1-11-3.patch @@ -0,0 +1,13 @@ +diff --git a/lang/c++/CMakeLists.txt b/lang/c++/CMakeLists.txt +index 52d6ac8a..26d8d146 100644 +--- a/lang/c++/CMakeLists.txt ++++ b/lang/c++/CMakeLists.txt +@@ -59,7 +59,7 @@ if (WIN32 AND NOT CYGWIN AND NOT MSYS) + endif() + + if (CMAKE_COMPILER_IS_GNUCXX) +- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -pedantic -Werror") ++ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -pedantic") + if (AVRO_ADD_PROTECTOR_FLAGS) + set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -fstack-protector-all -D_GLIBCXX_DEBUG") + # Unset _GLIBCXX_DEBUG for avrogencpp.cc because using Boost Program Options diff --git a/recipes/libavrocpp/config.yml b/recipes/libavrocpp/config.yml index 9fcb2d236146c..c159828f2eb37 100644 --- a/recipes/libavrocpp/config.yml +++ b/recipes/libavrocpp/config.yml @@ -1,4 +1,6 @@ versions: + 1.11.3: + folder: all 1.11.1: folder: all 1.11.0: From 39d9150ff553d113966046490e89deb00497a31e Mon Sep 17 00:00:00 2001 From: Matthew Rasa Date: Thu, 4 Jul 2024 03:13:01 -0400 Subject: [PATCH 046/641] =?UTF-8?q?(#24505)=20(#24504)=20Remove=20duplicat?= =?UTF-8?q?e=20'boost::boost'=20requirement=20from=20'libarrow'=20?= =?UTF-8?q?=E2=80=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- recipes/arrow/all/conanfile.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/recipes/arrow/all/conanfile.py b/recipes/arrow/all/conanfile.py index bf069b6fbabb1..8080af297b81b 100644 --- a/recipes/arrow/all/conanfile.py +++ b/recipes/arrow/all/conanfile.py @@ -600,8 +600,6 @@ def package_info(self): self.cpp_info.components["libarrow"].requires.append("zlib::zlib") if self.options.with_zstd: self.cpp_info.components["libarrow"].requires.append("zstd::zstd") - if self.options.with_boost: - self.cpp_info.components["libarrow"].requires.append("boost::boost") if self.options.with_grpc: self.cpp_info.components["libarrow"].requires.append("grpc::grpc") if self.options.with_flight_rpc: From e21a2b3a3c8c5ab67c62bcc8141c995ac985e974 Mon Sep 17 00:00:00 2001 From: Daniel Date: Thu, 4 Jul 2024 09:35:19 +0200 Subject: [PATCH 047/641] [config] Add additional repo to promote conan v2 only packages (#24494) --- .c3i/config_v2.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.c3i/config_v2.yml b/.c3i/config_v2.yml index 8fc08cb36e853..de3c880433421 100644 --- a/.c3i/config_v2.yml +++ b/.c3i/config_v2.yml @@ -60,6 +60,8 @@ tasks: list_packages: update_yaml_list_path: ".c3i/conan_v2_ready_references" update_yaml_list_key: "required_for_references" + promote_packages: + additional_repo_target: "conan-center-v2-only" scheduled_export_check: report_issue_url: https://github.com/conan-io/conan-center-index/issues/15557 report_issue_append: false From 6319b737d5fd84fea14074fa5e0761e0637611c4 Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 4 Jul 2024 16:52:44 +0900 Subject: [PATCH 048/641] (#24482) fmt: add version 11.0.0 * fmt: add version 11.0.0 * add with_unicode option in 11.0.0 * always use /utf-8 on msvc --- recipes/fmt/all/conandata.yml | 3 +++ recipes/fmt/all/conanfile.py | 21 +++++++++++++++---- recipes/fmt/all/test_package/test_package.cpp | 1 - recipes/fmt/config.yml | 2 ++ 4 files changed, 22 insertions(+), 5 deletions(-) diff --git a/recipes/fmt/all/conandata.yml b/recipes/fmt/all/conandata.yml index 1c4bb54e9bf65..7a0e997840142 100644 --- a/recipes/fmt/all/conandata.yml +++ b/recipes/fmt/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "11.0.0": + url: "https://github.com/fmtlib/fmt/releases/download/11.0.0/fmt-11.0.0.zip" + sha256: "583ce480ef07fad76ef86e1e2a639fc231c3daa86c4aa6bcba524ce908f30699" "10.2.1": url: "https://github.com/fmtlib/fmt/releases/download/10.2.1/fmt-10.2.1.zip" sha256: "312151a2d13c8327f5c9c586ac6cf7cddc1658e8f53edae0ec56509c8fa516c9" diff --git a/recipes/fmt/all/conanfile.py b/recipes/fmt/all/conanfile.py index fb9118c45657f..86da321d03862 100644 --- a/recipes/fmt/all/conanfile.py +++ b/recipes/fmt/all/conanfile.py @@ -6,17 +6,18 @@ from conan.tools.layout import basic_layout from conan.tools.build import check_min_cppstd from conan.tools.scm import Version +from conan.tools.microsoft import is_msvc required_conan_version = ">=1.53.0" class FmtConan(ConanFile): name = "fmt" - homepage = "https://github.com/fmtlib/fmt" description = "A safe and fast alternative to printf and IOStreams." - topics = ("format", "iostream", "printf") - url = "https://github.com/conan-io/conan-center-index" license = "MIT" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/fmtlib/fmt" + topics = ("format", "iostream", "printf") package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { @@ -25,6 +26,7 @@ class FmtConan(ConanFile): "fPIC": [True, False], "with_fmt_alias": [True, False], "with_os_api": [True, False], + "with_unicode": [True, False], } default_options = { "header_only": False, @@ -32,12 +34,17 @@ class FmtConan(ConanFile): "fPIC": True, "with_fmt_alias": False, "with_os_api": True, + "with_unicode": True, } @property def _has_with_os_api_option(self): return Version(self.version) >= "7.0.0" + @property + def _has_with_unicode_option(self): + return Version(self.version) >= "11.0.0" + def export_sources(self): export_conandata_patches(self) @@ -48,6 +55,8 @@ def config_options(self): del self.options.with_os_api elif str(self.settings.os) == "baremetal": self.options.with_os_api = False + if not self._has_with_unicode_option: + del self.options.with_unicode def configure(self): if self.options.header_only: @@ -85,6 +94,8 @@ def generate(self): tc.cache_variables["FMT_LIB_DIR"] = "lib" if self._has_with_os_api_option: tc.cache_variables["FMT_OS"] = bool(self.options.with_os_api) + if self._has_with_unicode_option: + tc.cache_variables["FMT_UNICODE"] = bool(self.options.with_unicode) tc.generate() def build(self): @@ -115,6 +126,9 @@ def package_info(self): self.cpp_info.set_property("cmake_target_name", f"fmt::{target}") self.cpp_info.set_property("pkg_config_name", "fmt") + if self.options.get_safe("with_unicode") and is_msvc(self): + self.cpp_info.components["_fmt"].cxxflags.append("/utf-8") + # TODO: back to global scope in conan v2 once cmake_find_package* generators removed if self.options.with_fmt_alias: self.cpp_info.components["_fmt"].defines.append("FMT_STRING_ALIAS=1") @@ -123,7 +137,6 @@ def package_info(self): self.cpp_info.components["_fmt"].defines.append("FMT_HEADER_ONLY=1") self.cpp_info.components["_fmt"].libdirs = [] self.cpp_info.components["_fmt"].bindirs = [] - else: postfix = "d" if self.settings.build_type == "Debug" else "" libname = "fmt" + postfix diff --git a/recipes/fmt/all/test_package/test_package.cpp b/recipes/fmt/all/test_package/test_package.cpp index 736bcb6a40958..c8074af5f8eff 100644 --- a/recipes/fmt/all/test_package/test_package.cpp +++ b/recipes/fmt/all/test_package/test_package.cpp @@ -40,7 +40,6 @@ namespace fmt { int main() { const std::string thing("World"); fmt::print("PRINT: Hello {}!\n", thing); - fmt::printf("PRINTF: Hello, %s!\n", thing); const std::string formatted = fmt::format("{0}{1}{0}", "abra", "cad"); fmt::print("{}\n", formatted); diff --git a/recipes/fmt/config.yml b/recipes/fmt/config.yml index fdd60b40c6f86..dda70cf71d200 100644 --- a/recipes/fmt/config.yml +++ b/recipes/fmt/config.yml @@ -1,4 +1,6 @@ versions: + "11.0.0": + folder: all "10.2.1": folder: all "10.2.0": From e955fb8ef5e2ff8f5135a9a58363c76f5958fbb3 Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 4 Jul 2024 17:33:24 +0900 Subject: [PATCH 049/641] (#24512) roaring: add version 4.1.0, remove older versions --- recipes/roaring/all/conandata.yml | 27 +++------------------------ recipes/roaring/config.yml | 18 ++---------------- 2 files changed, 5 insertions(+), 40 deletions(-) diff --git a/recipes/roaring/all/conandata.yml b/recipes/roaring/all/conandata.yml index cd3b4764b4daf..610e2569247a2 100644 --- a/recipes/roaring/all/conandata.yml +++ b/recipes/roaring/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "4.1.0": + url: "https://github.com/RoaringBitmap/CRoaring/archive/refs/tags/v4.1.0.tar.gz" + sha256: "0596c6e22bcccb56f38260142b435f1f72aef7721fa370fd9f2b88380245fc1d" "4.0.0": url: "https://github.com/RoaringBitmap/CRoaring/archive/refs/tags/v4.0.0.tar.gz" sha256: "a8b98db3800cd10979561a1388e4e970886a24015bd6cfabb08ba7917f541b0d" @@ -8,39 +11,15 @@ sources: "2.1.2": url: "https://github.com/RoaringBitmap/CRoaring/archive/refs/tags/v2.1.2.tar.gz" sha256: "a53d2f540f78ddae31e30c573b1b7fd41d7257d6a090507ba35d9c398712e5ad" - "2.1.1": - url: "https://github.com/RoaringBitmap/CRoaring/archive/refs/tags/v2.1.1.tar.gz" - sha256: "40a1c04e220bb2305c3adb5347f42b6b435c4bb4ac89dd0047ba8e73a7388dfb" - "2.1.0": - url: "https://github.com/RoaringBitmap/CRoaring/archive/refs/tags/v2.1.0.tar.gz" - sha256: "75e2c106bf3c035f92560017b56b01602744b643a3fef08d69255c138c6c6f5c" "2.0.4": url: "https://github.com/RoaringBitmap/CRoaring/archive/refs/tags/v2.0.4.tar.gz" sha256: "3c962c196ba28abf2639067f2e2fd25879744ba98152a4e0e74556ca515eda33" - "2.0.2": - url: "https://github.com/RoaringBitmap/CRoaring/archive/v2.0.2.tar.gz" - sha256: "92636a931f8a7bf36ce5a96d3039db128afd0e075f5aa7936fa1685dd2bbc75b" "1.3.0": url: "https://github.com/RoaringBitmap/CRoaring/archive/v1.3.0.tar.gz" sha256: "c4fccf6a8cfa6f15f47d0e6f6b202940c2305e3078eb745d25fe9e2739ae5278" "1.1.5": url: "https://github.com/RoaringBitmap/CRoaring/archive/v1.1.5.tar.gz" sha256: "5210a277ce83c3099dfee41d494c28aec61bdbc9160b3b124cb5afeab49cd123" - "1.1.2": - url: "https://github.com/RoaringBitmap/CRoaring/archive/v1.1.2.tar.gz" - sha256: "545fab4f00d946000743c563b3c315c1a11cee1f19c6ba4fb9493824a4e68b9a" - "1.1.0": - url: "https://github.com/RoaringBitmap/CRoaring/archive/v1.1.0.tar.gz" - sha256: "b59495578e3e4790a216420ce70578d22c1b6d1987232fc2bf46463a03fb1c06" "1.0.0": url: "https://github.com/RoaringBitmap/CRoaring/archive/v1.0.0.tar.gz" sha256: "08f884cd2790fcfba69b63443442034702f5d4865514fb09ac6ff05e048bf230" - "0.9.9": - url: "https://github.com/RoaringBitmap/CRoaring/archive/v0.9.9.tar.gz" - sha256: "3083bcbc37e43403111c482ddf317a710972256c23bc83abc8925803a02bdf60" - "0.8.1": - url: "https://github.com/RoaringBitmap/CRoaring/archive/v0.8.1.tar.gz" - sha256: "5359f2a051f10e42cea5edc3cb3650fd272e9125e6a0538901cf30619939d4f8" - "0.7.3": - url: "https://github.com/RoaringBitmap/CRoaring/archive/v0.7.3.tar.gz" - sha256: "e3f8115ba44ef0e1eb7b982dc3c3233f08f5f95ec1260169c2ad0ca50e56b656" diff --git a/recipes/roaring/config.yml b/recipes/roaring/config.yml index 772c0b4d996a1..4c7b26e41f0a9 100644 --- a/recipes/roaring/config.yml +++ b/recipes/roaring/config.yml @@ -1,31 +1,17 @@ versions: + "4.1.0": + folder: all "4.0.0": folder: all "3.0.0": folder: all "2.1.2": folder: all - "2.1.1": - folder: all - "2.1.0": - folder: all "2.0.4": folder: all - "2.0.2": - folder: all "1.3.0": folder: all "1.1.5": folder: all - "1.1.2": - folder: all - "1.1.0": - folder: all "1.0.0": folder: all - "0.9.9": - folder: all - "0.8.1": - folder: all - "0.7.3": - folder: all From 67a82daecb2d780326e2aab296222c240ac95ad4 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Thu, 4 Jul 2024 11:48:57 +0300 Subject: [PATCH 050/641] (#23336) libcvd: add toon dependency * libcvd: add toon dependency * libcvd: revert libglvnd usage --- recipes/libcvd/all/conanfile.py | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/recipes/libcvd/all/conanfile.py b/recipes/libcvd/all/conanfile.py index a272a22ebfe97..da62d0fad1d30 100644 --- a/recipes/libcvd/all/conanfile.py +++ b/recipes/libcvd/all/conanfile.py @@ -71,13 +71,15 @@ def layout(self): def requirements(self): # https://github.com/edrosten/libcvd/blob/main/cmake/CVDFindAllDeps.cmake + # Used in a public header https://github.com/edrosten/libcvd/blob/RELEASE_2_5_0/cvd/canny.h#L4 + self.requires("toon/3.2", transitive_headers=True, transitive_libs=True) if self.options.with_ffmpeg: # FFMPEG v5.x+ are not supported self.requires("ffmpeg/4.4.4", transitive_libs=True) if self.options.with_libdc1394: - self.requires("libdc1394/2.2.7") # FIXME: libidc1394 seems to be missing raw1394 dependency # test_package fails with "undefined reference to `raw1394_new_handle'" etc + self.requires("libdc1394/2.2.7") if self.options.with_libjpeg == "libjpeg-turbo": self.requires("libjpeg-turbo/3.0.2") elif self.options.with_libjpeg == "libjpeg": @@ -90,14 +92,7 @@ def requirements(self): self.requires("libtiff/4.6.0") if self.options.get_safe("with_opengl", True): # https://github.com/edrosten/libcvd/blob/RELEASE_2_5_0/cvd/videodisplay.h#L18-L20 - if self.settings.os in ["Linux", "FreeBSD"]: - self.requires("libglvnd/1.7.0", transitive_headers=True, transitive_libs=True) - self.requires("xorg/system", transitive_headers=True, transitive_libs=True) - else: - self.requires("opengl/system", transitive_headers=True, transitive_libs=True) - # TODO: https://github.com/ankurhanda/TooN - # https://github.com/edrosten/libcvd/blob/RELEASE_2_5_0/cvd/canny.h#L4 - # self.requires("toon/3.1.1", transitive_headers=True, transitive_libs=True) + self.requires("opengl/system", transitive_headers=True, transitive_libs=True) def validate(self): if self.settings.compiler.cppstd: @@ -123,7 +118,6 @@ def generate(self): tc.variables["CMAKE_DISABLE_FIND_PACKAGE_TIFF"] = not self.options.with_libtiff tc.variables["CMAKE_DISABLE_FIND_PACKAGE_OpenGL"] = not self.options.get_safe("with_opengl", True) tc.variables["CMAKE_DISABLE_FIND_PACKAGE_X11"] = not self.options.get_safe("with_opengl", True) - tc.variables["CMAKE_DISABLE_FIND_PACKAGE_TooN"] = True tc.variables["CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS"] = True tc.cache_variables["CMAKE_POLICY_DEFAULT_CMP0077"] = "NEW" tc.generate() From e1bfc01bfa42d3ccd7765f8870a9e7c65ef6e7e6 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Thu, 4 Jul 2024 12:02:21 +0300 Subject: [PATCH 051/641] (#18715) scc: migrate to Conan v2 * scc: migrate to Conan v2 * scc: requiring spdlog and systemc * scc: bump deps * scc: add v2023.06 * scc: bump deps * scc: add missing deps, add requires * scc: drop 2022.08 * scc: add a patch for fmt 10 compatibility * scc: set transitive headers and libs * scc: remove share/ * scc: revert shared option * scc: fix icc not being unvendore correctly, fix undefined macro * scc: fix MSVC build issue * scc: bump deps * scc: MSVC build is broken * scc: remove redundant MSVC patches * scc: add a call to action for MSVC --------- Co-authored-by: memsharded --- recipes/scc/all/CMakeLists.txt | 7 - recipes/scc/all/conandata.yml | 15 +- recipes/scc/all/conanfile.py | 173 +++++++++++++----- .../patches/2023.06-add-fmt-10-support.patch | 11 ++ .../patches/2023.06-fix-conan-targets.patch | 17 ++ recipes/scc/all/test_package/CMakeLists.txt | 5 +- recipes/scc/all/test_package/conanfile.py | 26 ++- recipes/scc/all/test_package/example.cpp | 4 +- recipes/scc/config.yml | 4 +- 9 files changed, 188 insertions(+), 74 deletions(-) delete mode 100644 recipes/scc/all/CMakeLists.txt create mode 100644 recipes/scc/all/patches/2023.06-add-fmt-10-support.patch create mode 100644 recipes/scc/all/patches/2023.06-fix-conan-targets.patch diff --git a/recipes/scc/all/CMakeLists.txt b/recipes/scc/all/CMakeLists.txt deleted file mode 100644 index 19bdb7e7f5fb7..0000000000000 --- a/recipes/scc/all/CMakeLists.txt +++ /dev/null @@ -1,7 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(scc C) - -include(conanbuildinfo.cmake) -conan_basic_setup(TARGETS KEEP_RPATHS) - -add_subdirectory(source_subfolder) diff --git a/recipes/scc/all/conandata.yml b/recipes/scc/all/conandata.yml index bd7433056072d..a492e239a4b1c 100644 --- a/recipes/scc/all/conandata.yml +++ b/recipes/scc/all/conandata.yml @@ -1,4 +1,13 @@ sources: - "2022.08": - url: "https://github.com/Minres/SystemC-Components/releases/download/2022.08/systemc-components.tar.gz" - sha256: "825dfc38e7b00df34330f01ba38f5913e1a88c5002344e433b972faf0e6c4501" + "2023.06": + url: "https://github.com/Minres/SystemC-Components/releases/download/2023.06/SCC-2023.06-full.tar.gz" + sha256: "6d1a842f474daa512030d61526e83182f9289b977a3a7cb88ed151050c33c4e9" +patches: + "2023.06": + - patch_file: "patches/2023.06-fix-conan-targets.patch" + patch_description: "add find_package()-s and disable automatic Conan setup" + patch_type: "conan" + - patch_file: "patches/2023.06-add-fmt-10-support.patch" + patch_description: "fix incompatibility with fmt 10.x and newer" + patch_type: "portability" + patch_source: "https://github.com/Minres/SystemC-Components/pull/51" diff --git a/recipes/scc/all/conanfile.py b/recipes/scc/all/conanfile.py index c95474718f1dd..5f82f6e023588 100644 --- a/recipes/scc/all/conanfile.py +++ b/recipes/scc/all/conanfile.py @@ -1,89 +1,166 @@ +import os + from conan import ConanFile -from conan.tools.scm import Version -from conan.tools.files import get -from conans import tools, CMake from conan.errors import ConanInvalidConfiguration -import functools +from conan.tools.apple import is_apple_os +from conan.tools.build import check_min_cppstd +from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout, CMakeDeps +from conan.tools.files import copy, get, export_conandata_patches, apply_conandata_patches, replace_in_file, rmdir +from conan.tools.microsoft import is_msvc +from conan.tools.scm import Version + +required_conan_version = ">=1.53.0" -required_conan_version = ">=1.50.0" class SystemcComponentsConan(ConanFile): name = "scc" - description = """A light weight productivity library for SystemC and TLM 2.0""" - homepage = "https://minres.github.io/SystemC-Components" - url = "https://github.com/conan-io/conan-center-index" + description = "A light-weight productivity library for SystemC and TLM 2.0" license = "Apache-2.0" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://minres.github.io/SystemC-Components" topics = ("systemc", "modeling", "tlm", "scc") - settings = "os", "compiler", "build_type", "arch" + + package_type = "static-library" + settings = "os", "arch", "compiler", "build_type" options = { "fPIC": [True, False], "enable_phase_callbacks": [True, False], - "enable_phase_callbacks_tracing": [True, False] + "enable_phase_callbacks_tracing": [True, False], } default_options = { "fPIC": True, "enable_phase_callbacks": False, - "enable_phase_callbacks_tracing": False + "enable_phase_callbacks_tracing": False, } - generators = "cmake" - - @property - def _source_subfolder(self): - return "source_subfolder" - @property - def _build_subfolder(self): - return "build_subfolder" - - # no exports_sources attribute, but export_sources(self) method instead - # this allows finer grain exportation of patches per version def export_sources(self): - self.copy("CMakeLists.txt") - + export_conandata_patches(self) + def config_options(self): if self.settings.os == "Windows": del self.options.fPIC - + + def layout(self): + cmake_layout(self, src_folder="src") + + def requirements(self): + # https://github.com/Minres/SystemC-Components/blob/2023.06/src/sysc/scc/perf_estimator.h#L20 + self.requires("boost/1.83.0", transitive_headers=True, transitive_libs=True) + # https://github.com/Minres/SystemC-Components/blob/2023.06/src/sysc/scc/trace/vcd_trace.hh#L28 + self.requires("fmt/10.2.1", transitive_headers=True, transitive_libs=True) + # https://github.com/Minres/SystemC-Components/blob/2023.06/src/common/util/lz4_streambuf.h#L13 + self.requires("lz4/1.9.4", transitive_headers=True, transitive_libs=True) + self.requires("rapidjson/cci.20220822") + self.requires("spdlog/1.13.0") + # https://github.com/Minres/SystemC-Components/blob/2023.06/src/sysc/tlm/scc/lwtr/tlm2_lwtr.h + self.requires("systemc-cci/1.0.0", transitive_headers=True, transitive_libs=True) + self.requires("systemc/2.3.4", transitive_headers=True, transitive_libs=True) + # https://github.com/Minres/SystemC-Components/blob/2023.06/src/sysc/scc/trace/gz_writer.hh#L18 + self.requires("zlib/[>=1.2.11 <2]", transitive_headers=True, transitive_libs=True) + self.requires("yaml-cpp/0.8.0") + def validate(self): + if is_apple_os(self): + raise ConanInvalidConfiguration(f"{self.name} is not supported on {self.settings.os}.") + if is_msvc(self): + # Fails with + # src\sysc\tlm\scc\tlm_mm.h(116,114): error C2259: 'tlm::scc::tlm_gp_mm_t<16,false>': cannot instantiate abstract class + # (compiling source file '../../../src/src/sysc/tlm/scc/lwtr/tlm2_lwtr.cpp') + # src\sysc\tlm\scc\tlm_mm.h(116,48): + # see declaration of 'tlm::scc::tlm_gp_mm_t<16,false>' + # src\sysc\tlm\scc\tlm_mm.h(116,114): + # due to following members: + # src\sysc\tlm\scc\tlm_mm.h(116,114): + # 'void tlm::tlm_extension::copy_from(const tlm::tlm_extension_base &)': is abstract + # systemc-2.3.4\p\include\tlm_core\tlm_2\tlm_generic_payload\tlm_gp.h(78,18): + # see declaration of 'tlm::tlm_extension::copy_from' + # and + # src\sysc\tlm\scc\tlm_mm.h(31,20): error C2061: syntax error: identifier '__attribute__' + raise ConanInvalidConfiguration(f"{self.ref} recipe is not supported on MSVC. Contributions are welcome!") if self.settings.compiler.get_safe("cppstd"): - tools.check_min_cppstd(self, 11) - if self.settings.os == "Macos": - raise ConanInvalidConfiguration(f"{self.name} is not suppported on {self.settings.os}.") + check_min_cppstd(self, 11) if self.settings.compiler == "gcc" and Version(self.settings.compiler.version) < "7": raise ConanInvalidConfiguration("GCC < version 7 is not supported") - def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self._source_subfolder, strip_root=True) - def build_requirements(self): - self.tool_requires("cmake/3.24.0") + self.tool_requires("cmake/[>=3.24 <4]") - @functools.lru_cache(1) - def _configure_cmake(self): - cmake = CMake(self) - cmake.definitions["SC_WITH_PHASE_CALLBACKS"] = self.options.enable_phase_callbacks - cmake.definitions["SC_WITH_PHASE_CALLBACK_TRACING"] = self.options.enable_phase_callbacks_tracing - cmake.definitions["BUILD_SCC_DOCUMENTATION"] = False - cmake.definitions["SCC_LIB_ONLY"] = True + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + tc.cache_variables["SC_WITH_PHASE_CALLBACKS"] = self.options.enable_phase_callbacks + tc.cache_variables["SC_WITH_PHASE_CALLBACK_TRACING"] = self.options.enable_phase_callbacks_tracing + tc.cache_variables["BUILD_SCC_DOCUMENTATION"] = False + tc.cache_variables["SCC_LIB_ONLY"] = True + tc.cache_variables["ENABLE_CONAN"] = False if self.settings.os == "Windows": - cmake.definitions["SCC_LIMIT_TRACE_TYPE_LIST"] = True - cmake.configure(build_folder=self._build_subfolder) - return cmake + tc.cache_variables["SCC_LIMIT_TRACE_TYPE_LIST"] = True + # Used at https://github.com/Minres/SystemC-Components/blob/2023.06/src/common/util/pool_allocator.h#L110 + # but is not set anywhere + tc.preprocessor_definitions["_GLIBCXX_USE_NOEXCEPT"] = "noexcept" + tc.generate() + + deps = CMakeDeps(self) + deps.set_property("systemc", "cmake_file_name", "SystemC") + deps.set_property("systemc-cci", "cmake_target_name", "systemc-cci::systemc-cci") + deps.set_property("yaml-cpp", "cmake_target_name", "yaml-cpp::yaml-cpp") + deps.generate() + + def _patch_sources(self): + apply_conandata_patches(self) + replace_in_file(self, os.path.join(self.source_folder, "third_party", "axi_chi", "CMakeLists.txt"), + " STATIC", "") def build(self): - cmake = self._configure_cmake() + self._patch_sources() + cmake = CMake(self) + cmake.configure() cmake.build() def package(self): - self.copy(pattern="LICENSE", dst="licenses", - src=self._source_subfolder) - cmake = self._configure_cmake() + copy(self, "LICENSE", + dst=os.path.join(self.package_folder, "licenses"), + src=self.source_folder) + cmake = CMake(self) cmake.install() + rmdir(self, os.path.join(self.package_folder, "share")) def package_info(self): - self.cpp_info.components["busses"].libs = ["busses"] self.cpp_info.components["scc-sysc"].libs = ["scc-sysc"] + self.cpp_info.components["scc-sysc"].requires = [ + "fstapi", + "lwtr", + "scc-util", + "scv-tr", + "boost::date_time", + "fmt::fmt", + "lz4::lz4", + "rapidjson::rapidjson", + "spdlog::spdlog", + "systemc-cci::systemc-cci", + "systemc::systemc", + "yaml-cpp::yaml-cpp", + "zlib::zlib", + ] + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.components["scc-sysc"].system_libs = ["pthread", "dl"] + + self.cpp_info.components["busses"].libs = ["busses"] + self.cpp_info.components["busses"].requires = ["tlm-interfaces", "scc-sysc"] + + self.cpp_info.components["fstapi"].libs = ["fstapi"] + self.cpp_info.components["fstapi"].requires = ["zlib::zlib", "lz4::lz4"] + + self.cpp_info.components["lwtr"].libs = ["lwtr"] + self.cpp_info.components["lwtr"].requires = ["zlib::zlib", "lz4::lz4", "systemc::systemc", "fmt::fmt"] + self.cpp_info.components["scc-util"].libs = ["scc-util"] + self.cpp_info.components["scc-util"].requires = ["lz4::lz4"] + self.cpp_info.components["scv-tr"].libs = ["scv-tr"] + self.cpp_info.components["scv-tr"].requires = ["fmt::fmt", "systemc::systemc"] + self.cpp_info.components["tlm-interfaces"].libs = ["tlm-interfaces"] + self.cpp_info.components["tlm-interfaces"].requires = ["scc-sysc", "systemc::systemc"] diff --git a/recipes/scc/all/patches/2023.06-add-fmt-10-support.patch b/recipes/scc/all/patches/2023.06-add-fmt-10-support.patch new file mode 100644 index 0000000000000..e07a125098cc9 --- /dev/null +++ b/recipes/scc/all/patches/2023.06-add-fmt-10-support.patch @@ -0,0 +1,11 @@ +--- src/sysc/scc/trace/vcd_trace.hh ++++ src/sysc/scc/trace/vcd_trace.hh +@@ -53,7 +53,7 @@ + + template + inline void vcdEmitValueChangeReal(FPTR os, std::string const& handle, unsigned bits, T val){ +- auto buf = fmt::format("r{:.16g} {}\n", val, handle); ++ auto buf = fmt::format("r{:.16g} {}\n", static_cast(val), handle); + FWRITE(buf.c_str(), 1, buf.size(), os); + } + diff --git a/recipes/scc/all/patches/2023.06-fix-conan-targets.patch b/recipes/scc/all/patches/2023.06-fix-conan-targets.patch new file mode 100644 index 0000000000000..052ef97ffbc9f --- /dev/null +++ b/recipes/scc/all/patches/2023.06-fix-conan-targets.patch @@ -0,0 +1,17 @@ +--- CMakeLists.txt ++++ CMakeLists.txt +@@ -24,5 +24,13 @@ + include(Common) + +-if(CMAKE_PROJECT_NAME STREQUAL "scc") ++find_package(SystemC REQUIRED CONFIG) ++find_package(systemc-cci REQUIRED CONFIG) ++find_package(fmt REQUIRED CONFIG) ++find_package(spdlog REQUIRED CONFIG) ++find_package(Boost REQUIRED CONFIG) ++find_package(yaml-cpp REQUIRED CONFIG) ++find_package(lz4 REQUIRED CONFIG) ++if(TRUE) ++elseif(CMAKE_PROJECT_NAME STREQUAL "scc") + message(STATUS "Building SCC in standalone mode") + include(GNUInstallDirs) diff --git a/recipes/scc/all/test_package/CMakeLists.txt b/recipes/scc/all/test_package/CMakeLists.txt index b74b2d8e566a6..32a369fbfeb6a 100644 --- a/recipes/scc/all/test_package/CMakeLists.txt +++ b/recipes/scc/all/test_package/CMakeLists.txt @@ -1,9 +1,6 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(test_package LANGUAGES CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - find_package(scc REQUIRED CONFIG) add_executable(${PROJECT_NAME} example.cpp) diff --git a/recipes/scc/all/test_package/conanfile.py b/recipes/scc/all/test_package/conanfile.py index 48f7a8523a636..ef5d7042163ec 100644 --- a/recipes/scc/all/test_package/conanfile.py +++ b/recipes/scc/all/test_package/conanfile.py @@ -1,18 +1,26 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake import os -from conans import ConanFile, CMake -from conan.tools.build import cross_building -class SystemcComponentsTestConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) + def build(self): cmake = CMake(self) cmake.configure() cmake.build() def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/scc/all/test_package/example.cpp b/recipes/scc/all/test_package/example.cpp index 2de9f26d9f75d..4f5ccf21b1e5c 100644 --- a/recipes/scc/all/test_package/example.cpp +++ b/recipes/scc/all/test_package/example.cpp @@ -1,7 +1,9 @@ +#include #include #include -int main(int argc, char* argv[]) { +int main() { + util::IoRedirector::get(); std::cout << "scc loaded successfully. Mini test: util::ilog2(32) = " << util::ilog2(32) << std::endl; return 0; } diff --git a/recipes/scc/config.yml b/recipes/scc/config.yml index f8b19962361c1..f334fc74322ea 100644 --- a/recipes/scc/config.yml +++ b/recipes/scc/config.yml @@ -1,3 +1,3 @@ versions: - "2022.08": - folder: "all" + "2023.06": + folder: all From 7660a707b92cc2b097a3f3406ea0e5300a20db0a Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 4 Jul 2024 18:32:07 +0900 Subject: [PATCH 052/641] (#24484) imgui: add version 1.90.9, remove older versions * imgui: add version 1.90.9, remove older versions * revert 1.89.9 and 1.89.9-docking --- recipes/imgui/all/conandata.yml | 76 +++------------------------------ recipes/imgui/config.yml | 51 ++-------------------- 2 files changed, 10 insertions(+), 117 deletions(-) diff --git a/recipes/imgui/all/conandata.yml b/recipes/imgui/all/conandata.yml index 55555c5ba2a12..13e8b4cdf2bb6 100644 --- a/recipes/imgui/all/conandata.yml +++ b/recipes/imgui/all/conandata.yml @@ -1,4 +1,10 @@ sources: + "1.90.9": + url: "https://github.com/ocornut/imgui/archive/v1.90.9.tar.gz" + sha256: "04943919721e874ac75a2f45e6eb6c0224395034667bf508923388afda5a50bf" + "1.90.9-docking": + url: "https://github.com/ocornut/imgui/archive/v1.90.9-docking.tar.gz" + sha256: "48e7e4e4f154ad98d0946126a84e2375f849f6a67792129a805817dd60a34330" "1.90.8": url: "https://github.com/ocornut/imgui/archive/v1.90.8.tar.gz" sha256: "f606b4fb406aa0f8dad36d4a9dd3d6f0fd39f5f0693e7468abc02d545fb505ae" @@ -23,69 +29,12 @@ sources: "1.90.5-docking": url: "https://github.com/ocornut/imgui/archive/v1.90.5-docking.tar.gz" sha256: "8a5e1e594d6c8552e46e4c1ba8dd9deb51262067f04937904babc04384533ccc" - "1.90.4": - url: "https://github.com/ocornut/imgui/archive/v1.90.4.tar.gz" - sha256: "5d9dc738af74efa357f2a9fc39fe4a28d29ef1dfc725dd2977ccf3f3194e996e" - "1.90.4-docking": - url: "https://github.com/ocornut/imgui/archive/v1.90.4-docking.tar.gz" - sha256: "91ac3c6fd83cc3bea38745af57665b13464ba235dc11373d0898ae6fe35a8a65" - "1.90.3": - url: "https://github.com/ocornut/imgui/archive/v1.90.3.tar.gz" - sha256: "40b302d01092c9393373b372fe07ea33ac69e9491893ebab3bf952b2c1f5fd23" - "1.90.3-docking": - url: "https://github.com/ocornut/imgui/archive/v1.90.3-docking.tar.gz" - sha256: "ebd1da0f76a95a7a690f8a0dfa119e1c6da4eee40383e582fb75374792be0891" - "1.90.2": - url: "https://github.com/ocornut/imgui/archive/v1.90.2.tar.gz" - sha256: "452d1c11e5c4b4dfcca272915644a65f1c076498e8318b141ca75cd30470dd68" - "1.90.2-docking": - url: "https://github.com/ocornut/imgui/archive/v1.90.2-docking.tar.gz" - sha256: "69f1cd78d49ec9cc847b7082d641434ea731f0be41c6930bea08a46a0794ac17" - "1.90.1": - url: "https://github.com/ocornut/imgui/archive/v1.90.1.tar.gz" - sha256: "21dcc985bb2ae8fe48047c86135dbc438d6980a8f2e08babbda5be820592f282" - "1.90.1-docking": - url: "https://github.com/ocornut/imgui/archive/v1.90.1-docking.tar.gz" - sha256: "6804c3d8dc6d83b892d3c5491d8164840079d9a795fb7c4cef2eaa1b04c86a0c" - "1.90": - url: "https://github.com/ocornut/imgui/archive/v1.90.tar.gz" - sha256: "170986e6a4b83d165bfc1d33c2c5a5bc2d67e5b97176287485c51a2299249296" - "1.90-docking": - url: "https://github.com/ocornut/imgui/archive/v1.90-docking.tar.gz" - sha256: "d4b7fd185443111a3a892d4625c85ab9666c6c9cb5484e3a447de6af419f8d2f" "1.89.9": url: "https://github.com/ocornut/imgui/archive/v1.89.9.tar.gz" sha256: "1acc27a778b71d859878121a3f7b287cd81c29d720893d2b2bf74455bf9d52d6" "1.89.9-docking": url: "https://github.com/ocornut/imgui/archive/v1.89.9-docking.tar.gz" sha256: "2481489ce9091239b3cab8a330d0409ffdd9ee607ad1f3fe3a0b0b751c27a8eb" - "1.89.8": - url: "https://github.com/ocornut/imgui/archive/v1.89.8.tar.gz" - sha256: "6680ccc32430009a8204291b1268b2367d964bd6d1b08a4e0358a017eb8e8c9e" - "1.89.8-docking": - url: "https://github.com/ocornut/imgui/archive/v1.89.8-docking.tar.gz" - sha256: "d48c4856e42a8fa3e6df3efae7eae86012fa65d9dceb03d1a2080a2386063635" - "1.89.7": - url: "https://github.com/ocornut/imgui/archive/v1.89.7.tar.gz" - sha256: "115ee9e242af98a884302ac0f6ca3b2b26b1f10c660205f5e7ad9f1d1c96d269" - "1.89.7-docking": - url: "https://github.com/ocornut/imgui/archive/v1.89.7-docking.tar.gz" - sha256: "28216ec07e87f075b63486d8d5212e4d89542b69bd10a482f1b4b7dc6f1613a0" - "1.89.5": - url: "https://github.com/ocornut/imgui/archive/v1.89.5.tar.gz" - sha256: "eab371005c86dd029523a0c4ba757840787163740d45c1f4e5a110eb21820546" - "1.89.4": - url: "https://github.com/ocornut/imgui/archive/v1.89.4.tar.gz" - sha256: "69f1e83adcab3fdd27b522f5075f407361b0d3875e3522b13d33bc2ae2c7d48c" - "1.89.3": - url: "https://github.com/ocornut/imgui/archive/v1.89.3.tar.gz" - sha256: "3b665fadd5580b7ef494d5d8bb1c12b2ec53ee723034caf43332956381f5d631" - "1.89.2": - url: "https://github.com/ocornut/imgui/archive/v1.89.2.tar.gz" - sha256: "e110beffda505e6954feb7b13541d35a7c12a176b9723290c853684713df6a67" - "1.89.1": - url: "https://github.com/ocornut/imgui/archive/v1.89.1.tar.gz" - sha256: "6d02a0079514d869e4b5f8f590f9060259385fcddd93a07ef21298b6a9610cbd" "1.88": url: "https://github.com/ocornut/imgui/archive/v1.88.tar.gz" sha256: "9f14c788aee15b777051e48f868c5d4d959bd679fc5050e3d2a29de80d8fd32e" @@ -98,16 +47,3 @@ sources: "1.85": url: "https://github.com/ocornut/imgui/archive/v1.85.tar.gz" sha256: "7ed49d1f4573004fa725a70642aaddd3e06bb57fcfe1c1a49ac6574a3e895a77" - - # These versions belong to the docking branch in ImGUI repository. This branch is declared stable and production ready, and - # it is synced with `master` regularly. These versions are taken from that branch using the commit where `master` was synced - # after a regular release - "cci.20230105+1.89.2.docking": - url: "https://github.com/ocornut/imgui/archive/d822c65317ba881798bed8fce9ffba267d27dada.zip" - sha256: "0d2c09ae4c450d4c74f62e66667809752c9d11438354fc331ed9da5d5e850071" - "cci.20220621+1.88.docking": - url: "https://github.com/ocornut/imgui/archive/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6.tar.gz" - sha256: "61fb1ce5d48089bce1b4f92e9320fd234b2ce960f35f965b313c4842b3c8e440" - "cci.20220207+1.87.docking": - url: "https://github.com/ocornut/imgui/archive/1ee252772ae9c0a971d06257bb5c89f628fa696a.tar.gz" - sha256: "c50e263660e1deb6e85b10a0382bf8a6fc861645e44b7012bd32da5460829ae0" diff --git a/recipes/imgui/config.yml b/recipes/imgui/config.yml index b198d594c6e2e..a40371b3d6a3b 100644 --- a/recipes/imgui/config.yml +++ b/recipes/imgui/config.yml @@ -1,4 +1,8 @@ versions: + "1.90.9": + folder: all + "1.90.9-docking": + folder: all "1.90.8": folder: all "1.90.8-docking": @@ -15,48 +19,10 @@ versions: folder: all "1.90.5-docking": folder: all - "1.90.4": - folder: all - "1.90.4-docking": - folder: all - "1.90.3": - folder: all - "1.90.3-docking": - folder: all - "1.90.2": - folder: all - "1.90.2-docking": - folder: all - "1.90.1": - folder: all - "1.90.1-docking": - folder: all - "1.90": - folder: all - "1.90-docking": - folder: all "1.89.9": folder: all "1.89.9-docking": folder: all - "1.89.8": - folder: all - "1.89.8-docking": - folder: all - "1.89.7": - folder: all - "1.89.7-docking": - folder: all - "1.89.5": - folder: all - "1.89.4": - folder: all - "1.89.3": - folder: all - "1.89.2": - folder: all - "1.89.1": - folder: all "1.88": folder: all "1.87": @@ -66,12 +32,3 @@ versions: "1.85": folder: all - # These versions belong to the docking branch in ImGUI repository. This branch is declared stable and production ready, and - # it is synced with `master` regularly. These versions are taken from that branch using the commit where `master` was synced - # after a regular release - "cci.20230105+1.89.2.docking": - folder: all - "cci.20220621+1.88.docking": - folder: all - "cci.20220207+1.87.docking": - folder: all From bd324cca0709c53ab87ad96aa117d1fa6b7c0193 Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 4 Jul 2024 18:51:03 +0900 Subject: [PATCH 053/641] (#24507) paho-mqtt-cpp: add version 1.4.0 --- recipes/paho-mqtt-cpp/all/conandata.yml | 15 ++++++++--- recipes/paho-mqtt-cpp/all/conanfile.py | 5 ++-- .../all/patches/1.4.0-0001-fix-cmake.patch | 25 +++++++++++++++++++ .../all/test_package/CMakeLists.txt | 2 +- recipes/paho-mqtt-cpp/config.yml | 2 ++ 5 files changed, 42 insertions(+), 7 deletions(-) create mode 100644 recipes/paho-mqtt-cpp/all/patches/1.4.0-0001-fix-cmake.patch diff --git a/recipes/paho-mqtt-cpp/all/conandata.yml b/recipes/paho-mqtt-cpp/all/conandata.yml index b3a853f5872bf..33f16cd0bbad8 100644 --- a/recipes/paho-mqtt-cpp/all/conandata.yml +++ b/recipes/paho-mqtt-cpp/all/conandata.yml @@ -1,11 +1,18 @@ sources: + "1.4.0": + url: "https://github.com/eclipse/paho.mqtt.cpp/archive/v1.4.0.tar.gz" + sha256: "758c504b585402fbeb47822e52897239bbd53b4236ac3908cc040e09d2a8d8e1" "1.3.2": - sha256: c271d521287f417102b447b3d1e8d17be0e0f6a3b0b653334ebcd2ccd20d1e46 - url: https://github.com/eclipse/paho.mqtt.cpp/archive/v1.3.2.tar.gz + url: "https://github.com/eclipse/paho.mqtt.cpp/archive/v1.3.2.tar.gz" + sha256: "c271d521287f417102b447b3d1e8d17be0e0f6a3b0b653334ebcd2ccd20d1e46" "1.2.0": - sha256: 435e97e4d5b1da13daa26cadd3e83fe9d154930abaa78b8ff1b8c854b5345d8b - url: https://github.com/eclipse/paho.mqtt.cpp/archive/v1.2.0.tar.gz + url: "https://github.com/eclipse/paho.mqtt.cpp/archive/v1.2.0.tar.gz" + sha256: "435e97e4d5b1da13daa26cadd3e83fe9d154930abaa78b8ff1b8c854b5345d8b" patches: + "1.4.0": + - patch_file: "patches/1.4.0-0001-fix-cmake.patch" + patch_description: "CMake: Honor fPIC option" + patch_type: "conan" "1.3.2": - patch_file: "patches/1.3.2-0001-fix-cmake.patch" patch_description: "CMake: Honor fPIC option and properly link paho-mqtt-c to object target" diff --git a/recipes/paho-mqtt-cpp/all/conanfile.py b/recipes/paho-mqtt-cpp/all/conanfile.py index 226f6d62472cd..29c655cc42b87 100644 --- a/recipes/paho-mqtt-cpp/all/conanfile.py +++ b/recipes/paho-mqtt-cpp/all/conanfile.py @@ -72,8 +72,9 @@ def generate(self): tc.variables["PAHO_WITH_SSL"] = self.dependencies["paho-mqtt-c"].options.ssl tc.generate() deps = CMakeDeps(self) - deps.set_property("paho-mqtt-c", "cmake_file_name", "PahoMqttC") - deps.set_property("paho-mqtt-c", "cmake_target_name", "PahoMqttC::PahoMqttC") + if Version(self.version) < "1.4.0": + deps.set_property("paho-mqtt-c", "cmake_file_name", "PahoMqttC") + deps.set_property("paho-mqtt-c", "cmake_target_name", "PahoMqttC::PahoMqttC") deps.generate() def build(self): diff --git a/recipes/paho-mqtt-cpp/all/patches/1.4.0-0001-fix-cmake.patch b/recipes/paho-mqtt-cpp/all/patches/1.4.0-0001-fix-cmake.patch new file mode 100644 index 0000000000000..3a9eac127ef96 --- /dev/null +++ b/recipes/paho-mqtt-cpp/all/patches/1.4.0-0001-fix-cmake.patch @@ -0,0 +1,25 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 1155844..ace2e61 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -107,7 +107,7 @@ set(CMAKE_CXX_STANDARD_REQUIRED ON) + set(CMAKE_CXX_EXTENSIONS OFF) + + # Generate position-independent code (-fPIC on UNIX) +-set(CMAKE_POSITION_INDEPENDENT_CODE ON) ++# set(CMAKE_POSITION_INDEPENDENT_CODE ON) + + # --- System Details --- + +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index c8b213d..2898972 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -68,6 +68,7 @@ if(PAHO_BUILD_SHARED) + set_target_properties(paho-mqttpp3 PROPERTIES + VERSION ${PROJECT_VERSION} + SOVERSION ${PROJECT_VERSION_MAJOR} ++ POSITION_INDEPENDENT_CODE ON + ) + endif() + diff --git a/recipes/paho-mqtt-cpp/all/test_package/CMakeLists.txt b/recipes/paho-mqtt-cpp/all/test_package/CMakeLists.txt index 92c59048e3a2f..ff0d0d7fdb39c 100644 --- a/recipes/paho-mqtt-cpp/all/test_package/CMakeLists.txt +++ b/recipes/paho-mqtt-cpp/all/test_package/CMakeLists.txt @@ -1,6 +1,6 @@ cmake_minimum_required(VERSION 3.15) -project(test_package CXX) +project(test_package LANGUAGES CXX) find_package(PahoMqttCpp REQUIRED CONFIG) diff --git a/recipes/paho-mqtt-cpp/config.yml b/recipes/paho-mqtt-cpp/config.yml index 01476444007d2..4866c5bc21cde 100644 --- a/recipes/paho-mqtt-cpp/config.yml +++ b/recipes/paho-mqtt-cpp/config.yml @@ -1,4 +1,6 @@ versions: + "1.4.0": + folder: "all" "1.3.2": folder: "all" "1.2.0": From 3f446eb2cb9e71d704b639ba5763864ec1ed3817 Mon Sep 17 00:00:00 2001 From: Jens Carl Date: Thu, 4 Jul 2024 03:10:56 -0700 Subject: [PATCH 054/641] (#24509) cmake: add version 3.30.0 --- 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 7b682380b0ea6..cddf4c7d973c9 100644 --- a/recipes/cmake/binary/conandata.yml +++ b/recipes/cmake/binary/conandata.yml @@ -1,4 +1,23 @@ sources: + "3.30.0": + Linux: + armv8: + url: "https://cmake.org/files/v3.30/cmake-3.30.0-linux-aarch64.tar.gz" + sha256: "3db7f12dadc91be9b30f0e5a71038c51d7f5b7cc03e32625621a052e9996bef0" + x86_64: + url: "https://cmake.org/files/v3.30/cmake-3.30.0-linux-x86_64.tar.gz" + sha256: "09846a3858583f38189b59177586adf125a08c15f3cddcaf7d7d7081ac86969f" + Macos: + universal: + url: "https://cmake.org/files/v3.30/cmake-3.30.0-macos10.10-universal.tar.gz" + sha256: "54f237212362efa3f192508eeb25d98f2150779ed45c46a77fe356597c3d2749" + Windows: + armv8: + url: "https://cmake.org/files/v3.30/cmake-3.30.0-windows-arm64.zip" + sha256: "cb8fb65a8f523daa0ce6c531407ae10fcab8d0eefe18a6ef9fb718c54307d6e3" + x86_64: + url: "https://cmake.org/files/v3.30/cmake-3.30.0-windows-x86_64.zip" + sha256: "f8d2da0eaf3bab9cf065e97bd6d8e1819886f8671d3d4c7bb93cb774123fa448" "3.29.6": Linux: armv8: diff --git a/recipes/cmake/config.yml b/recipes/cmake/config.yml index f02222d081bdc..762b68a2142aa 100644 --- a/recipes/cmake/config.yml +++ b/recipes/cmake/config.yml @@ -1,4 +1,6 @@ versions: + "3.30.0": + folder: "binary" "3.29.6": folder: "binary" "3.29.5": From a7f4e358c6c183d73f85a6841a473364cba1737c Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Thu, 4 Jul 2024 12:30:54 +0200 Subject: [PATCH 055/641] (#24513) abseil: do not build test_allocator target in abseil 20240116.1 & 20240116.2 This target is not supposed to be built when tests are disabled. Fixed upstream by https://github.com/abseil/abseil-cpp/commit/779a3565ac6c5b69dd1ab9183e500a27633117d5 --- recipes/abseil/all/conandata.yml | 8 ++++++++ .../all/patches/0004-test-allocator-testonly.patch | 10 ++++++++++ 2 files changed, 18 insertions(+) create mode 100644 recipes/abseil/all/patches/0004-test-allocator-testonly.patch diff --git a/recipes/abseil/all/conandata.yml b/recipes/abseil/all/conandata.yml index 7958f236ae252..b213e4b527e01 100644 --- a/recipes/abseil/all/conandata.yml +++ b/recipes/abseil/all/conandata.yml @@ -27,6 +27,10 @@ patches: patch_description: "Fix GCC 7 including in C++17 mode when it is not available (until GCC 8)" patch_type: "portability" patch_source: "https://github.com/abseil/abseil-cpp/commit/bb83aceacb554e79e7cd2404856f0be30bd00303" + - patch_file: "patches/0004-test-allocator-testonly.patch" + patch_description: "Do not build test_allocator target when tests are disabled" + patch_type: "portability" + patch_source: "https://github.com/abseil/abseil-cpp/commit/779a3565ac6c5b69dd1ab9183e500a27633117d5" "20240116.1": - patch_file: "patches/0003-absl-string-libm-20240116.patch" patch_description: "link libm to absl string" @@ -36,6 +40,10 @@ patches: patch_description: "Fix GCC 7 including in C++17 mode when it is not available (until GCC 8)" patch_type: "portability" patch_source: "https://github.com/abseil/abseil-cpp/commit/bb83aceacb554e79e7cd2404856f0be30bd00303" + - patch_file: "patches/0004-test-allocator-testonly.patch" + patch_description: "Do not build test_allocator target when tests are disabled" + patch_type: "portability" + patch_source: "https://github.com/abseil/abseil-cpp/commit/779a3565ac6c5b69dd1ab9183e500a27633117d5" "20230802.1": - patch_file: "patches/0003-absl-string-libm-20230802.patch" patch_description: "link libm to absl string" diff --git a/recipes/abseil/all/patches/0004-test-allocator-testonly.patch b/recipes/abseil/all/patches/0004-test-allocator-testonly.patch new file mode 100644 index 0000000000000..909c1f791c488 --- /dev/null +++ b/recipes/abseil/all/patches/0004-test-allocator-testonly.patch @@ -0,0 +1,10 @@ +--- a/absl/container/CMakeLists.txt ++++ b/absl/container/CMakeLists.txt +@@ -213,6 +213,7 @@ absl_cc_library( + DEPS + absl::config + GTest::gmock ++ TESTONLY + ) + + absl_cc_test( From 0ba0262ba010905aee127125008547067e9a1f19 Mon Sep 17 00:00:00 2001 From: Samantha Anne Taylor Date: Thu, 4 Jul 2024 06:10:50 -0500 Subject: [PATCH 056/641] (#23894) Compile as C * Compile as C * Build both C and C++ libraries every time * Add qrcodegenc to package_info * Seperate C and C++ components --- recipes/qr-code-generator/all/CMakeLists.txt | 11 +++++++++-- recipes/qr-code-generator/all/conanfile.py | 7 ++++--- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/recipes/qr-code-generator/all/CMakeLists.txt b/recipes/qr-code-generator/all/CMakeLists.txt index 60ddaa9f6b380..7629857f9b79e 100644 --- a/recipes/qr-code-generator/all/CMakeLists.txt +++ b/recipes/qr-code-generator/all/CMakeLists.txt @@ -1,9 +1,16 @@ cmake_minimum_required(VERSION 3.15) project(QR-Code-Generator) -include(src/files.cmake) -add_library(${LIBRARY_NAME} ${SRC}) +set(SRC_C ${CMAKE_SOURCE_DIR}/src/c/qrcodegen.c) +set(LIBRARY_NAME_C qrcodegenc) +set(HEADERS_C ${CMAKE_SOURCE_DIR}/src/c/qrcodegen.h) + +add_library(${LIBRARY_NAME_C} ${SRC_C}) +set_target_properties(${LIBRARY_NAME_C} PROPERTIES PUBLIC_HEADER "${HEADERS_C}") +install(TARGETS ${LIBRARY_NAME_C} RUNTIME LIBRARY ARCHIVE PUBLIC_HEADER DESTINATION include/qrcodegenc) +include(src/files.cmake) +add_library(${LIBRARY_NAME} ${SRC}) set_target_properties(${LIBRARY_NAME} PROPERTIES PUBLIC_HEADER "${HEADERS}") install(TARGETS ${LIBRARY_NAME} RUNTIME LIBRARY ARCHIVE PUBLIC_HEADER DESTINATION include/qrcodegen) diff --git a/recipes/qr-code-generator/all/conanfile.py b/recipes/qr-code-generator/all/conanfile.py index 84430d69ae1d0..656603b7ba557 100644 --- a/recipes/qr-code-generator/all/conanfile.py +++ b/recipes/qr-code-generator/all/conanfile.py @@ -101,8 +101,9 @@ def package(self): cmake.install() def package_info(self): - self.cpp_info.libs = [ - "qrcodegen" if Version(self.version) < "1.7.0" else "qrcodegencpp" - ] + self.cpp_info.components["qrcodegencpp"].set_property("cmake_target_name", "qr-code-generator::qrcodegencpp") + self.cpp_info.components["qrcodegencpp"].libs = ["qrcodegen" if Version(self.version) < "1.7.0" else "qrcodegencpp"] + self.cpp_info.components["qrcodegenc"].set_property("cmake_target_name", "qr-code-generator::qrcodegenc") + self.cpp_info.components["qrcodegenc"].libs = ["qrcodegenc"] if self.settings.os in ["Linux", "FreeBSD"]: self.cpp_info.system_libs.append("m") From 516d04f9fe41894905a3d3a603b76ef124e3dddc Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Thu, 4 Jul 2024 15:46:33 +0300 Subject: [PATCH 057/641] (#22195) ffmpeg: add v6.1.1, drop old versions * ffmpeg: add v6.1.1 * ffmpeg: short_paths = True * ffmpeg: hacky fix for "Argument list too long" * ffmpeg: add v7.0, drop old redundant versions * ffmpeg: clean up package_info() * ffmpeg: revert addition of v7.0 --- recipes/ffmpeg/all/conandata.yml | 66 +--- recipes/ffmpeg/all/conanfile.py | 301 ++++++------------ .../4.2-0001-fix-aom_codec_av1_dx_algo.patch | 11 - recipes/ffmpeg/config.yml | 16 +- 4 files changed, 95 insertions(+), 299 deletions(-) delete mode 100644 recipes/ffmpeg/all/patches/4.2-0001-fix-aom_codec_av1_dx_algo.patch diff --git a/recipes/ffmpeg/all/conandata.yml b/recipes/ffmpeg/all/conandata.yml index b51138c1bc00b..72d6f47cd55d3 100644 --- a/recipes/ffmpeg/all/conandata.yml +++ b/recipes/ffmpeg/all/conandata.yml @@ -1,40 +1,22 @@ sources: + "6.1.1": + url: "http://ffmpeg.org/releases/ffmpeg-6.1.1.tar.bz2" + sha256: "5e3133939a61ef64ac9b47ffd29a5ea6e337a4023ef0ad972094b4da844e3a20" "6.1": url: "http://ffmpeg.org/releases/ffmpeg-6.1.tar.bz2" sha256: "eb7da3de7dd3ce48a9946ab447a7346bd11a3a85e6efb8f2c2ce637e7f547611" "6.0.1": url: "http://ffmpeg.org/releases/ffmpeg-6.0.1.tar.bz2" sha256: "2c6e294569d1ba8e99cbf1acbe49e060a23454228a540a0f45d679d72ec69a06" - "6.0": - url: "https://ffmpeg.org/releases/ffmpeg-6.0.tar.bz2" - sha256: "47d062731c9f66a78380e35a19aac77cebceccd1c7cc309b9c82343ffc430c3d" "5.1.3": url: "https://ffmpeg.org/releases/ffmpeg-5.1.3.tar.bz2" sha256: "5d5bef6a11f0c500588f9870ec965a30acc0d54d8b1e535da6554a32902d236d" - "5.1": - url: "https://ffmpeg.org/releases/ffmpeg-5.1.tar.bz2" - sha256: "32b56fb01ce90d452958ae25e91c9564abf49ed5453c127bec23c63e530aa8fa" "5.0.3": url: "https://ffmpeg.org/releases/ffmpeg-5.0.3.tar.bz2" sha256: "664e8fa8ac4cc5dce03277f022798461998d9bb8d96b9e1859b24e74511229fd" - "5.0": - url: "https://ffmpeg.org/releases/ffmpeg-5.0.tar.bz2" - sha256: "c0130b8db2c763430fd1c6905288d61bc44ee0548ad5fcd2dfd650b88432bed9" "4.4.4": url: "https://ffmpeg.org/releases/ffmpeg-4.4.4.tar.bz2" sha256: "47b1fbf70a2c090d9c0fae5910da11c6406ca92408bb69d8c935cd46c622c7ce" - "4.4.3": - url: "https://ffmpeg.org/releases/ffmpeg-4.4.3.tar.bz2" - sha256: "33b8c2dbcd530fe1db5710415345609b4ca227bd0da1e3a9332dbb0f11fd273a" - "4.4": - url: "https://ffmpeg.org/releases/ffmpeg-4.4.tar.bz2" - sha256: "42093549751b582cf0f338a21a3664f52e0a9fbe0d238d3c992005e493607d0e" - "4.3.2": - url: "https://ffmpeg.org/releases/ffmpeg-4.3.2.tar.bz2" - sha256: "ab3a6d6a70358ba0a5f67f37f91f6656b7302b02e98e5b8c846c16763c99913a" - "4.2.1": - url: "https://ffmpeg.org/releases/ffmpeg-4.2.1.tar.bz2" - sha256: "682a9fa3f6864d7f0dbf224f86b129e337bc60286e0d00dffcd710998d521624" patches: "5.1.3": - patch_file: "patches/5.1-0001-fix-libsvtav1-compressed_ten_bit_format.patch" @@ -53,55 +35,13 @@ patches: patch_description: "Compatibility with vulkan >= 1.3.239" patch_type: "portability" patch_source: "https://git.ffmpeg.org/gitweb/ffmpeg.git/commit/eb0455d64690eed0068e5cb202f72ecdf899837c" - "5.1": - - patch_file: "patches/5.1-0001-fix-libsvtav1-compressed_ten_bit_format.patch" - patch_description: "Compatibility with libsvtav1 > 1.2.0" - patch_type: "portability" - patch_source: "https://git.ffmpeg.org/gitweb/ffmpeg.git/commit/031f1561cd286596cdb374da32f8aa816ce3b135" - - patch_file: "patches/5.1-0002-fix-libsvtav1-vbv_bufsize-1.patch" - patch_description: "Compatibility with libsvtav1 > 1.2.0" - patch_type: "portability" - patch_source: "https://git.ffmpeg.org/gitweb/ffmpeg.git/commit/1c6fd7d756afe0f8b7df14dbf7a95df275f8f5ee" - - patch_file: "patches/5.1-0003-fix-libsvtav1-vbv_bufsize-2.patch" - patch_description: "Compatibility with libsvtav1 > 1.2.0" - patch_type: "portability" - patch_source: "https://git.ffmpeg.org/gitweb/ffmpeg.git/commit/96748ac54f998ba6fe22802799c16b4eba8d4ccc" - - patch_file: "patches/5.0-0001-fix-hwcontext_vulkan.patch" - patch_description: "Compatibility with vulkan >= 1.3.239" - patch_type: "portability" - patch_source: "https://git.ffmpeg.org/gitweb/ffmpeg.git/commit/eb0455d64690eed0068e5cb202f72ecdf899837c" "5.0.3": - patch_file: "patches/5.0-0001-fix-hwcontext_vulkan.patch" patch_description: "Compatibility with vulkan >= 1.3.239" patch_type: "portability" patch_source: "https://git.ffmpeg.org/gitweb/ffmpeg.git/commit/eb0455d64690eed0068e5cb202f72ecdf899837c" - "5.0": - - patch_file: "patches/5.0-0001-fix-hwcontext_vulkan.patch" - patch_description: "Compatibility with vulkan >= 1.3.239" - patch_type: "portability" - patch_source: "https://git.ffmpeg.org/gitweb/ffmpeg.git/commit/eb0455d64690eed0068e5cb202f72ecdf899837c" "4.4.4": - patch_file: "patches/4.4-0001-fix-aom_codec_av1_dx_algo.patch" patch_description: "Compatibility with shared libaom" patch_type: "portability" patch_source: "https://git.ffmpeg.org/gitweb/ffmpeg.git/commit/d92fdc714496d43234733c315894abe0beeb3529" - "4.4.3": - - patch_file: "patches/4.4-0001-fix-aom_codec_av1_dx_algo.patch" - patch_description: "Compatibility with shared libaom" - patch_type: "portability" - patch_source: "https://git.ffmpeg.org/gitweb/ffmpeg.git/commit/d92fdc714496d43234733c315894abe0beeb3529" - "4.4": - - patch_file: "patches/4.4-0001-fix-aom_codec_av1_dx_algo.patch" - patch_description: "Compatibility with shared libaom" - patch_type: "portability" - patch_source: "https://git.ffmpeg.org/gitweb/ffmpeg.git/commit/d92fdc714496d43234733c315894abe0beeb3529" - "4.3.2": - - patch_file: "patches/4.2-0001-fix-aom_codec_av1_dx_algo.patch" - patch_description: "Compatibility with shared libaom" - patch_type: "portability" - patch_source: "https://git.ffmpeg.org/gitweb/ffmpeg.git/commit/d92fdc714496d43234733c315894abe0beeb3529" - "4.2.1": - - patch_file: "patches/4.2-0001-fix-aom_codec_av1_dx_algo.patch" - patch_description: "Compatibility with shared libaom" - patch_type: "portability" - patch_source: "https://git.ffmpeg.org/gitweb/ffmpeg.git/commit/d92fdc714496d43234733c315894abe0beeb3529" diff --git a/recipes/ffmpeg/all/conanfile.py b/recipes/ffmpeg/all/conanfile.py index faccb5c3993a9..6cd1f6feec751 100644 --- a/recipes/ffmpeg/all/conanfile.py +++ b/recipes/ffmpeg/all/conanfile.py @@ -1,4 +1,4 @@ -from conan import ConanFile +from conan import ConanFile, conan_version from conan.errors import ConanInvalidConfiguration from conan.tools.apple import is_apple_os from conan.tools.build import cross_building @@ -190,6 +190,8 @@ class FFMpegConan(ConanFile): "disable_filters": None, "enable_filters": None, } + # Fix for mslink: Argument list too long + short_paths = True @property def _settings_build(self): @@ -347,6 +349,10 @@ def validate(self): raise ConanInvalidConfiguration("FFmpeg '{}' option requires '{}' option to be enabled".format( dependency, "' or '".join(features))) + if conan_version.major == 1 and is_msvc(self) and self.options.shared: + # Linking fails with "Argument list too long" for some reason on Conan v1 + raise ConanInvalidConfiguration("MSVC shared build is not supported for Conan v1") + def build_requirements(self): if self.settings.arch in ("x86", "x86_64"): self.tool_requires("yasm/1.3.0") @@ -490,35 +496,25 @@ def opt_append_disable_if_set(args, what, v): opt_enable_disable("libaom", self.options.with_libaom), opt_enable_disable("openssl", self.options.with_ssl == "openssl"), opt_enable_disable("alsa", self.options.get_safe("with_libalsa")), - opt_enable_disable( - "libpulse", self.options.get_safe("with_pulse")), + opt_enable_disable("libpulse", self.options.get_safe("with_pulse")), opt_enable_disable("vaapi", self.options.get_safe("with_vaapi")), opt_enable_disable("vdpau", self.options.get_safe("with_vdpau")), opt_enable_disable("libxcb", self.options.get_safe("with_xcb")), - opt_enable_disable( - "libxcb-shm", self.options.get_safe("with_xcb")), - opt_enable_disable( - "libxcb-shape", self.options.get_safe("with_xcb")), - opt_enable_disable( - "libxcb-xfixes", self.options.get_safe("with_xcb")), + opt_enable_disable("libxcb-shm", self.options.get_safe("with_xcb")), + opt_enable_disable("libxcb-shape", self.options.get_safe("with_xcb")), + opt_enable_disable("libxcb-xfixes", self.options.get_safe("with_xcb")), opt_enable_disable("appkit", self.options.get_safe("with_appkit")), - opt_enable_disable( - "avfoundation", self.options.get_safe("with_avfoundation")), - opt_enable_disable( - "coreimage", self.options.get_safe("with_coreimage")), - 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("avfoundation", self.options.get_safe("with_avfoundation")), + opt_enable_disable("coreimage", self.options.get_safe("with_coreimage")), + 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"), "--disable-cuda", # FIXME: CUDA support "--disable-cuvid", # FIXME: CUVID support # Licenses opt_enable_disable("nonfree", self.options.with_libfdk_aac or (self.options.with_ssl and ( self.options.with_libx264 or self.options.with_libx265 or self.options.postproc))), - opt_enable_disable( - "gpl", self.options.with_libx264 or self.options.with_libx265 or self.options.postproc) + opt_enable_disable("gpl", self.options.with_libx264 or self.options.with_libx265 or self.options.postproc) ] # Individual Component Options @@ -760,265 +756,148 @@ def _set_component_version(self, component_name): def package_info(self): if self.options.with_programs: if self.options.with_sdl: - self.cpp_info.components["programs"].requires = [ - "sdl::libsdl2"] - + self.cpp_info.components["programs"].requires = ["sdl::libsdl2"] + + def _add_component(name, dependencies): + component = self.cpp_info.components[name] + component.set_property("pkg_config_name", f"lib{name}") + self._set_component_version(name) + component.libs = [name] + if name != "avutil": + component.requires = ["avutil"] + for dep in dependencies: + if self.options.get_safe(dep): + component.requires.append(dep) + if self.settings.os in ("FreeBSD", "Linux"): + component.system_libs.append("m") + return component + + avutil = _add_component("avutil", []) if self.options.avdevice: - self.cpp_info.components["avdevice"].set_property( - "pkg_config_name", "libavdevice") - self.cpp_info.components["avdevice"].libs = ["avdevice"] - self.cpp_info.components["avdevice"].requires = ["avutil"] - if self.options.avfilter: - self.cpp_info.components["avdevice"].requires.append( - "avfilter") - if self.options.swscale: - self.cpp_info.components["avdevice"].requires.append("swscale") - if self.options.avformat: - self.cpp_info.components["avdevice"].requires.append( - "avformat") - if self.options.avcodec: - self.cpp_info.components["avdevice"].requires.append("avcodec") - if self.options.swresample: - self.cpp_info.components["avdevice"].requires.append( - "swresample") - if self.options.postproc: - self.cpp_info.components["avdevice"].requires.append( - "postproc") - self._set_component_version("avdevice") - + avdevice = _add_component("avdevice", ["avfilter", "swscale", "avformat", "avcodec", "swresample", "postproc"]) if self.options.avfilter: - self.cpp_info.components["avfilter"].set_property( - "pkg_config_name", "libavfilter") - self.cpp_info.components["avfilter"].libs = ["avfilter"] - self.cpp_info.components["avfilter"].requires = ["avutil"] - if self.options.swscale: - self.cpp_info.components["avfilter"].requires.append("swscale") - if self.options.avformat: - self.cpp_info.components["avfilter"].requires.append( - "avformat") - if self.options.avcodec: - self.cpp_info.components["avfilter"].requires.append("avcodec") - if self.options.swresample: - self.cpp_info.components["avfilter"].requires.append( - "swresample") - if self.options.postproc: - self.cpp_info.components["avfilter"].requires.append( - "postproc") - self._set_component_version("avfilter") - + avfilter = _add_component("avfilter", ["swscale", "avformat", "avcodec", "swresample", "postproc"]) if self.options.avformat: - self.cpp_info.components["avformat"].set_property( - "pkg_config_name", "libavformat") - self.cpp_info.components["avformat"].libs = ["avformat"] - self.cpp_info.components["avformat"].requires = ["avutil"] - if self.options.avcodec: - self.cpp_info.components["avformat"].requires.append("avcodec") - if self.options.swresample: - self.cpp_info.components["avformat"].requires.append( - "swresample") - self._set_component_version("avformat") - + avformat = _add_component("avformat", ["avcodec", "swscale"]) if self.options.avcodec: - self.cpp_info.components["avcodec"].set_property( - "pkg_config_name", "libavcodec") - self.cpp_info.components["avcodec"].libs = ["avcodec"] - self.cpp_info.components["avcodec"].requires = ["avutil"] - if self.options.swresample: - self.cpp_info.components["avcodec"].requires.append( - "swresample") - self._set_component_version("avcodec") - + avcodec = _add_component("avcodec", ["swresample"]) if self.options.swscale: - self.cpp_info.components["swscale"].set_property( - "pkg_config_name", "libswscale") - self.cpp_info.components["swscale"].libs = ["swscale"] - self.cpp_info.components["swscale"].requires = ["avutil"] - self._set_component_version("swscale") - + _add_component("swscale", []) if self.options.swresample: - self.cpp_info.components["swresample"].set_property( - "pkg_config_name", "libswresample") - self.cpp_info.components["swresample"].libs = ["swresample"] - self.cpp_info.components["swresample"].requires = ["avutil"] - self._set_component_version("swresample") - + _add_component("swresample", []) if self.options.postproc: - self.cpp_info.components["postproc"].set_property( - "pkg_config_name", "libpostproc") - self.cpp_info.components["postproc"].libs = ["postproc"] - self.cpp_info.components["postproc"].requires = ["avutil"] - self._set_component_version("postproc") - - self.cpp_info.components["avutil"].set_property( - "pkg_config_name", "libavutil") - self.cpp_info.components["avutil"].libs = ["avutil"] - self._set_component_version("avutil") + _add_component("postproc", []) if self.settings.os in ("FreeBSD", "Linux"): - self.cpp_info.components["avutil"].system_libs = [ - "pthread", "m", "dl"] - if self.options.swresample: - self.cpp_info.components["swresample"].system_libs = ["m"] - if self.options.swscale: - self.cpp_info.components["swscale"].system_libs = ["m"] - if self.options.postproc: - self.cpp_info.components["postproc"].system_libs = ["m"] + avutil.system_libs.extend(["pthread", "dl"]) if self.options.get_safe("fPIC"): if self.settings.compiler in ("gcc", "clang"): # https://trac.ffmpeg.org/ticket/1713 # https://ffmpeg.org/platform.html#Advanced-linking-configuration # https://ffmpeg.org/pipermail/libav-user/2014-December/007719.html - self.cpp_info.components["avcodec"].exelinkflags.append( - "-Wl,-Bsymbolic") - self.cpp_info.components["avcodec"].sharedlinkflags.append( - "-Wl,-Bsymbolic") - if self.options.avformat: - self.cpp_info.components["avformat"].system_libs = ["m"] + avcodec.exelinkflags.append("-Wl,-Bsymbolic") + avcodec.sharedlinkflags.append("-Wl,-Bsymbolic") if self.options.avfilter: - self.cpp_info.components["avfilter"].system_libs = [ - "m", "pthread"] - if self.options.avdevice: - self.cpp_info.components["avdevice"].system_libs = ["m"] + avfilter.system_libs.append("pthread") elif self.settings.os == "Windows": if self.options.avcodec: - self.cpp_info.components["avcodec"].system_libs = ["mfplat", "mfuuid", "strmiids"] + avcodec.system_libs = ["mfplat", "mfuuid", "strmiids"] if self.options.avdevice: - self.cpp_info.components["avdevice"].system_libs = [ - "ole32", "psapi", "strmiids", "uuid", "oleaut32", "shlwapi", "gdi32", "vfw32"] - self.cpp_info.components["avutil"].system_libs = [ - "user32", "bcrypt"] - self.cpp_info.components["avformat"].system_libs = ["secur32"] + avdevice.system_libs = ["ole32", "psapi", "strmiids", "uuid", "oleaut32", "shlwapi", "gdi32", "vfw32"] + avutil.system_libs = ["user32", "bcrypt"] + avformat.system_libs = ["secur32"] elif is_apple_os(self): if self.options.avdevice: - self.cpp_info.components["avdevice"].frameworks = [ - "CoreFoundation", "Foundation", "CoreGraphics"] + avdevice.frameworks = ["CoreFoundation", "Foundation", "CoreGraphics"] if self.options.avfilter: - self.cpp_info.components["avfilter"].frameworks = [ - "CoreGraphics"] + avfilter.frameworks = ["CoreGraphics"] if self.options.avcodec: - self.cpp_info.components["avcodec"].frameworks = [ - "CoreFoundation", "CoreVideo", "CoreMedia"] + avcodec.frameworks = ["CoreFoundation", "CoreVideo", "CoreMedia"] if self.settings.os == "Macos": if self.options.avdevice: - self.cpp_info.components["avdevice"].frameworks.append( - "OpenGL") + avdevice.frameworks.append("OpenGL") if self.options.avfilter: - self.cpp_info.components["avfilter"].frameworks.append( - "OpenGL") + avfilter.frameworks.append("OpenGL") if self.options.avdevice: if self.options.get_safe("with_libalsa"): - self.cpp_info.components["avdevice"].requires.append( - "libalsa::libalsa") + avdevice.requires.append("libalsa::libalsa") if self.options.get_safe("with_xcb"): - self.cpp_info.components["avdevice"].requires.append( - "xorg::xcb") + avdevice.requires.append("xorg::xcb") if self.options.get_safe("with_pulse"): - self.cpp_info.components["avdevice"].requires.append( - "pulseaudio::pulseaudio") + avdevice.requires.append("pulseaudio::pulseaudio") if self.options.get_safe("with_appkit"): - self.cpp_info.components["avdevice"].frameworks.append( - "AppKit") + avdevice.frameworks.append("AppKit") if self.options.get_safe("with_avfoundation"): - self.cpp_info.components["avdevice"].frameworks.append( - "AVFoundation") + avdevice.frameworks.append("AVFoundation") if self.options.get_safe("with_audiotoolbox"): - self.cpp_info.components["avdevice"].frameworks.append( - "CoreAudio") + avdevice.frameworks.append("CoreAudio") if self.options.avcodec: if self.options.with_zlib: - self.cpp_info.components["avcodec"].requires.append( - "zlib::zlib") + avcodec.requires.append("zlib::zlib") if self.options.with_lzma: - self.cpp_info.components["avcodec"].requires.append( - "xz_utils::xz_utils") + avcodec.requires.append("xz_utils::xz_utils") if self.options.with_libiconv: - self.cpp_info.components["avcodec"].requires.append( - "libiconv::libiconv") + avcodec.requires.append("libiconv::libiconv") if self.options.with_openjpeg: - self.cpp_info.components["avcodec"].requires.append( - "openjpeg::openjpeg") + avcodec.requires.append("openjpeg::openjpeg") if self.options.with_openh264: - self.cpp_info.components["avcodec"].requires.append( - "openh264::openh264") + avcodec.requires.append("openh264::openh264") if self.options.with_vorbis: - self.cpp_info.components["avcodec"].requires.append( - "vorbis::vorbis") + avcodec.requires.append("vorbis::vorbis") if self.options.with_opus: - self.cpp_info.components["avcodec"].requires.append( - "opus::opus") + avcodec.requires.append("opus::opus") if self.options.with_libx264: - self.cpp_info.components["avcodec"].requires.append( - "libx264::libx264") + avcodec.requires.append("libx264::libx264") if self.options.with_libx265: - self.cpp_info.components["avcodec"].requires.append( - "libx265::libx265") + avcodec.requires.append("libx265::libx265") if self.options.with_libvpx: - self.cpp_info.components["avcodec"].requires.append( - "libvpx::libvpx") + avcodec.requires.append("libvpx::libvpx") if self.options.with_libmp3lame: - self.cpp_info.components["avcodec"].requires.append( - "libmp3lame::libmp3lame") + avcodec.requires.append("libmp3lame::libmp3lame") if self.options.with_libfdk_aac: - self.cpp_info.components["avcodec"].requires.append( - "libfdk_aac::libfdk_aac") + avcodec.requires.append("libfdk_aac::libfdk_aac") if self.options.with_libwebp: - self.cpp_info.components["avcodec"].requires.append( - "libwebp::libwebp") + avcodec.requires.append("libwebp::libwebp") if self.options.get_safe("with_audiotoolbox"): - self.cpp_info.components["avcodec"].frameworks.append( - "AudioToolbox") + avcodec.frameworks.append("AudioToolbox") if self.options.get_safe("with_videotoolbox"): - self.cpp_info.components["avcodec"].frameworks.append( - "VideoToolbox") + avcodec.frameworks.append("VideoToolbox") if self.options.get_safe("with_libsvtav1"): - self.cpp_info.components["avcodec"].requires.extend( - ["libsvtav1::decoder", "libsvtav1::encoder"]) + avcodec.requires.extend(["libsvtav1::decoder", "libsvtav1::encoder"]) if self.options.get_safe("with_libaom"): - self.cpp_info.components["avcodec"].requires.append( - "libaom-av1::libaom-av1") + avcodec.requires.append("libaom-av1::libaom-av1") if self.options.get_safe("with_libdav1d"): - self.cpp_info.components["avcodec"].requires.append( - "dav1d::dav1d") + avcodec.requires.append("dav1d::dav1d") if self.options.avformat: if self.options.with_bzip2: - self.cpp_info.components["avformat"].requires.append( - "bzip2::bzip2") + avformat.requires.append("bzip2::bzip2") if self.options.with_zeromq: - self.cpp_info.components["avformat"].requires.append( - "zeromq::libzmq") + avformat.requires.append("zeromq::libzmq") if self.options.with_ssl == "openssl": - self.cpp_info.components["avformat"].requires.append( - "openssl::ssl") + avformat.requires.append("openssl::ssl") elif self.options.with_ssl == "securetransport": - self.cpp_info.components["avformat"].frameworks.append( - "Security") + avformat.frameworks.append("Security") if self.options.avfilter: if self.options.with_freetype: - self.cpp_info.components["avfilter"].requires.append( - "freetype::freetype") + avfilter.requires.append("freetype::freetype") if self.options.with_zeromq: - self.cpp_info.components["avfilter"].requires.append( - "zeromq::libzmq") + avfilter.requires.append("zeromq::libzmq") if self.options.get_safe("with_appkit"): - self.cpp_info.components["avfilter"].frameworks.append( - "AppKit") + avfilter.frameworks.append("AppKit") if self.options.get_safe("with_coreimage"): - self.cpp_info.components["avfilter"].frameworks.append( - "CoreImage") + avfilter.frameworks.append("CoreImage") if Version(self.version) >= "5.0" and is_apple_os(self): - self.cpp_info.components["avfilter"].frameworks.append("Metal") + avfilter.frameworks.append("Metal") if self.options.get_safe("with_vaapi"): - self.cpp_info.components["avutil"].requires.extend( - ["vaapi::vaapi", "xorg::x11"]) + avutil.requires.extend(["vaapi::vaapi", "xorg::x11"]) if self.options.get_safe("with_vdpau"): - self.cpp_info.components["avutil"].requires.append("vdpau::vdpau") + avutil.requires.append("vdpau::vdpau") if self._version_supports_vulkan and self.options.get_safe("with_vulkan"): - self.cpp_info.components["avutil"].requires.append( - "vulkan-loader::vulkan-loader") + avutil.requires.append("vulkan-loader::vulkan-loader") diff --git a/recipes/ffmpeg/all/patches/4.2-0001-fix-aom_codec_av1_dx_algo.patch b/recipes/ffmpeg/all/patches/4.2-0001-fix-aom_codec_av1_dx_algo.patch deleted file mode 100644 index 7ed8995ec2e47..0000000000000 --- a/recipes/ffmpeg/all/patches/4.2-0001-fix-aom_codec_av1_dx_algo.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/libavcodec/libaomdec.c -+++ b/libavcodec/libaomdec.c -@@ -216,7 +216,7 @@ static av_cold int aom_free(AVCodecContext *avctx) - - static av_cold int av1_init(AVCodecContext *avctx) - { -- return aom_init(avctx, &aom_codec_av1_dx_algo); -+ return aom_init(avctx, aom_codec_av1_dx()); - } - - AVCodec ff_libaom_av1_decoder = { diff --git a/recipes/ffmpeg/config.yml b/recipes/ffmpeg/config.yml index 0ea4ae6cca888..7c2f1e0428fcb 100644 --- a/recipes/ffmpeg/config.yml +++ b/recipes/ffmpeg/config.yml @@ -1,25 +1,13 @@ versions: + "6.1.1": + folder: "all" "6.1": folder: "all" "6.0.1": folder: "all" - "6.0": - folder: "all" "5.1.3": folder: "all" - "5.1": - folder: "all" "5.0.3": folder: "all" - "5.0": - folder: "all" "4.4.4": folder: "all" - "4.4.3": - folder: "all" - "4.4": - folder: "all" - "4.3.2": - folder: "all" - "4.2.1": - folder: "all" From 0bb9c32c298614ad20a19ed6deecefbeeb5fdc19 Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Thu, 4 Jul 2024 14:22:46 +0100 Subject: [PATCH 058/641] (#24519) [bot] Update authorized users list (2024-07-04) Co-authored-by: conan-center-bot --- .c3i/authorized_users.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.c3i/authorized_users.yml b/.c3i/authorized_users.yml index b950390d7e806..7ad19553c3a85 100644 --- a/.c3i/authorized_users.yml +++ b/.c3i/authorized_users.yml @@ -1380,3 +1380,5 @@ authorized_users: - MridulS - leemaguire - RobinQu +- MatthewRasa +- jan-kelemen From d51965533b518c9bb23d1114b7ca024448f554db Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 4 Jul 2024 23:38:54 +0900 Subject: [PATCH 059/641] (#24517) lunasvg: add version 2.4.0 --- recipes/lunasvg/all/conandata.yml | 7 +++++++ recipes/lunasvg/config.yml | 2 ++ 2 files changed, 9 insertions(+) diff --git a/recipes/lunasvg/all/conandata.yml b/recipes/lunasvg/all/conandata.yml index 841dc89eb9587..c0096452d5b87 100644 --- a/recipes/lunasvg/all/conandata.yml +++ b/recipes/lunasvg/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.4.0": + url: "https://github.com/sammycage/lunasvg/archive/v2.4.0.tar.gz" + sha256: "0682c60501c91d75f4261d9c1a5cd44c2c9da8dba76f8402eab628448c9a4591" "2.3.9": url: "https://github.com/sammycage/lunasvg/archive/v2.3.9.tar.gz" sha256: "088bc9fd1191a004552c65bdcc260989b83da441b0bdaa965e79d984feba88fa" @@ -18,6 +21,10 @@ sources: url: "https://github.com/sammycage/lunasvg/archive/refs/tags/v2.3.1.tar.gz" sha256: "6492bf0f51982f5382f83f1a42f247bb1bbcbaef4a15963bbd53073cd4944a25" patches: + "2.4.0": + - patch_file: "patches/2.3.9-0001-fix-cmake.patch" + patch_description: "use external plutovg and fix installation path for conan" + patch_type: "conan" "2.3.9": - patch_file: "patches/2.3.9-0001-fix-cmake.patch" patch_description: "use external plutovg and fix installation path for conan" diff --git a/recipes/lunasvg/config.yml b/recipes/lunasvg/config.yml index 670758a7b8c7f..b01edffe69a57 100644 --- a/recipes/lunasvg/config.yml +++ b/recipes/lunasvg/config.yml @@ -1,4 +1,6 @@ versions: + "2.4.0": + folder: all "2.3.9": folder: all "2.3.8": From 302564b94c077e7380a5c01e0c1f6e25ba52ad67 Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 5 Jul 2024 00:32:30 +0900 Subject: [PATCH 060/641] (#24473) caf: add version 1.0.0 * caf: add version 1.0.0 * drop support gcc7 on 1.0.0 * use CAF_CXX_VERSION --- recipes/caf/all/conandata.yml | 3 +++ recipes/caf/all/conanfile.py | 9 +++++---- recipes/caf/config.yml | 2 ++ 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/recipes/caf/all/conandata.yml b/recipes/caf/all/conandata.yml index 4b177005e2f51..ae0696f7a640b 100644 --- a/recipes/caf/all/conandata.yml +++ b/recipes/caf/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.0.0": + url: "https://github.com/actor-framework/actor-framework/archive/1.0.0.tar.gz" + sha256: "602018239d23a1805d35ebda704fd5c969a0693fc513fcf7459063b628459e5b" "0.19.4": url: "https://github.com/actor-framework/actor-framework/archive/0.19.4.tar.gz" sha256: "114d43e3a7a2305ca1d2106cd0daeff471564f62b90db1e453ba9eb5c47c02f6" diff --git a/recipes/caf/all/conanfile.py b/recipes/caf/all/conanfile.py index 08713d4f8b3b0..a477d38bc4ce6 100644 --- a/recipes/caf/all/conanfile.py +++ b/recipes/caf/all/conanfile.py @@ -12,11 +12,10 @@ class CAFConan(ConanFile): name = "caf" description = "An open source implementation of the Actor Model in C++" + license = "BSD-3-Clause", "BSL-1.0" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/actor-framework/actor-framework" - topics = "actor-framework", "actor-model", "pattern-matching", "actors" - license = "BSD-3-Clause", "BSL-1.0" - + topics = ("actor-framework", "actor-model", "pattern-matching", "actors") package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { @@ -41,7 +40,7 @@ def _minimum_compilers_version(self): return { "Visual Studio": "16", "msvc": "192", - "gcc": "7", + "gcc": "7" if Version(self.version) < "1.0.0" else "8", "clang": "6", # Should be 5 but clang 5 has a bug that breaks compiling CAF # see https://github.com/actor-framework/actor-framework/issues/1226 "apple-clang": "10", @@ -90,6 +89,8 @@ def generate(self): tc = CMakeToolchain(self) if not valid_min_cppstd(self, self._min_cppstd): tc.variables["CMAKE_CXX_STANDARD"] = self._min_cppstd + else: + tc.variables["CAF_CXX_VERSION"] = str(self.settings.compiler.cppstd).replace("gnu", "") tc.variables["CAF_ENABLE_OPENSSL_MODULE"] = self.options.with_openssl tc.variables["CAF_ENABLE_EXAMPLES"] = False tc.variables["CAF_ENABLE_TOOLS"] = False diff --git a/recipes/caf/config.yml b/recipes/caf/config.yml index 548a9345742d5..a133d776e2a27 100644 --- a/recipes/caf/config.yml +++ b/recipes/caf/config.yml @@ -1,4 +1,6 @@ versions: + "1.0.0": + folder: all "0.19.4": folder: all "0.19.3": From 451a568f5e8d420c0167e386f755c987e51af16b Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 5 Jul 2024 04:31:10 +0900 Subject: [PATCH 061/641] (#23926) mongo-cxx-driver: add version 3.10.1, update mongo-c-driver * mongo-cxx-driver: add version 3.10.1 * remove abi suffixes * remove api_tag --- recipes/mongo-cxx-driver/all/conandata.yml | 10 +++ recipes/mongo-cxx-driver/all/conanfile.py | 11 +++- .../all/patches/3.10.1-0001-dirs.patch | 61 +++++++++++++++++++ .../3.10.1-0002-remove-abi-suffixes.patch | 26 ++++++++ recipes/mongo-cxx-driver/config.yml | 2 + 5 files changed, 108 insertions(+), 2 deletions(-) create mode 100644 recipes/mongo-cxx-driver/all/patches/3.10.1-0001-dirs.patch create mode 100644 recipes/mongo-cxx-driver/all/patches/3.10.1-0002-remove-abi-suffixes.patch diff --git a/recipes/mongo-cxx-driver/all/conandata.yml b/recipes/mongo-cxx-driver/all/conandata.yml index 58272018f4021..002c89f370676 100644 --- a/recipes/mongo-cxx-driver/all/conandata.yml +++ b/recipes/mongo-cxx-driver/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "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" "3.8.1": url: "https://github.com/mongodb/mongo-cxx-driver/releases/download/r3.8.1/mongo-cxx-driver-r3.8.1.tar.gz" sha256: "b12c96670e1e68bae1a6f5cb08541f3da52f5ddeb5def274d2cf5d662ef73160" @@ -24,6 +27,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.1": + - patch_file: "patches/3.10.1-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.8.1": - patch_file: "patches/3.8.1-0001-dirs.patch" patch_description: "disable documentation features, fix directories" diff --git a/recipes/mongo-cxx-driver/all/conanfile.py b/recipes/mongo-cxx-driver/all/conanfile.py index 26e997f666df1..f123921c3c4aa 100644 --- a/recipes/mongo-cxx-driver/all/conanfile.py +++ b/recipes/mongo-cxx-driver/all/conanfile.py @@ -4,6 +4,7 @@ from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout from conan.tools.files import export_conandata_patches, apply_conandata_patches, copy, get, rm, rmdir from conan.tools.scm import Version +from conan.tools.microsoft import is_msvc import os import shutil @@ -12,10 +13,10 @@ class MongoCxxConan(ConanFile): name = "mongo-cxx-driver" + description = "C++ Driver for MongoDB" license = "Apache-2.0" url = "https://github.com/conan-io/conan-center-index" homepage = "http://mongocxx.org" - description = "C++ Driver for MongoDB" topics = ("libbsoncxx", "libmongocxx", "mongo", "mongodb", "database", "db") package_type = "library" settings = "os", "arch", "compiler", "build_type" @@ -47,7 +48,7 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("mongo-c-driver/1.24.3") + self.requires("mongo-c-driver/1.27.1") if self.options.polyfill == "boost": self.requires("boost/1.82.0", transitive_headers=True) @@ -129,6 +130,8 @@ def generate(self): if not valid_min_cppstd(self, self._minimal_std_version): tc.variables["CMAKE_CXX_STANDARD"] = self._minimal_std_version tc.variables["ENABLE_TESTS"] = False + if Version(self.version) >= "3.10.1" and is_msvc(self): + tc.variables["ENABLE_ABI_TAG_IN_LIBRARY_FILENAMES"] = False tc.generate() deps = CMakeDeps(self) @@ -182,6 +185,8 @@ def package_info(self): if not self.options.shared: self.cpp_info.components["mongocxx"].defines.append("MONGOCXX_STATIC") self.cpp_info.components["mongocxx"].requires = ["mongo-c-driver::mongoc", "bsoncxx"] + if Version(self.version) >= "3.10.1": + self.cpp_info.components["mongocxx"].includedirs.append(os.path.join("include", "mongocxx", "v_noabi")) # bsoncxx bsoncxx_target = "bsoncxx_shared" if self.options.shared else "bsoncxx_static" @@ -197,3 +202,5 @@ def package_info(self): self.cpp_info.components["bsoncxx"].requires = ["mongo-c-driver::bson"] if self.options.polyfill == "boost": self.cpp_info.components["bsoncxx"].requires.append("boost::headers") + if Version(self.version) >= "3.10.1": + self.cpp_info.components["bsoncxx"].includedirs.append(os.path.join("include", "bsoncxx", "v_noabi")) diff --git a/recipes/mongo-cxx-driver/all/patches/3.10.1-0001-dirs.patch b/recipes/mongo-cxx-driver/all/patches/3.10.1-0001-dirs.patch new file mode 100644 index 0000000000000..41a672d93964e --- /dev/null +++ b/recipes/mongo-cxx-driver/all/patches/3.10.1-0001-dirs.patch @@ -0,0 +1,61 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 2a960f7..f809b6c 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -315,7 +315,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 + ) +@@ -371,7 +371,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) + +@@ -381,13 +381,13 @@ option(ENABLE_MACRO_GUARD_TESTS "Enable targets for macro guard compile tests." + if(ENABLE_TESTS) + enable_testing() + endif() +- ++set(MONGO_CXX_PROJECT_DIR ${CMAKE_CURRENT_SOURCE_DIR}) ++set(MONGO_CXX_PROJECT_BIN_DIR ${CMAKE_CURRENT_BINARY_DIR}) + add_subdirectory(src) ++# add_subdirectory(examples EXCLUDE_FROM_ALL) + +-add_subdirectory(examples EXCLUDE_FROM_ALL) +- +-add_subdirectory(benchmark EXCLUDE_FROM_ALL) +- ++# add_subdirectory(benchmark EXCLUDE_FROM_ALL) ++if(FALSE) + # Implement 'dist' target + # + # CMake does not implement anything like 'dist' from autotools. +@@ -525,3 +525,4 @@ endif() + if(CMAKE_GENERATOR_TOOLSET) + message(STATUS "\tinstance: ${CMAKE_GENERATOR_TOOLSET}") + endif() ++endif() +diff --git a/src/bsoncxx/CMakeLists.txt b/src/bsoncxx/CMakeLists.txt +index ce53a71..bcd0a61 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/all/patches/3.10.1-0002-remove-abi-suffixes.patch b/recipes/mongo-cxx-driver/all/patches/3.10.1-0002-remove-abi-suffixes.patch new file mode 100644 index 0000000000000..f1fdc639b41ea --- /dev/null +++ b/recipes/mongo-cxx-driver/all/patches/3.10.1-0002-remove-abi-suffixes.patch @@ -0,0 +1,26 @@ +diff --git a/cmake/BsoncxxUtil.cmake b/cmake/BsoncxxUtil.cmake +index c72f98e..5f977e1 100644 +--- a/cmake/BsoncxxUtil.cmake ++++ b/cmake/BsoncxxUtil.cmake +@@ -76,7 +76,7 @@ function(bsoncxx_add_library TARGET OUTPUT_NAME LINK_TYPE) + endif() + + # MSVC-specific ABI tag suffixes. +- if(MSVC) ++ if(0) + set(vs_suffix "") + + # Include the target architecture if applicable (Win32, x64, etc.). +diff --git a/cmake/MongocxxUtil.cmake b/cmake/MongocxxUtil.cmake +index de9210c..f9937f4 100644 +--- a/cmake/MongocxxUtil.cmake ++++ b/cmake/MongocxxUtil.cmake +@@ -63,7 +63,7 @@ function(mongocxx_add_library TARGET OUTPUT_NAME LINK_TYPE) + endif() + + # MSVC-specific ABI tag suffixes. Inherit from bsoncxx. +- if(MSVC) ++ if(0) + get_target_property(vs_suffix ${bsoncxx_target} BSONCXX_ABI_TAG_VS_SUFFIX) + set_target_properties(${TARGET} PROPERTIES + BSONCXX_ABI_TAG_VS_SUFFIX ${vs_suffix} diff --git a/recipes/mongo-cxx-driver/config.yml b/recipes/mongo-cxx-driver/config.yml index dfc6d8b54584e..e353de8ba013d 100644 --- a/recipes/mongo-cxx-driver/config.yml +++ b/recipes/mongo-cxx-driver/config.yml @@ -1,4 +1,6 @@ versions: + "3.10.1": + folder: all "3.8.1": folder: all "3.8.0": From f5a1ff99cfc818b52460a759c2ddde83f7ccc1bd Mon Sep 17 00:00:00 2001 From: Mateusz Pusz Date: Fri, 5 Jul 2024 06:09:59 +0900 Subject: [PATCH 062/641] (#24332) mp-units-2.2.0 added * mp-units-2.2.0 added * Code review feedback implemented * `contracts: none` is a valid setting for `freestanding` * Update recipes/mp-units/2.2.0/conanfile.py Co-authored-by: Luis Caro Campos <3535649+jcar87@users.noreply.github.com> * Code review comments applied in new version 2.2.1 * "Visual Studio" compiler compatibility added --------- Co-authored-by: Luis Caro Campos <3535649+jcar87@users.noreply.github.com> --- recipes/mp-units/2.2.0/conandata.yml | 4 + recipes/mp-units/2.2.0/conanfile.py | 274 ++++++++++++++++++ .../2.2.0/test_package/CMakeLists.txt | 10 + .../mp-units/2.2.0/test_package/conanfile.py | 27 ++ .../2.2.0/test_package/test_package.cpp | 16 + recipes/mp-units/config.yml | 2 + 6 files changed, 333 insertions(+) create mode 100644 recipes/mp-units/2.2.0/conandata.yml create mode 100644 recipes/mp-units/2.2.0/conanfile.py create mode 100644 recipes/mp-units/2.2.0/test_package/CMakeLists.txt create mode 100644 recipes/mp-units/2.2.0/test_package/conanfile.py create mode 100644 recipes/mp-units/2.2.0/test_package/test_package.cpp diff --git a/recipes/mp-units/2.2.0/conandata.yml b/recipes/mp-units/2.2.0/conandata.yml new file mode 100644 index 0000000000000..2aee126e2e782 --- /dev/null +++ b/recipes/mp-units/2.2.0/conandata.yml @@ -0,0 +1,4 @@ +sources: + "2.2.1": + url: https://github.com/mpusz/units/archive/v2.2.1.tar.gz + sha256: ce5edb27fad9c54b388040341a03d7f2462d61dcedad85b4c983c0e648a91bac diff --git a/recipes/mp-units/2.2.0/conanfile.py b/recipes/mp-units/2.2.0/conanfile.py new file mode 100644 index 0000000000000..89060efea4041 --- /dev/null +++ b/recipes/mp-units/2.2.0/conanfile.py @@ -0,0 +1,274 @@ +import os + +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import default_cppstd, valid_min_cppstd +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.files import copy, get, rmdir +from conan.tools.scm import Version + +required_conan_version = ">=1.59.0" + + +def loose_lt_semver(v1, v2): + lv1 = [int(v) for v in v1.split(".")] + lv2 = [int(v) for v in v2.split(".")] + min_length = min(len(lv1), len(lv2)) + return lv1[:min_length] < lv2[:min_length] + + +class MPUnitsConan(ConanFile): + name = "mp-units" + homepage = "https://github.com/mpusz/mp-units" + description = "The quantities and units library for C++" + topics = ( + "units", + "dimensions", + "quantities", + "dimensional-analysis", + "physical-quantities", + "physical-units", + "system-of-units", + "system-of-quantities", + "isq", + "si", + "library", + "quantity-manipulation", + ) + license = "MIT" + url = "https://github.com/conan-io/conan-center-index" + settings = "os", "arch", "compiler", "build_type" + options = { + "cxx_modules": [True, False], + "std_format": [True, False], + "string_view_ret": [True, False], + "no_crtp": [True, False], + "contracts": ["none", "gsl-lite", "ms-gsl"], + "freestanding": [True, False], + } + default_options = { + # "cxx_modules" default set in config_options() + # "std_format" default set in config_options() + # "string_view_ret" default set in config_options() + # "no_crtp" default set in config_options() + "contracts": "gsl-lite", + "freestanding": False, + } + package_type = "header-library" + no_copy_source = True + + @property + def _feature_compatibility(self): + return { + "minimum_support": { + "min_cppstd": "20", + "compiler": { + "gcc": "12", + "clang": "16", + "apple-clang": "15", + "msvc": "", + "Visual Studio": "", + }, + }, + "std_format": { + "min_cppstd": "20", + "compiler": { + "gcc": "13", + "clang": "17", + "apple-clang": "", + "msvc": "", + "Visual Studio": "", + }, + }, + "cxx_modules": { + "min_cppstd": "20", + "compiler": { + "gcc": "", + "clang": "17", + "apple-clang": "", + "msvc": "", + "Visual Studio": "", + }, + }, + "static_constexpr_vars_in_constexpr_func": { + "min_cppstd": "23", + "compiler": { + "gcc": "13", + "clang": "17", + "apple-clang": "", + "msvc": "", + "Visual Studio": "", + }, + }, + "explicit_this": { + "min_cppstd": "23", + "compiler": { + "gcc": "14", + "clang": "18", + "apple-clang": "", + "msvc": "", + "Visual Studio": "", + }, + }, + } + + @property + def _option_feature_map(self): + return { + "std_format": "std_format", + "cxx_modules": "cxx_modules", + "string_view_ret": "static_constexpr_vars_in_constexpr_func", + "no_crtp": "explicit_this", + } + + def _set_default_option(self, name): + compiler = self.settings.compiler + feature_name = self._option_feature_map[name] + feature = self._feature_compatibility[feature_name] + min_version = feature["compiler"].get(str(compiler)) + setattr( + self.options, + name, + bool( + min_version + and Version(compiler.version) >= min_version + and valid_min_cppstd(self, feature["min_cppstd"]) + ), + ) + + def _check_feature_supported(self, name, feature_name=name): + compiler = self.settings.compiler + cppstd = compiler.get_safe("cppstd") + feature = self._feature_compatibility[feature_name] + + # check C++ version + if cppstd and not valid_min_cppstd(self, feature["min_cppstd"]): + raise ConanInvalidConfiguration( + f"'{name}' requires at least cppstd={feature['min_cppstd']} ({cppstd} in use)", + ) + + # check compiler version + min_version = feature["compiler"].get(str(compiler)) + if min_version == None: + # not tested compiler being used - use at your own risk + return + if min_version == "": + raise ConanInvalidConfiguration( + f"'{name}' is not yet supported by any known {compiler} version" + ) + if loose_lt_semver(str(compiler.version), min_version): + raise ConanInvalidConfiguration( + f"'{name}' requires at least {compiler}-{min_version} ({compiler}-{compiler.version} in use)" + ) + + def config_options(self): + for key in self._option_feature_map.keys(): + self._set_default_option(key) + + def configure(self): + if self.options.freestanding: + self.options.rm_safe("std_format") + + def requirements(self): + if not self.options.freestanding: + if self.options.contracts == "gsl-lite": + self.requires("gsl-lite/0.41.0") + elif self.options.contracts == "ms-gsl": + self.requires("ms-gsl/4.0.0") + if not self.options.std_format: + self.requires("fmt/10.2.1") + + def build_requirements(self): + self.tool_requires("cmake/[>=3.29 <4]") + + def validate(self): + self._check_feature_supported("mp-units", "minimum_support") + for key, value in self._option_feature_map.items(): + if self.options.get_safe(key) == True: + self._check_feature_supported(key, value) + if self.options.freestanding and self.options.contracts != "none": + raise ConanInvalidConfiguration( + "'contracts' should be set to 'none' for a freestanding build" + ) + + def layout(self): + cmake_layout(self, src_folder="src") + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + if self.options.cxx_modules: + tc.cache_variables["CMAKE_CXX_SCAN_FOR_MODULES"] = True + tc.cache_variables["MP_UNITS_BUILD_CXX_MODULES"] = self.options.cxx_modules + if self.options.freestanding: + tc.cache_variables["MP_UNITS_API_FREESTANDING"] = True + else: + tc.cache_variables["MP_UNITS_API_STD_FORMAT"] = self.options.std_format + tc.cache_variables["MP_UNITS_API_STRING_VIEW_RET"] = ( + self.options.string_view_ret + ) + tc.cache_variables["MP_UNITS_API_NO_CRTP"] = self.options.no_crtp + tc.cache_variables["MP_UNITS_API_CONTRACTS"] = str( + self.options.contracts + ).upper() + tc.generate() + deps = CMakeDeps(self) + deps.generate() + + def build(self): + cmake = CMake(self) + cmake.configure(build_script_folder="src") + if self.options.cxx_modules: + cmake.build() + + def package_id(self): + self.info.clear() + + def package(self): + copy( + self, + "LICENSE.md", + self.source_folder, + os.path.join(self.package_folder, "licenses"), + ) + cmake = CMake(self) + cmake.install() + rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) + + def package_info(self): + compiler = self.settings.compiler + + # handle contracts + if self.options.contracts == "none": + self.cpp_info.components["core"].defines.append("MP_UNITS_API_CONTRACTS=0") + elif self.options.contracts == "gsl-lite": + self.cpp_info.components["core"].requires.append("gsl-lite::gsl-lite") + self.cpp_info.components["core"].defines.append("MP_UNITS_API_CONTRACTS=2") + elif self.options.contracts == "ms-gsl": + self.cpp_info.components["core"].requires.append("ms-gsl::ms-gsl") + self.cpp_info.components["core"].defines.append("MP_UNITS_API_CONTRACTS=3") + + # handle API options + self.cpp_info.components["core"].defines.append( + "MP_UNITS_API_STRING_VIEW_RET=" + + str(int(self.options.string_view_ret == True)) + ) + self.cpp_info.components["core"].defines.append( + "MP_UNITS_API_NO_CRTP=" + str(int(self.options.no_crtp == True)) + ) + self.cpp_info.components["core"].defines.append( + "MP_UNITS_API_STD_FORMAT=" + str(int(self.options.std_format == True)) + ) + if not self.options.std_format: + self.cpp_info.components["core"].requires.append("fmt::fmt") + + # handle hosted configuration + if not self.options.freestanding: + self.cpp_info.components["core"].defines.append("MP_UNITS_HOSTED=1") + + if compiler == "msvc": + self.cpp_info.components["core"].cxxflags = ["/utf-8"] + + self.cpp_info.components["systems"].requires = ["core"] diff --git a/recipes/mp-units/2.2.0/test_package/CMakeLists.txt b/recipes/mp-units/2.2.0/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..07f3e7cd91e8a --- /dev/null +++ b/recipes/mp-units/2.2.0/test_package/CMakeLists.txt @@ -0,0 +1,10 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package + LANGUAGES CXX +) + +find_package(mp-units CONFIG REQUIRED) + +add_executable(test_package test_package.cpp) +target_link_libraries(test_package PRIVATE mp-units::mp-units) +target_compile_features(test_package PUBLIC cxx_std_20) diff --git a/recipes/mp-units/2.2.0/test_package/conanfile.py b/recipes/mp-units/2.2.0/test_package/conanfile.py new file mode 100644 index 0000000000000..e418ee7701960 --- /dev/null +++ b/recipes/mp-units/2.2.0/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, cmake_layout + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/mp-units/2.2.0/test_package/test_package.cpp b/recipes/mp-units/2.2.0/test_package/test_package.cpp new file mode 100644 index 0000000000000..1182e75d816e4 --- /dev/null +++ b/recipes/mp-units/2.2.0/test_package/test_package.cpp @@ -0,0 +1,16 @@ +#include +#include +#include + +using namespace mp_units; + +constexpr auto avg_speed(QuantityOf auto d, QuantityOf auto t) +{ + return d / t; +} + +int main() +{ + using namespace mp_units::si::unit_symbols; + std::cout << "Average speed = " << avg_speed(240 * km, 2 * h) << '\n'; +} diff --git a/recipes/mp-units/config.yml b/recipes/mp-units/config.yml index 0f81adb906b33..adf715f7230a3 100644 --- a/recipes/mp-units/config.yml +++ b/recipes/mp-units/config.yml @@ -1,4 +1,6 @@ versions: + "2.2.1": + folder: 2.2.0 "2.1.1": folder: 2.0.0 "2.1.0": From 1b6454411b048585b269554af6bebff1353fc35c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Abril=20Rinc=C3=B3n=20Blanco?= Date: Fri, 5 Jul 2024 08:43:26 +0200 Subject: [PATCH 063/641] (#24515) icu: Update ICU license where needed to Unicode-3.0 --- recipes/icu/all/conanfile.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/recipes/icu/all/conanfile.py b/recipes/icu/all/conanfile.py index 9e343976b416b..56924b287ebfd 100644 --- a/recipes/icu/all/conanfile.py +++ b/recipes/icu/all/conanfile.py @@ -69,6 +69,8 @@ def config_options(self): def configure(self): if self.options.shared: self.options.rm_safe("fPIC") + if Version(self.version) >= "74.1": + self.license = "Unicode-3.0" def validate(self): if self.options.dat_package_file: From c7f0d47c36216af66b6a0893ab60096b3252ac89 Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 5 Jul 2024 19:12:19 +0900 Subject: [PATCH 064/641] (#24518) wasmer: add version 4.3.3 * wasmer: add version 4.3.3 * use `self.settings` instead `self.info.settings` in `build()` --- recipes/wasmer/all/conandata.yml | 31 +++++++++++++++++++++++++++++++ recipes/wasmer/all/conanfile.py | 10 +++++----- recipes/wasmer/config.yml | 2 ++ 3 files changed, 38 insertions(+), 5 deletions(-) diff --git a/recipes/wasmer/all/conandata.yml b/recipes/wasmer/all/conandata.yml index 040e9390af6ee..8cdd0665cc1d3 100644 --- a/recipes/wasmer/all/conandata.yml +++ b/recipes/wasmer/all/conandata.yml @@ -1,4 +1,35 @@ sources: + "4.3.3": + Windows: + "x86_64": + "Visual Studio": + url: "https://github.com/wasmerio/wasmer/releases/download/v4.3.3/wasmer-windows-amd64.tar.gz" + sha256: "63239253e7dc5373a421941aaa9ac8ee2ddb2f34e3d94b12ea739319d7929bd4" + "gcc": + url: "https://github.com/wasmerio/wasmer/releases/download/v4.3.3/wasmer-windows-gnu64.tar.gz" + sha256: "6180ddaed4b758ddc563be493001204f067667406994b4a05bfeb8f7948d9898" + Linux: + "x86_64": + "gcc": + url: "https://github.com/wasmerio/wasmer/releases/download/v4.3.3/wasmer-linux-amd64.tar.gz" + sha256: "817ce5b0ba0a97989fe390b16e76352632a3185ebd0ef3e5bfbaf0dbda73cd13" + "armv8": + "gcc": + url: "https://github.com/wasmerio/wasmer/releases/download/v4.3.3/wasmer-linux-aarch64.tar.gz" + sha256: "d15b8170911b1dca69923844bd31f2ea8a73d6ac9ebe7de0d5a30f0cab4cc1b4" + "riscv64": + "gcc": + url: "https://github.com/wasmerio/wasmer/releases/download/v4.3.3/wasmer-linux-riscv64.tar.gz" + sha256: "b0ddc5ed34506f2c2674d3d09996b4c3da500644bc65880e8eede0a149dfaeae" + Macos: + "x86_64": + "gcc": + url: "https://github.com/wasmerio/wasmer/releases/download/v4.3.3/wasmer-darwin-amd64.tar.gz" + sha256: "cf49f6d421b0e8f00f3c4e96ac3ed1ee674b64e0e28f503ff46938cbf831c303" + "armv8": + "gcc": + url: "https://github.com/wasmerio/wasmer/releases/download/v4.3.3/wasmer-darwin-arm64.tar.gz" + sha256: "4b6bc3fc10e22c5347e240df6be7d2ac8db4c930768d7ed7a3d99b086cad4ba0" "4.3.0": Windows: "x86_64": diff --git a/recipes/wasmer/all/conanfile.py b/recipes/wasmer/all/conanfile.py index 402e36fdcca0f..06ec3aa8052ea 100644 --- a/recipes/wasmer/all/conanfile.py +++ b/recipes/wasmer/all/conanfile.py @@ -60,18 +60,18 @@ def package_id(self): del self.info.settings.compiler.version self.info.settings.compiler = self._compiler_alias - def source(self): + def build(self): get( self, - **self.conan_data["sources"][self.version][str(self.info.settings.os)][str(self.info.settings.arch)][self._compiler_alias] + **self.conan_data["sources"][self.version][str(self.settings.os)][str(self.settings.arch)][self._compiler_alias] ) def package(self): - copy(self, pattern="LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + copy(self, pattern="LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.build_folder) - copy(self, pattern="*.h", dst=os.path.join(self.package_folder, "include"), src=os.path.join(self.source_folder, "include")) + copy(self, pattern="*.h", dst=os.path.join(self.package_folder, "include"), src=os.path.join(self.build_folder, "include")) - srclibdir = os.path.join(self.source_folder, "lib") + srclibdir = os.path.join(self.build_folder, "lib") dstlibdir = os.path.join(self.package_folder, "lib") dstbindir = os.path.join(self.package_folder, "bin") if self.options.shared: diff --git a/recipes/wasmer/config.yml b/recipes/wasmer/config.yml index 3738345af4fbf..faad7585c3845 100644 --- a/recipes/wasmer/config.yml +++ b/recipes/wasmer/config.yml @@ -1,4 +1,6 @@ versions: + "4.3.3": + folder: "all" "4.3.0": folder: "all" "4.2.7": From 6b98146ddedf41e80f9352acd7046b2c5688b5c4 Mon Sep 17 00:00:00 2001 From: Uilian Ries Date: Fri, 5 Jul 2024 12:43:32 +0200 Subject: [PATCH 065/641] (#24514) [boost] Fix support for intel-cc Signed-off-by: Uilian Ries --- recipes/boost/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/boost/all/conanfile.py b/recipes/boost/all/conanfile.py index 794784341c254..3237b40de8ad1 100644 --- a/recipes/boost/all/conanfile.py +++ b/recipes/boost/all/conanfile.py @@ -1601,7 +1601,7 @@ def _toolset(self): return str(self.settings.compiler) if self.settings.compiler == "sun-cc": return "sunpro" - if self.settings.compiler == "intel": + if "intel" in str(self.settings.compiler): return { "Macos": "intel-darwin", "Windows": "intel-win", From 6c9b47b3956cf784c715d2b652d40013f56e0b01 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Fri, 5 Jul 2024 13:30:19 +0200 Subject: [PATCH 066/641] (#24351) opencv: add 4.10.0 --- recipes/opencv/4.x/conandata.yml | 27 +++++++++++++++++++ recipes/opencv/4.x/conanfile.py | 9 +++++++ .../4.10.0-0001-fix-zlib-static-android.patch | 17 ++++++++++++ recipes/opencv/config.yml | 2 ++ 4 files changed, 55 insertions(+) create mode 100644 recipes/opencv/4.x/patches/4.10.0-0001-fix-zlib-static-android.patch diff --git a/recipes/opencv/4.x/conandata.yml b/recipes/opencv/4.x/conandata.yml index d536778d0cf88..8c1ffb58a9492 100644 --- a/recipes/opencv/4.x/conandata.yml +++ b/recipes/opencv/4.x/conandata.yml @@ -1,4 +1,9 @@ sources: + "4.10.0": + - url: "https://github.com/opencv/opencv/archive/refs/tags/4.10.0.tar.gz" + sha256: "b2171af5be6b26f7a06b1229948bbb2bdaa74fcf5cd097e0af6378fce50a6eb9" + - url: "https://github.com/opencv/opencv_contrib/archive/refs/tags/4.10.0.tar.gz" + sha256: "65597f8fb8dc2b876c1b45b928bbcc5f772ddbaf97539bf1b737623d0604cba1" "4.9.0": - url: "https://github.com/opencv/opencv/archive/refs/tags/4.9.0.tar.gz" sha256: "ddf76f9dffd322c7c3cb1f721d0887f62d747b82059342213138dc190f28bc6c" @@ -25,6 +30,28 @@ sources: - url: "https://github.com/opencv/opencv_contrib/archive/refs/tags/4.1.2.tar.gz" sha256: "0f6c3d30baa39e3e7611afb481ee86dea45dafb182cac87d570c95dccd83eb8b" patches: + "4.10.0": + - patch_file: "patches/4.5.5-0001-find-openexr.patch" + patch_description: "Robust discovery & injection of OpenEXR" + patch_type: "conan" + - patch_file: "patches/4.5.5-0003-find-quirc.patch" + patch_description: "Robust discovery & injection of quirc" + patch_type: "conan" + - patch_file: "patches/4.8.1-0001-find-ade.patch" + patch_description: "Robust discovery & injection of ade" + patch_type: "conan" + - patch_file: "patches/4.5.1-0001-tracking-no-plot-deps.patch" + patch_description: "Fix requirements of tracking module" + patch_type: "conan" + - patch_file: "patches/4.1.2-0006-hdf.patch" + patch_description: "Robust discovery of hdf" + patch_type: "conan" + - patch_file: "patches/4.10.0-0001-fix-zlib-static-android.patch" + patch_description: "Fix discovery of zlib static if Android" + patch_type: "conan" + - patch_file: "patches/4.1.2-0007-android-install-layout.patch" + patch_description: "Honor install layout from conan if Android" + patch_type: "conan" "4.9.0": - patch_file: "patches/4.5.5-0001-find-openexr.patch" patch_description: "Robust discovery & injection of OpenEXR" diff --git a/recipes/opencv/4.x/conanfile.py b/recipes/opencv/4.x/conanfile.py index 668c160992885..04d8d1d48cfcc 100644 --- a/recipes/opencv/4.x/conanfile.py +++ b/recipes/opencv/4.x/conanfile.py @@ -1486,6 +1486,15 @@ def generate(self): tc.variables["WITH_AVIF"] = self.options.get_safe("with_avif", False) tc.variables["WITH_FLATBUFFERS"] = self.options.get_safe("with_flatbuffers", False) + if Version(self.version) >= "4.10.0": + tc.variables["WITH_KLEIDICV"] = False + tc.variables["WITH_NDSRVP"] = False + tc.variables["OBSENSOR_USE_ORBBEC_SDK"] = False + if is_apple_os(self): + # default behavior for 4.9.0 + tc.variables["WITH_OBSENSOR"] = False + tc.variables["WITH_ZLIB_NG"] = False + # Special world option merging all enabled modules into one big library file tc.variables["BUILD_opencv_world"] = self.options.world diff --git a/recipes/opencv/4.x/patches/4.10.0-0001-fix-zlib-static-android.patch b/recipes/opencv/4.x/patches/4.10.0-0001-fix-zlib-static-android.patch new file mode 100644 index 0000000000000..aae16f037e565 --- /dev/null +++ b/recipes/opencv/4.x/patches/4.10.0-0001-fix-zlib-static-android.patch @@ -0,0 +1,17 @@ +--- a/cmake/OpenCVFindLibsGrfmt.cmake ++++ b/cmake/OpenCVFindLibsGrfmt.cmake +@@ -20,12 +20,12 @@ if(BUILD_ZLIB) + ocv_clear_vars(ZLIB_FOUND) + else() + ocv_clear_internal_cache_vars(ZLIB_LIBRARY ZLIB_INCLUDE_DIR) +- if(ANDROID) ++ if(0) + set(_zlib_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES}) + set(CMAKE_FIND_LIBRARY_SUFFIXES .so) + endif() + find_package(ZLIB "${MIN_VER_ZLIB}") +- if(ANDROID) ++ if(0) + set(CMAKE_FIND_LIBRARY_SUFFIXES ${_zlib_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES}) + unset(_zlib_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES) + endif() diff --git a/recipes/opencv/config.yml b/recipes/opencv/config.yml index 42e7008ac9ec0..826190b23d258 100644 --- a/recipes/opencv/config.yml +++ b/recipes/opencv/config.yml @@ -1,4 +1,6 @@ versions: + "4.10.0": + folder: "4.x" "4.9.0": folder: "4.x" "4.8.1": From ece35f29cf8753c3b513a65af54660474c756f6b Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 5 Jul 2024 21:11:16 +0900 Subject: [PATCH 067/641] (#24521) jsonifier: add version 0.9.96 --- recipes/jsonifier/all/conandata.yml | 3 +++ recipes/jsonifier/all/test_package/test_package.cpp | 2 +- recipes/jsonifier/config.yml | 2 ++ 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/recipes/jsonifier/all/conandata.yml b/recipes/jsonifier/all/conandata.yml index 420de00c2d20c..b2b7a5da8d77b 100644 --- a/recipes/jsonifier/all/conandata.yml +++ b/recipes/jsonifier/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.9.96": + url: "https://github.com/RealTimeChris/Jsonifier/archive/refs/tags/v0.9.96.tar.gz" + sha256: "9f2658282f53680be0121091adacc8f82b2de5b95c31bc6eadb98802c0aa59f0" "0.9.95": url: "https://github.com/RealTimeChris/Jsonifier/archive/refs/tags/v0.9.95.tar.gz" sha256: "4db5fd2c4ae77bbd13e4f80fcc255edb39835cb5cf00d33468cb957af04d933b" diff --git a/recipes/jsonifier/all/test_package/test_package.cpp b/recipes/jsonifier/all/test_package/test_package.cpp index 8c27e29fb67c3..21035cf3ed4c1 100644 --- a/recipes/jsonifier/all/test_package/test_package.cpp +++ b/recipes/jsonifier/all/test_package/test_package.cpp @@ -17,7 +17,7 @@ int main() { MyObject obj("John", 30); jsonifier::jsonifier_core jsonifier{}; std::string jsonBuffer{}; - jsonifier.serializeJson(obj, jsonBuffer); + jsonifier.serializeJson(obj, jsonBuffer); std::cout << jsonBuffer << std::endl; diff --git a/recipes/jsonifier/config.yml b/recipes/jsonifier/config.yml index fb65fece59ef6..4072492ec419c 100644 --- a/recipes/jsonifier/config.yml +++ b/recipes/jsonifier/config.yml @@ -1,3 +1,5 @@ versions: + "0.9.96": + folder: all "0.9.95": folder: all From 757bbf9c025ea12788bf6ccd6f26b8811ea06e30 Mon Sep 17 00:00:00 2001 From: Ivo Hedtke Date: Fri, 5 Jul 2024 16:31:25 +0200 Subject: [PATCH 068/641] (#24530) [yoga] bump version to 3.1.0 --- recipes/yoga/all/conandata.yml | 7 +++++++ recipes/yoga/config.yml | 2 ++ 2 files changed, 9 insertions(+) diff --git a/recipes/yoga/all/conandata.yml b/recipes/yoga/all/conandata.yml index 18301d4af4ddb..beedad9ab39c3 100644 --- a/recipes/yoga/all/conandata.yml +++ b/recipes/yoga/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.1.0": + url: "https://github.com/facebook/yoga/archive/refs/tags/v3.1.0.tar.gz" + sha256: "06ff9e6df9b2388a0c6ef8db55ba9bc2ae75e716e967cd12cf18785f6379159e" "3.0.4": url: "https://github.com/facebook/yoga/archive/refs/tags/v3.0.4.tar.gz" sha256: "ef3ce5106eed03ab2e40dcfe5b868936a647c5f02b7ffd89ffaa5882dca3ef7f" @@ -12,6 +15,10 @@ sources: url: "https://github.com/facebook/yoga/archive/refs/tags/v2.0.0.tar.gz" sha256: "29eaf05191dd857f76b6db97c77cce66db3c0067c88bd5e052909386ea66b8c5" patches: + "3.1.0": + - patch_file: "patches/0001-delete-tests.patch" + patch_description: "Delete test targets from cmake" + patch_type: "conan" "3.0.4": - patch_file: "patches/0001-delete-tests.patch" patch_description: "Delete test targets from cmake" diff --git a/recipes/yoga/config.yml b/recipes/yoga/config.yml index cc6badfba1fcc..542519cbca0f4 100644 --- a/recipes/yoga/config.yml +++ b/recipes/yoga/config.yml @@ -1,4 +1,6 @@ versions: + "3.1.0": + folder: all "3.0.4": folder: all "3.0.2": From 9f2ea938dd85ddb81e42f2e2d8cf1485ea73d83b Mon Sep 17 00:00:00 2001 From: Ivo Hedtke Date: Fri, 5 Jul 2024 16:53:57 +0200 Subject: [PATCH 069/641] (#24531) [soplex] bump version to 7.1.0 --- recipes/soplex/all/conandata.yml | 3 +++ recipes/soplex/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/soplex/all/conandata.yml b/recipes/soplex/all/conandata.yml index 2d496e06ac50e..45d267e534138 100644 --- a/recipes/soplex/all/conandata.yml +++ b/recipes/soplex/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "7.1.0": + url: "https://github.com/scipopt/soplex/archive/refs/tags/release-710.tar.gz" + sha256: "ec177fdb688346287d5f211dd7ec4a0195c8ec9b3a5314d38aca383b6fa1418e" "7.0.1": url: "https://github.com/scipopt/soplex/archive/refs/tags/release-701.tar.gz" sha256: "80cce994dcbe45fd52b60e31a3aeb5d2c60a7ddbaae495e0ce6bf58481675696" diff --git a/recipes/soplex/config.yml b/recipes/soplex/config.yml index d7c20aab60f9f..bce9fdb6e5c4d 100644 --- a/recipes/soplex/config.yml +++ b/recipes/soplex/config.yml @@ -1,4 +1,6 @@ versions: + "7.1.0": + folder: all "7.0.1": folder: all "7.0.0": From a4e1f4fd8aa5311ee49ec0af464205995750032b Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Mon, 8 Jul 2024 10:27:04 +0300 Subject: [PATCH 070/641] (#22353) llvm-openmp: match FindOpenMP.cmake output, add MSVC support * llvm-openmp: fix missing FindOpenMP.cmake, check _OPENMP define * llvm-openmp: improve exported compiler flags * llvm-openmp: print runtime library info in test_package * llvm-openmp: match the output of FindOpenMP.cmake * llvm-openmp: add MSVC support * llvm-openmp: mention potential cause of the armv8 Debug issues As suggested by @marxin at https://github.com/conan-io/conan-center-index/pull/19857#issuecomment-1882905215 * llvm-openmp: add a comment * llvm-openmp: move omp to a separate component * llvm-openmp: add Conan v1 support * llvm-openmp: drop v10 and lower The wrong runtime library gets picked up in test_package for some reason. Don't feel like debugging it. * llvm-openmp: patches can be dropped * llvm-openmp: libomptarget is not available on macOS and Windows https://github.com/llvm/llvm-project/blob/llvmorg-17.0.6/openmp/CMakeLists.txt#L103-L104 * llvm-openmp: fix CMake 3.15 incompatibility * llvm-openmp: .get_safe("build_libomptarget") * llvm-openmp: don't use a target for linking in the module * llvm-openmp: restore the v11 macOS armv8 patch * llvm-openmp: add psapi system lib dep on Windows * llvm-openmp: OpenMP version and spec date version can be determined during packaging Avoids a fragile compilation check during find_package(). * llvm-openmp: re-wrap description * llvm-openmp: add v18.1.3 * llvm-openmp: print even more details in test_package * llvm-openmp: set OpenMP version to the minimum of compiler and runtime support * llvm-openmp: add all spec date versions From https://github.com/Kitware/CMake/blob/master/Modules/FindOpenMP.cmake * llvm-openmp: set shared=True by default on Windows * llvm-openmp: force shared=True on Windows * llvm-openmp: fix try_compile() on CXX-only projects * llvm-openmp: bump to v18.1.6 * llvm-openmp: bump to v18.1.8 * llvm-openmp: make the wrapper slightly more robust Based on https://github.com/microsoft/vcpkg/pull/39389 --- .../all/cmake/conan-llvm-openmp-vars.cmake.in | 158 ++++++++++++++++ recipes/llvm-openmp/all/conandata.yml | 55 +----- recipes/llvm-openmp/all/conanfile.py | 173 +++++++++++++----- .../10/0001-disable-build-testing.patch | 35 ---- .../11/0001-disable-build-testing.patch | 37 ---- .../12/0001-disable-build-testing.patch | 40 ---- .../13/0001-disable-build-testing.patch | 40 ---- .../14/0001-disable-build-testing.patch | 62 ------- .../15/0001-disable-build-testing.patch | 62 ------- .../16/0001-disable-build-testing.patch | 44 ----- .../17/0001-disable-build-testing.patch | 44 ----- .../8/0001-disable-build-testing.patch | 25 --- .../all/test_package/CMakeLists.txt | 28 +++ .../llvm-openmp/all/test_package/conanfile.py | 11 ++ .../all/test_package/test_package.c | 1 + .../all/test_package/test_package.cpp | 1 + .../all/test_v1_package/conanfile.py | 1 + recipes/llvm-openmp/config.yml | 8 +- 18 files changed, 337 insertions(+), 488 deletions(-) create mode 100644 recipes/llvm-openmp/all/cmake/conan-llvm-openmp-vars.cmake.in delete mode 100644 recipes/llvm-openmp/all/patches/10/0001-disable-build-testing.patch delete mode 100644 recipes/llvm-openmp/all/patches/11/0001-disable-build-testing.patch delete mode 100644 recipes/llvm-openmp/all/patches/12/0001-disable-build-testing.patch delete mode 100644 recipes/llvm-openmp/all/patches/13/0001-disable-build-testing.patch delete mode 100644 recipes/llvm-openmp/all/patches/14/0001-disable-build-testing.patch delete mode 100644 recipes/llvm-openmp/all/patches/15/0001-disable-build-testing.patch delete mode 100644 recipes/llvm-openmp/all/patches/16/0001-disable-build-testing.patch delete mode 100644 recipes/llvm-openmp/all/patches/17/0001-disable-build-testing.patch delete mode 100644 recipes/llvm-openmp/all/patches/8/0001-disable-build-testing.patch diff --git a/recipes/llvm-openmp/all/cmake/conan-llvm-openmp-vars.cmake.in b/recipes/llvm-openmp/all/cmake/conan-llvm-openmp-vars.cmake.in new file mode 100644 index 0000000000000..a563629ae8506 --- /dev/null +++ b/recipes/llvm-openmp/all/cmake/conan-llvm-openmp-vars.cmake.in @@ -0,0 +1,158 @@ +# Reproduces the output of https://github.com/Kitware/CMake/blob/v3.28.1/Modules/FindOpenMP.cmake + +# For Conan v1 compatibility +foreach(_suffix RELEASE DEBUG RELWITHDEBINFO MINSIZEREL) + if(DEFINED OpenMP_OpenMP_INCLUDE_DIRS_${_suffix}) + set(_v1_suffix _${_suffix}) + endif() +endforeach() + +set(OpenMP_C_FLAGS "@OpenMP_FLAGS@") +set(OpenMP_C_INCLUDE_DIR "${OpenMP_INCLUDE_DIR${_v1_suffix}}") +set(OpenMP_C_INCLUDE_DIRS "${OpenMP_INCLUDE_DIRS${_v1_suffix}}") +set(OpenMP_C_LIB_NAMES "@OpenMP_LIB_NAMES@") +set(OpenMP_C_LIBRARIES "${OpenMP_LIBRARIES${_v1_suffix}}") +set(OpenMP_C_DEFINITIONS "${OpenMP_DEFINITIONS${_v1_suffix}}") + +set(OpenMP_CXX_FLAGS "${OpenMP_C_FLAGS}") +set(OpenMP_CXX_INCLUDE_DIR "${OpenMP_C_INCLUDE_DIR}") +set(OpenMP_CXX_INCLUDE_DIRS "${OpenMP_C_INCLUDE_DIRS}") +set(OpenMP_CXX_LIB_NAMES "${OpenMP_C_LIB_NAMES}") +set(OpenMP_CXX_LIBRARIES "${OpenMP_C_LIBRARIES}") +set(OpenMP_CXX_DEFINITIONS "${OpenMP_C_DEFINITIONS}") + +set(OpenMP_omp_LIBRARY "${OpenMP_C_LIBRARIES}") + +# Determine OpenMP specification date and version supported by the compiler. +function(_openmp_get_compiler_spec_date) + set(BUILD_DIR "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/FindOpenMP") + set(SRC_FILE "${BUILD_DIR}/ompver.c") + if(NOT CMAKE_C_COMPILER_LOADED) + set(SRC_FILE "${BUILD_DIR}/ompver.cpp") + endif() + set(BIN_FILE "${BUILD_DIR}/ompver.bin") + file(WRITE "${SRC_FILE}" " + #include + const char ompver_str[] = { 'I', 'N', 'F', 'O', ':', 'O', 'p', 'e', 'n', 'M', + 'P', '-', 'd', 'a', 't', 'e', '[', + ('0' + ((_OPENMP/100000)%10)), + ('0' + ((_OPENMP/10000)%10)), + ('0' + ((_OPENMP/1000)%10)), + ('0' + ((_OPENMP/100)%10)), + ('0' + ((_OPENMP/10)%10)), + ('0' + ((_OPENMP/1)%10)), + ']', '\\0' }; + int main(void) + { + puts(ompver_str); + return 0; + } + ") + try_compile(OpenMP_SPECTEST ${BUILD_DIR} + SOURCES "${SRC_FILE}" + COMPILE_DEFINITIONS "${OpenMP_C_FLAGS}" + CMAKE_FLAGS "-DINCLUDE_DIRECTORIES:STRING=${OpenMP_C_INCLUDE_DIR}" + COPY_FILE "${BIN_FILE}" + ) + if(NOT OpenMP_SPECTEST) + if(OpenMP_FIND_REQUIRED) + message(FATAL_ERROR "Failed to build OpenMP test executable for specification date detection") + elseif(NOT OpenMP_FIND_QUIETLY) + message(SEND_ERROR "Failed to build OpenMP test executable for specification date detection") + endif() + return() + endif() + file(STRINGS ${BIN_FILE} specstr LIMIT_COUNT 1 REGEX "INFO:OpenMP-date") + if(specstr MATCHES ".*INFO:OpenMP-date\\[0*([^]]*)\\].*") + set(OpenMP_SPEC_DATE ${CMAKE_MATCH_1} PARENT_SCOPE) + else() + if(OpenMP_FIND_REQUIRED) + message(FATAL_ERROR "Failed to detect OpenMP specification date") + elseif(NOT OpenMP_FIND_QUIETLY) + message(SEND_ERROR "Failed to detect OpenMP specification date") + endif() + return() + endif() +endfunction() + +function(_openmp_set_version_by_spec_date) + set(OpenMP_SPEC_DATE_MAP + "202111=5.2" + "202011=5.1" + # Preview versions + "201611=5.0" # OpenMP 5.0 preview 1 + # Combined versions, 2.5 onwards + "201811=5.0" + "201611=5.0" + "201511=4.5" + "201307=4.0" + "201107=3.1" + "200805=3.0" + "200505=2.5" + # C/C++ version 2.0 + "200203=2.0" + # Fortran version 2.0 + "200011=2.0" + # Fortran version 1.1 + "199911=1.1" + # C/C++ version 1.0 (there's no 1.1 for C/C++) + "199810=1.0" + # Fortran version 1.0 + "199710=1.0" + ) + if(OpenMP_SPEC_DATE_MAP MATCHES "${OpenMP_SPEC_DATE}=([0-9]+)\\.([0-9]+)") + set(major "${CMAKE_MATCH_1}") + set(minor "${CMAKE_MATCH_2}") + else() + if(OpenMP_FIND_REQUIRED) + message(FATAL_ERROR "Failed to detect OpenMP specification version") + elseif(NOT OpenMP_FIND_QUIETLY) + message(SEND_ERROR "Failed to detect OpenMP specification version") + endif() + return() + endif() + set(OpenMP_VERSION_MAJOR "${major}" PARENT_SCOPE) + set(OpenMP_VERSION_MINOR "${minor}" PARENT_SCOPE) + set(OpenMP_VERSION "${major}.${minor}" PARENT_SCOPE) +endfunction() + +# Compare the OpenMP API version supported by the compiler to +# the version supported by the LLVM OMP runtime and use the lower of the two. +# Note that this differs slightly from the CMake's FindOpenMP.cmake implementation, +# which checks only the version supported by the compiler. +_openmp_get_compiler_spec_date() +if(OpenMP_SPEC_DATE GREATER @OpenMP_SPEC_DATE@) + set(OpenMP_SPEC_DATE @OpenMP_SPEC_DATE@) + set(OpenMP_VERSION_MAJOR @OpenMP_VERSION_MAJOR@) + set(OpenMP_VERSION_MINOR @OpenMP_VERSION_MINOR@) + set(OpenMP_VERSION @OpenMP_VERSION@) +else() + _openmp_set_version_by_spec_date() +endif() + +foreach(_lang C CXX) + set(OpenMP_${_lang}_FOUND TRUE) + set(OpenMP_${_lang}_SPEC_DATE "${OpenMP_SPEC_DATE}") + set(OpenMP_${_lang}_VERSION_MAJOR "${OpenMP_VERSION_MAJOR}") + set(OpenMP_${_lang}_VERSION_MINOR "${OpenMP_VERSION_MINOR}") + set(OpenMP_${_lang}_VERSION "${OpenMP_VERSION}") +endforeach() + +# Check specification version against the requested min version, validate components +include(FindPackageHandleStandardArgs) +find_package_handle_standard_args(OpenMP + VERSION_VAR OpenMP_VERSION + REQUIRED_VARS + OpenMP_C_FLAGS + OpenMP_C_LIB_NAMES + OpenMP_C_SPEC_DATE + OpenMP_C_VERSION + OpenMP_CXX_FLAGS + OpenMP_CXX_LIB_NAMES + OpenMP_CXX_SPEC_DATE + OpenMP_CXX_VERSION + HANDLE_COMPONENTS +) +set(OPENMP_FOUND ${OpenMP_FOUND}) +set(OpenMP_C_FOUND ${OpenMP_FOUND}) +set(OpenMP_CXX_FOUND ${OpenMP_FOUND}) diff --git a/recipes/llvm-openmp/all/conandata.yml b/recipes/llvm-openmp/all/conandata.yml index cb5f1104f3fc9..8bd5a66437442 100644 --- a/recipes/llvm-openmp/all/conandata.yml +++ b/recipes/llvm-openmp/all/conandata.yml @@ -1,4 +1,11 @@ sources: + "18.1.8": + openmp: + url: "https://github.com/llvm/llvm-project/releases/download/llvmorg-18.1.8/openmp-18.1.8.src.tar.xz" + sha256: "60ed57245e73894e4a2a89b15889f367bd906abfe6d3f92e1718223d4b496150" + cmake: + url: "https://github.com/llvm/llvm-project/releases/download/llvmorg-18.1.8/cmake-18.1.8.src.tar.xz" + sha256: "59badef592dd34893cd319d42b323aaa990b452d05c7180ff20f23ab1b41e837" "17.0.6": openmp: url: "https://github.com/llvm/llvm-project/releases/download/llvmorg-17.0.6/openmp-17.0.6.src.tar.xz" @@ -39,56 +46,8 @@ sources: "11.1.0": url: "https://github.com/llvm/llvm-project/releases/download/llvmorg-11.1.0/openmp-11.1.0.src.tar.xz" sha256: "d187483b75b39acb3ff8ea1b7d98524d95322e3cb148842957e9b0fbb866052e" - "10.0.0": - url: "https://github.com/llvm/llvm-project/releases/download/llvmorg-10.0.0/openmp-10.0.0.src.tar.xz" - sha256: "3b9ff29a45d0509a1e9667a0feb43538ef402ea8cfc7df3758a01f20df08adfa" - "9.0.1": - url: "https://github.com/llvm/llvm-project/releases/download/llvmorg-9.0.1/openmp-9.0.1.src.tar.xz" - sha256: "5c94060f846f965698574d9ce22975c0e9f04c9b14088c3af5f03870af75cace" - "8.0.1": - url: "https://github.com/llvm/llvm-project/releases/download/llvmorg-8.0.1/openmp-8.0.1.src.tar.xz" - sha256: "3e85dd3cad41117b7c89a41de72f2e6aa756ea7b4ef63bb10dcddf8561a7722c" patches: - "17.0.4": - - patch_file: "patches/17/0001-disable-build-testing.patch" - patch_description: "Disable building of tools, gdb-plugin, tests and docs" - patch_type: "conan" - "16.0.6": - - patch_file: "patches/16/0001-disable-build-testing.patch" - patch_description: "Disable building of tools, gdb-plugin, tests and docs" - patch_type: "conan" - "15.0.7": - - patch_file: "patches/15/0001-disable-build-testing.patch" - patch_description: "Disable building of tools, gdb-plugin, tests and docs" - patch_type: "conan" - "14.0.6": - - patch_file: "patches/14/0001-disable-build-testing.patch" - patch_description: "Disable building of tools, gdb-plugin, tests and docs" - patch_type: "conan" - "13.0.1": - - patch_file: "patches/13/0001-disable-build-testing.patch" - patch_description: "Disable building of tools, gdb-plugin, tests and docs" - patch_type: "conan" - "12.0.1": - - patch_file: "patches/12/0001-disable-build-testing.patch" - patch_description: "Disable building of tools, gdb-plugin, tests and docs" - patch_type: "conan" "11.1.0": - - patch_file: "patches/11/0001-disable-build-testing.patch" - patch_description: "Disable building of tools, gdb-plugin, tests and docs" - patch_type: "conan" - patch_file: "patches/11/0002-fix-armv8-build.patch" patch_description: "Fix build issues on armv8 architecture" patch_type: "portability" - "10.0.0": - - patch_file: "patches/10/0001-disable-build-testing.patch" - patch_description: "Disable building of tools, gdb-plugin, tests and docs" - patch_type: "conan" - "9.0.1": - - patch_file: "patches/8/0001-disable-build-testing.patch" - patch_description: "Disable building of tools, gdb-plugin, tests and docs" - patch_type: "conan" - "8.0.1": - - patch_file: "patches/8/0001-disable-build-testing.patch" - patch_description: "Disable building of tools, gdb-plugin, tests and docs" - patch_type: "conan" diff --git a/recipes/llvm-openmp/all/conanfile.py b/recipes/llvm-openmp/all/conanfile.py index a885645ea3471..6ebb088d900ca 100644 --- a/recipes/llvm-openmp/all/conanfile.py +++ b/recipes/llvm-openmp/all/conanfile.py @@ -1,13 +1,14 @@ import os +import re import textwrap from conan import ConanFile -from conan.errors import ConanInvalidConfiguration +from conan.errors import ConanInvalidConfiguration, ConanException from conan.tools.apple import is_apple_os from conan.tools.build import check_min_cppstd from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout from conan.tools.env import VirtualBuildEnv -from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, replace_in_file, save, move_folder_contents, rmdir +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, replace_in_file, move_folder_contents, rmdir, load, save from conan.tools.microsoft import is_msvc from conan.tools.scm import Version @@ -16,12 +17,9 @@ class LLVMOpenMpConan(ConanFile): name = "llvm-openmp" - description = ("The OpenMP (Open Multi-Processing) specification " - "is a standard for a set of compiler directives, " - "library routines, and environment variables that " - "can be used to specify shared memory parallelism " - "in Fortran and C/C++ programs. This is the LLVM " - "implementation.") + description = ("The OpenMP (Open Multi-Processing) specification is a standard for a set of compiler directives, " + "library routines, and environment variables that can be used to specify shared memory parallelism " + "in Fortran and C/C++ programs. This is the LLVM implementation.") license = "Apache-2.0 WITH LLVM-exception" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/llvm/llvm-project/blob/main/openmp" @@ -60,45 +58,57 @@ def _version_major(self): def export_sources(self): export_conandata_patches(self) + copy(self, "*.cmake.in", self.recipe_folder, self.export_sources_folder) def config_options(self): if self.settings.os == "Windows": del self.options.fPIC + if is_apple_os(self) or self.settings.os == "Windows": + del self.options.build_libomptarget def configure(self): if self.options.shared: self.options.rm_safe("fPIC") - - def requirements(self): - if self.options.build_libomptarget and self._version_major >= 13: - self.requires(f"llvm-core/{self.version}") + if self.settings.os == "Windows": + del self.options.shared + self.package_type = "shared-library" def layout(self): cmake_layout(self, src_folder="src") + def requirements(self): + if self.options.get_safe("build_libomptarget") and self._version_major >= 13: + self.requires(f"llvm-core/{self.version}") + def validate(self): - if is_msvc(self): - raise ConanInvalidConfiguration("llvm-openmp is not compatible with MSVC") - if self.settings.compiler not in ["apple-clang", "clang", "gcc", "intel-cc"]: + if self.settings.os == "Windows": + if self._version_major < 17: + # fatal error LNK1181: cannot open input file 'build\runtime\src\omp.dll.lib' + raise ConanInvalidConfiguration(f"{self.ref} build is broken on MSVC for versions < 17") + + if not self._openmp_flags: raise ConanInvalidConfiguration( f"{self.settings.compiler} is not supported by this recipe. Contributions are welcome!" ) + if self._version_major >= 17: if self.settings.compiler.cppstd: check_min_cppstd(self, 17) 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++17, which your compiler does not support.") + if is_apple_os(self) and self.settings.arch == "armv8": - if self._version_major <= 10: - raise ConanInvalidConfiguration("ARM v8 not supported") - if self._version_major != 11 and self.settings.build_type == "Debug": + if self._version_major >= 12 and self.settings.build_type == "Debug": # All versions except for v11 crash with a segfault for the simple test_package.cpp test + # Might be related to https://github.com/llvm/llvm-project/issues/49923 raise ConanInvalidConfiguration("Debug mode not supported for ARM v8") def build_requirements(self): if self._version_major >= 17: self.tool_requires("cmake/[>=3.20 <4]") + if is_msvc(self): + self.tool_requires("strawberryperl/5.32.1.1") def source(self): if self._version_major >= 15: @@ -122,20 +132,41 @@ def generate(self): env.generate() tc = CMakeToolchain(self) tc.variables["OPENMP_STANDALONE_BUILD"] = True - tc.variables["LIBOMP_ENABLE_SHARED"] = self.options.shared - tc.variables["OPENMP_ENABLE_LIBOMPTARGET"] = self.options.build_libomptarget - # Do not buidl OpenMP Tools Interface (OMPT) + tc.variables["LIBOMP_ENABLE_SHARED"] = self.options.get_safe("shared", True) + tc.variables["OPENMP_ENABLE_LIBOMPTARGET"] = self.options.get_safe("build_libomptarget", False) + # Do not build OpenMP Tools Interface (OMPT) tc.variables["LIBOMP_OMPT_SUPPORT"] = False + # Should not be needed and causes the library to be copied on Windows due to lack of symlink support + tc.variables["LIBOMP_INSTALL_ALIASES"] = False + # The library file incorrectly includes a "lib" prefix on Windows otherwise + if self.settings.os == "Windows": + tc.variables["LIBOMP_LIB_NAME"] = "omp" tc.generate() def _patch_sources(self): apply_conandata_patches(self) + if self._version_major < 17: + # Fix CMake version and policies not being propagated in linker tests + replace_in_file(self, os.path.join(self.source_folder, "runtime", "cmake", "LibompCheckLinkerFlag.cmake"), + "cmake_minimum_required(", + "cmake_minimum_required(VERSION 3.15) #") + # Ensure sufficient CMake policy version is used for tc.variables + replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), + "cmake_minimum_required(", + "cmake_minimum_required(VERSION 3.15) #") + # Disable tests replace_in_file(self, os.path.join(self.source_folder, "runtime", "CMakeLists.txt"), "add_subdirectory(test)", "") + # v12 can be built without LLVM includes if self._version_major == 12: - # v12 can be built without LLVM includes replace_in_file(self, os.path.join(self.source_folder, "libomptarget", "CMakeLists.txt"), "if (NOT LIBOMPTARGET_LLVM_INCLUDE_DIRS)", "if (FALSE)") + # TODO: looks like a bug, should ask upstream + # The built import lib is named "libomp.dll.lib" otherwise, which also causes install() to fail + if self._version_major >= 14: + replace_in_file(self, os.path.join(self.source_folder, "runtime", "src", "CMakeLists.txt"), + "set(LIBOMP_GENERATED_IMP_LIB_FILENAME ${LIBOMP_LIB_FILE}${CMAKE_STATIC_LIBRARY_SUFFIX})", + "set(LIBOMP_GENERATED_IMP_LIB_FILENAME ${LIBOMP_LIB_NAME}${CMAKE_STATIC_LIBRARY_SUFFIX})") def build(self): self._patch_sources() @@ -143,17 +174,71 @@ def build(self): cmake.configure() cmake.build() + @property + def _module_file_rel_path(self): + return os.path.join("lib", "cmake", "openmp", "conan-llvm-openmp-vars.cmake") + + @property + def _conan1_targets_module_file_rel_path(self): + return os.path.join("lib", "cmake", "openmp", f"conan-official-{self.name}-targets.cmake") + + @property + def _openmp_flags(self): + # Based on https://github.com/Kitware/CMake/blob/v3.28.1/Modules/FindOpenMP.cmake#L104-L135 + if self.settings.compiler == "clang": + return ["-fopenmp=libomp"] + elif self.settings.compiler == "apple-clang": + return ["-Xclang", "-fopenmp"] + elif self.settings.compiler == "gcc": + return ["-fopenmp"] + elif self.settings.compiler == "intel-cc": + return ["-Qopenmp"] + elif self.settings.compiler == "sun-cc": + return ["-xopenmp"] + elif is_msvc(self): + return ["-openmp:llvm"] + return None + + @property + def _system_libs(self): + if self.settings.os in ["Linux", "FreeBSD"]: + return ["m", "dl", "pthread", "rt"] + if self.settings.os == "Windows": + return ["psapi"] + return [] + + @property + def _omp_runtime_version(self): + # llvm-openmp has hardcoded its OMP runtime version since v9 + # https://github.com/llvm/llvm-project/commit/e4b4f994d2f6a090694276b40d433dc1a58beb24 + cmake_content = load(self, os.path.join(self.source_folder, "runtime", "CMakeLists.txt")) + year_date = re.search(r"set\(LIBOMP_OMP_YEAR_MONTH (\d{6})\)", cmake_content).group(1) + if year_date != "201611": + raise ConanException(f"Unexpected LIBOMP_OMP_YEAR_MONTH value: {year_date}") + return "5.0", "201611" + + def _write_cmake_module(self): + omp_version, omp_spec_date = self._omp_runtime_version + cmake_module = load(self, os.path.join(self.export_sources_folder, "cmake", "conan-llvm-openmp-vars.cmake.in")) + cmake_module = cmake_module.replace("@OpenMP_FLAGS@", " ".join(self._openmp_flags)) + cmake_module = cmake_module.replace("@OpenMP_LIB_NAMES@", ";".join(["omp"] + self._system_libs)) + cmake_module = cmake_module.replace("@OpenMP_SPEC_DATE@", omp_spec_date) + cmake_module = cmake_module.replace("@OpenMP_VERSION_MAJOR@", str(Version(omp_version).major)) + cmake_module = cmake_module.replace("@OpenMP_VERSION_MINOR@", str(Version(omp_version).minor)) + cmake_module = cmake_module.replace("@OpenMP_VERSION@", omp_version) + save(self, os.path.join(self.package_folder, self._module_file_rel_path), cmake_module) + def package(self): - copy(self, "LICENSE.txt", - src=self.source_folder, - dst=os.path.join(self.package_folder, "licenses")) + 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", "cmake")) + self._write_cmake_module() + # TODO: to remove in conan v2 once cmake_find_package* generators removed self._create_cmake_module_alias_targets( - os.path.join(self.package_folder, self._module_file_rel_path), + os.path.join(self.package_folder, self._conan1_targets_module_file_rel_path), { "OpenMP::OpenMP_C": "OpenMP::OpenMP", "OpenMP::OpenMP_CXX": "OpenMP::OpenMP", @@ -171,29 +256,27 @@ def _create_cmake_module_alias_targets(self, module_file, targets): """) save(self, module_file, content) - @property - def _module_file_rel_path(self): - return os.path.join("lib", "cmake", f"conan-official-{self.name}-targets.cmake") - def package_info(self): + # Match FindOpenMP.cmake module provided by CMake + self.cpp_info.set_property("cmake_find_mode", "both") self.cpp_info.set_property("cmake_file_name", "OpenMP") - self.cpp_info.set_property("cmake_target_name", "OpenMP::OpenMP") - self.cpp_info.set_property("cmake_target_aliases", ["OpenMP::OpenMP_C", "OpenMP::OpenMP_CXX"]) - if self.settings.compiler in ("clang", "apple-clang"): - self.cpp_info.cxxflags = ["-Xpreprocessor", "-fopenmp"] - elif self.settings.compiler == "gcc": - self.cpp_info.cxxflags = ["-fopenmp"] - elif self.settings.compiler == "intel-cc": - self.cpp_info.cxxflags = ["/Qopenmp"] if self.settings.os == "Windows" else ["-Qopenmp"] - self.cpp_info.cflags = self.cpp_info.cxxflags - self.cpp_info.libs = ["omp"] - if self.settings.os in ["Linux", "FreeBSD"]: - self.cpp_info.system_libs = ["dl", "m", "pthread", "rt"] + omp = self.cpp_info.components["omp"] + omp.set_property("cmake_target_name", "OpenMP::OpenMP") + omp.set_property("cmake_target_aliases", ["OpenMP::OpenMP_C", "OpenMP::OpenMP_CXX"]) + omp.libs = ["omp"] + omp.system_libs = self._system_libs + omp.cflags = self._openmp_flags + omp.cxxflags = self._openmp_flags + + omp.builddirs.append(os.path.join(self.package_folder, "lib", "cmake", "openmp")) + self.cpp_info.set_property("cmake_build_modules", [self._module_file_rel_path]) # TODO: to remove in conan v2 once cmake_find_package* generators removed self.cpp_info.names["cmake_find_package"] = "OpenMP" self.cpp_info.names["cmake_find_package_multi"] = "OpenMP" - self.cpp_info.builddirs.append(os.path.join(self.package_folder, "lib", "cmake")) - self.cpp_info.build_modules["cmake_find_package"] = [self._module_file_rel_path] - self.cpp_info.build_modules["cmake_find_package_multi"] = [self._module_file_rel_path] + omp.names["cmake_find_package"] = "OpenMP" + omp.names["cmake_find_package_multi"] = "OpenMP" + omp.builddirs.append(os.path.join(self.package_folder, "lib", "cmake")) + omp.build_modules["cmake_find_package"] = [self._module_file_rel_path, self._conan1_targets_module_file_rel_path] + omp.build_modules["cmake_find_package_multi"] = [self._module_file_rel_path, self._conan1_targets_module_file_rel_path] diff --git a/recipes/llvm-openmp/all/patches/10/0001-disable-build-testing.patch b/recipes/llvm-openmp/all/patches/10/0001-disable-build-testing.patch deleted file mode 100644 index 65692e0ed9c15..0000000000000 --- a/recipes/llvm-openmp/all/patches/10/0001-disable-build-testing.patch +++ /dev/null @@ -1,35 +0,0 @@ ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -45,14 +39,6 @@ endif() - include(config-ix) - include(HandleOpenMPOptions) - --# Set up testing infrastructure. --include(OpenMPTesting) -- --set(OPENMP_TEST_FLAGS "" CACHE STRING -- "Extra compiler flags to send to the test compiler.") --set(OPENMP_TEST_OPENMP_FLAGS ${OPENMP_TEST_COMPILER_OPENMP_FLAGS} CACHE STRING -- "OpenMP compiler flag to use for testing OpenMP runtime libraries.") -- - - # Build host runtime library. - add_subdirectory(runtime) -@@ -79,17 +65,3 @@ if (OPENMP_ENABLE_LIBOMPTARGET) - add_subdirectory(libomptarget) - endif() - --set(ENABLE_OMPT_TOOLS ON) --# Currently tools are not tested well on Windows or MacOS X. --if (APPLE OR WIN32) -- set(ENABLE_OMPT_TOOLS OFF) --endif() -- --option(OPENMP_ENABLE_OMPT_TOOLS "Enable building ompt based tools for OpenMP." -- ${ENABLE_OMPT_TOOLS}) --if (OPENMP_ENABLE_OMPT_TOOLS) -- add_subdirectory(tools) --endif() -- --# Now that we have seen all testuites, create the check-openmp target. --construct_check_openmp_target() diff --git a/recipes/llvm-openmp/all/patches/11/0001-disable-build-testing.patch b/recipes/llvm-openmp/all/patches/11/0001-disable-build-testing.patch deleted file mode 100644 index dde4403117078..0000000000000 --- a/recipes/llvm-openmp/all/patches/11/0001-disable-build-testing.patch +++ /dev/null @@ -1,37 +0,0 @@ ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -45,15 +39,6 @@ endif() - include(config-ix) - include(HandleOpenMPOptions) - --# Set up testing infrastructure. --include(OpenMPTesting) -- --set(OPENMP_TEST_FLAGS "" CACHE STRING -- "Extra compiler flags to send to the test compiler.") --set(OPENMP_TEST_OPENMP_FLAGS ${OPENMP_TEST_COMPILER_OPENMP_FLAGS} CACHE STRING -- "OpenMP compiler flag to use for testing OpenMP runtime libraries.") -- -- - # Build host runtime library. - add_subdirectory(runtime) - -@@ -78,18 +63,3 @@ if (OPENMP_ENABLE_LIBOMPTARGET) - - add_subdirectory(libomptarget) - endif() -- --set(ENABLE_OMPT_TOOLS ON) --# Currently tools are not tested well on Windows or MacOS X. --if (APPLE OR WIN32) -- set(ENABLE_OMPT_TOOLS OFF) --endif() -- --option(OPENMP_ENABLE_OMPT_TOOLS "Enable building ompt based tools for OpenMP." -- ${ENABLE_OMPT_TOOLS}) --if (OPENMP_ENABLE_OMPT_TOOLS) -- add_subdirectory(tools) --endif() -- --# Now that we have seen all testsuites, create the check-openmp target. --construct_check_openmp_target() diff --git a/recipes/llvm-openmp/all/patches/12/0001-disable-build-testing.patch b/recipes/llvm-openmp/all/patches/12/0001-disable-build-testing.patch deleted file mode 100644 index f455aa8e37168..0000000000000 --- a/recipes/llvm-openmp/all/patches/12/0001-disable-build-testing.patch +++ /dev/null @@ -1,40 +0,0 @@ ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -47,14 +41,6 @@ endif() - include(config-ix) - include(HandleOpenMPOptions) - --# Set up testing infrastructure. --include(OpenMPTesting) -- --set(OPENMP_TEST_FLAGS "" CACHE STRING -- "Extra compiler flags to send to the test compiler.") --set(OPENMP_TEST_OPENMP_FLAGS ${OPENMP_TEST_COMPILER_OPENMP_FLAGS} CACHE STRING -- "OpenMP compiler flag to use for testing OpenMP runtime libraries.") -- - set(ENABLE_LIBOMPTARGET ON) - # Currently libomptarget cannot be compiled on Windows or MacOS X. - # Since the device plugins are only supported on Linux anyway, -@@ -97,22 +83,3 @@ if (OPENMP_ENABLE_LIBOMPTARGET) - - add_subdirectory(libomptarget) - endif() -- --set(ENABLE_OMPT_TOOLS ON) --# Currently tools are not tested well on Windows or MacOS X. --if (APPLE OR WIN32) -- set(ENABLE_OMPT_TOOLS OFF) --endif() -- --option(OPENMP_ENABLE_OMPT_TOOLS "Enable building ompt based tools for OpenMP." -- ${ENABLE_OMPT_TOOLS}) --if (OPENMP_ENABLE_OMPT_TOOLS) -- add_subdirectory(tools) --endif() -- -- --# Build documentation --add_subdirectory(docs) -- --# Now that we have seen all testsuites, create the check-openmp target. --construct_check_openmp_target() diff --git a/recipes/llvm-openmp/all/patches/13/0001-disable-build-testing.patch b/recipes/llvm-openmp/all/patches/13/0001-disable-build-testing.patch deleted file mode 100644 index d319a4099d212..0000000000000 --- a/recipes/llvm-openmp/all/patches/13/0001-disable-build-testing.patch +++ /dev/null @@ -1,40 +0,0 @@ ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -44,14 +39,6 @@ - # Check and set up common compiler flags. - include(config-ix) - include(HandleOpenMPOptions) -- --# Set up testing infrastructure. --include(OpenMPTesting) -- --set(OPENMP_TEST_FLAGS "" CACHE STRING -- "Extra compiler flags to send to the test compiler.") --set(OPENMP_TEST_OPENMP_FLAGS ${OPENMP_TEST_COMPILER_OPENMP_FLAGS} CACHE STRING -- "OpenMP compiler flag to use for testing OpenMP runtime libraries.") - - set(ENABLE_LIBOMPTARGET ON) - # Currently libomptarget cannot be compiled on Windows or MacOS X. -@@ -81,22 +68,3 @@ - - add_subdirectory(libomptarget) - endif() -- --set(ENABLE_OMPT_TOOLS ON) --# Currently tools are not tested well on Windows or MacOS X. --if (APPLE OR WIN32) -- set(ENABLE_OMPT_TOOLS OFF) --endif() -- --option(OPENMP_ENABLE_OMPT_TOOLS "Enable building ompt based tools for OpenMP." -- ${ENABLE_OMPT_TOOLS}) --if (OPENMP_ENABLE_OMPT_TOOLS) -- add_subdirectory(tools) --endif() -- -- --# Build documentation --add_subdirectory(docs) -- --# Now that we have seen all testsuites, create the check-openmp target. --construct_check_openmp_target() diff --git a/recipes/llvm-openmp/all/patches/14/0001-disable-build-testing.patch b/recipes/llvm-openmp/all/patches/14/0001-disable-build-testing.patch deleted file mode 100644 index 464d6918a7551..0000000000000 --- a/recipes/llvm-openmp/all/patches/14/0001-disable-build-testing.patch +++ /dev/null @@ -1,62 +0,0 @@ ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -50,25 +45,12 @@ - include(config-ix) - include(HandleOpenMPOptions) - --# Set up testing infrastructure. --include(OpenMPTesting) -- --set(OPENMP_TEST_FLAGS "" CACHE STRING -- "Extra compiler flags to send to the test compiler.") --set(OPENMP_TEST_OPENMP_FLAGS ${OPENMP_TEST_COMPILER_OPENMP_FLAGS} CACHE STRING -- "OpenMP compiler flag to use for testing OpenMP runtime libraries.") -- - set(ENABLE_LIBOMPTARGET ON) - # Currently libomptarget cannot be compiled on Windows or MacOS X. - # Since the device plugins are only supported on Linux anyway, - # there is no point in trying to compile libomptarget on other OSes. - if (APPLE OR WIN32 OR NOT OPENMP_HAVE_STD_CPP14_FLAG) - set(ENABLE_LIBOMPTARGET OFF) --endif() -- --set(ENABLE_LIBOMPTARGET_PROFILING OFF) --if (ENABLE_LIBOMPTARGET AND NOT LLVM_RUNTIMES_BUILD) -- set(ENABLE_LIBOMPTARGET_PROFILING ON) - endif() - - option(OPENMP_ENABLE_LIBOMPTARGET "Enable building libomptarget for offloading." -@@ -81,9 +63,6 @@ - # to enable time profiling support in the OpenMP runtime. - add_subdirectory(runtime) - --# Build libompd.so --add_subdirectory(libompd) -- - if (OPENMP_ENABLE_LIBOMPTARGET) - # Check that the library can actually be built. - if (APPLE OR WIN32) -@@ -94,23 +73,3 @@ - - add_subdirectory(libomptarget) - endif() -- --set(ENABLE_OMPT_TOOLS ON) --# Currently tools are not tested well on Windows or MacOS X. --if (APPLE OR WIN32) -- set(ENABLE_OMPT_TOOLS OFF) --endif() -- --option(OPENMP_ENABLE_OMPT_TOOLS "Enable building ompt based tools for OpenMP." -- ${ENABLE_OMPT_TOOLS}) --if (OPENMP_ENABLE_OMPT_TOOLS) -- add_subdirectory(tools) --endif() -- --option(OPENMP_MSVC_NAME_SCHEME "Build dll with MSVC naming scheme." OFF) -- --# Build documentation --add_subdirectory(docs) -- --# Now that we have seen all testsuites, create the check-openmp target. --construct_check_openmp_target() diff --git a/recipes/llvm-openmp/all/patches/15/0001-disable-build-testing.patch b/recipes/llvm-openmp/all/patches/15/0001-disable-build-testing.patch deleted file mode 100644 index 0a0b868b908cb..0000000000000 --- a/recipes/llvm-openmp/all/patches/15/0001-disable-build-testing.patch +++ /dev/null @@ -1,62 +0,0 @@ ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -55,25 +51,12 @@ - include(config-ix) - include(HandleOpenMPOptions) - --# Set up testing infrastructure. --include(OpenMPTesting) -- --set(OPENMP_TEST_FLAGS "" CACHE STRING -- "Extra compiler flags to send to the test compiler.") --set(OPENMP_TEST_OPENMP_FLAGS ${OPENMP_TEST_COMPILER_OPENMP_FLAGS} CACHE STRING -- "OpenMP compiler flag to use for testing OpenMP runtime libraries.") -- - set(ENABLE_LIBOMPTARGET ON) - # Currently libomptarget cannot be compiled on Windows or MacOS X. - # Since the device plugins are only supported on Linux anyway, - # there is no point in trying to compile libomptarget on other OSes. - if (APPLE OR WIN32 OR NOT OPENMP_HAVE_STD_CPP14_FLAG) - set(ENABLE_LIBOMPTARGET OFF) --endif() -- --set(ENABLE_LIBOMPTARGET_PROFILING OFF) --if (ENABLE_LIBOMPTARGET AND NOT LLVM_RUNTIMES_BUILD) -- set(ENABLE_LIBOMPTARGET_PROFILING ON) - endif() - - option(OPENMP_ENABLE_LIBOMPTARGET "Enable building libomptarget for offloading." -@@ -86,9 +69,6 @@ - # to enable time profiling support in the OpenMP runtime. - add_subdirectory(runtime) - --# Build libompd.so --add_subdirectory(libompd) -- - if (OPENMP_ENABLE_LIBOMPTARGET) - # Check that the library can actually be built. - if (APPLE OR WIN32) -@@ -99,23 +79,3 @@ - - add_subdirectory(libomptarget) - endif() -- --set(ENABLE_OMPT_TOOLS ON) --# Currently tools are not tested well on Windows or MacOS X. --if (APPLE OR WIN32) -- set(ENABLE_OMPT_TOOLS OFF) --endif() -- --option(OPENMP_ENABLE_OMPT_TOOLS "Enable building ompt based tools for OpenMP." -- ${ENABLE_OMPT_TOOLS}) --if (OPENMP_ENABLE_OMPT_TOOLS) -- add_subdirectory(tools) --endif() -- --option(OPENMP_MSVC_NAME_SCHEME "Build dll with MSVC naming scheme." OFF) -- --# Build documentation --add_subdirectory(docs) -- --# Now that we have seen all testsuites, create the check-openmp target. --construct_check_openmp_target() diff --git a/recipes/llvm-openmp/all/patches/16/0001-disable-build-testing.patch b/recipes/llvm-openmp/all/patches/16/0001-disable-build-testing.patch deleted file mode 100644 index 5c9f08ac35cca..0000000000000 --- a/recipes/llvm-openmp/all/patches/16/0001-disable-build-testing.patch +++ /dev/null @@ -1,44 +0,0 @@ ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -61,14 +57,6 @@ - # Check and set up common compiler flags. - include(config-ix) - include(HandleOpenMPOptions) -- --# Set up testing infrastructure. --include(OpenMPTesting) -- --set(OPENMP_TEST_FLAGS "" CACHE STRING -- "Extra compiler flags to send to the test compiler.") --set(OPENMP_TEST_OPENMP_FLAGS ${OPENMP_TEST_COMPILER_OPENMP_FLAGS} CACHE STRING -- "OpenMP compiler flag to use for testing OpenMP runtime libraries.") - - set(ENABLE_LIBOMPTARGET ON) - # Currently libomptarget cannot be compiled on Windows or MacOS X. -@@ -107,26 +95,3 @@ - - add_subdirectory(libomptarget) - endif() -- --set(ENABLE_OMPT_TOOLS ON) --# Currently tools are not tested well on Windows or MacOS X. --if (APPLE OR WIN32) -- set(ENABLE_OMPT_TOOLS OFF) --endif() -- --option(OPENMP_ENABLE_OMPT_TOOLS "Enable building ompt based tools for OpenMP." -- ${ENABLE_OMPT_TOOLS}) --if (OPENMP_ENABLE_OMPT_TOOLS) -- add_subdirectory(tools) --endif() -- --option(OPENMP_MSVC_NAME_SCHEME "Build dll with MSVC naming scheme." OFF) -- --# Build libompd.so --add_subdirectory(libompd) -- --# Build documentation --add_subdirectory(docs) -- --# Now that we have seen all testsuites, create the check-openmp target. --construct_check_openmp_target() diff --git a/recipes/llvm-openmp/all/patches/17/0001-disable-build-testing.patch b/recipes/llvm-openmp/all/patches/17/0001-disable-build-testing.patch deleted file mode 100644 index afda1c6a0da19..0000000000000 --- a/recipes/llvm-openmp/all/patches/17/0001-disable-build-testing.patch +++ /dev/null @@ -1,44 +0,0 @@ ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -64,14 +60,6 @@ - # Check and set up common compiler flags. - include(config-ix) - include(HandleOpenMPOptions) -- --# Set up testing infrastructure. --include(OpenMPTesting) -- --set(OPENMP_TEST_FLAGS "" CACHE STRING -- "Extra compiler flags to send to the test compiler.") --set(OPENMP_TEST_OPENMP_FLAGS ${OPENMP_TEST_COMPILER_OPENMP_FLAGS} CACHE STRING -- "OpenMP compiler flag to use for testing OpenMP runtime libraries.") - - set(ENABLE_LIBOMPTARGET ON) - # Currently libomptarget cannot be compiled on Windows or MacOS X. -@@ -110,26 +98,3 @@ - - add_subdirectory(libomptarget) - endif() -- --set(ENABLE_OMPT_TOOLS ON) --# Currently tools are not tested well on Windows or MacOS X. --if (APPLE OR WIN32) -- set(ENABLE_OMPT_TOOLS OFF) --endif() -- --option(OPENMP_ENABLE_OMPT_TOOLS "Enable building ompt based tools for OpenMP." -- ${ENABLE_OMPT_TOOLS}) --if (OPENMP_ENABLE_OMPT_TOOLS) -- add_subdirectory(tools) --endif() -- --option(OPENMP_MSVC_NAME_SCHEME "Build dll with MSVC naming scheme." OFF) -- --# Build libompd.so --add_subdirectory(libompd) -- --# Build documentation --add_subdirectory(docs) -- --# Now that we have seen all testsuites, create the check-openmp target. --construct_check_openmp_target() diff --git a/recipes/llvm-openmp/all/patches/8/0001-disable-build-testing.patch b/recipes/llvm-openmp/all/patches/8/0001-disable-build-testing.patch deleted file mode 100644 index 3215d61a23b9f..0000000000000 --- a/recipes/llvm-openmp/all/patches/8/0001-disable-build-testing.patch +++ /dev/null @@ -1,25 +0,0 @@ -diff --git a/openmp/CMakeLists.txt b/openmp/CMakeLists.txt -index 597eedcec0b..4395761dac4 100644 ---- CMakeLists.txt -+++ CMakeLists.txt -@@ -45,14 +39,6 @@ endif() - include(config-ix) - include(HandleOpenMPOptions) - --# Set up testing infrastructure. --include(OpenMPTesting) -- --set(OPENMP_TEST_FLAGS "" CACHE STRING -- "Extra compiler flags to send to the test compiler.") --set(OPENMP_TEST_OPENMP_FLAGS ${OPENMP_TEST_COMPILER_OPENMP_FLAGS} CACHE STRING -- "OpenMP compiler flag to use for testing OpenMP runtime libraries.") -- - - # Build host runtime library. - add_subdirectory(runtime) -@@ -79,5 +65,3 @@ if (OPENMP_ENABLE_LIBOMPTARGET) - add_subdirectory(libomptarget) - endif() - --# Now that we have seen all testuites, create the check-openmp target. --construct_check_openmp_target() diff --git a/recipes/llvm-openmp/all/test_package/CMakeLists.txt b/recipes/llvm-openmp/all/test_package/CMakeLists.txt index 491aa7ec1f5d3..916b3718719c2 100644 --- a/recipes/llvm-openmp/all/test_package/CMakeLists.txt +++ b/recipes/llvm-openmp/all/test_package/CMakeLists.txt @@ -1,8 +1,36 @@ cmake_minimum_required(VERSION 3.15) project(PackageTest CXX C) +# FIXME: fails with Conan v1 generators +# find_package(OpenMP CONFIG COMPONENTS Fortran QUIET) +# if(OpenMP_FOUND) +# message(FATAL_ERROR "OpenMP should have failed to find Fortran.") +# endif() + +# FIXME: Conan seems to override the OpenMP_FOUND variable to TRUE in MODULE mode +# find_package(OpenMP MODULE COMPONENTS Fortran QUIET) +# if(OpenMP_FOUND) +# message(FATAL_ERROR "OpenMP should have failed to find Fortran.") +# endif() + find_package(OpenMP CONFIG REQUIRED) +message("OpenMP_FOUND: ${OpenMP_CXX_FOUND}") +message("OpenMP_VERSION: ${OpenMP_VERSION}") +message("OpenMP_C_FOUND: ${OpenMP_CXX_FOUND}") +message("OpenMP_CXX_FOUND: ${OpenMP_CXX_FOUND}") +message("OpenMP_CXX_VERSION: ${OpenMP_CXX_VERSION}") +message("OpenMP_CXX_SPEC_DATE: ${OpenMP_CXX_SPEC_DATE}") +message("OpenMP_CXX_INCLUDE_DIRS: ${OpenMP_CXX_INCLUDE_DIRS}") +message("OpenMP_CXX_LIB_NAMES: ${OpenMP_CXX_LIB_NAMES}") +message("OpenMP_CXX_LIBRARIES: ${OpenMP_CXX_LIBRARIES}") +message("OpenMP_CXX_FLAGS: ${OpenMP_CXX_FLAGS}") +message("OpenMP_omp_LIBRARY: ${OpenMP_omp_LIBRARY}") + +if(NOT DEFINED OpenMP_CXX_SPEC_DATE) + message(FATAL_ERROR "FindOpenMP.cmake did not set all variables correctly.") +endif() + add_executable(test_package_cxx test_package.cpp) target_link_libraries(test_package_cxx OpenMP::OpenMP_CXX) diff --git a/recipes/llvm-openmp/all/test_package/conanfile.py b/recipes/llvm-openmp/all/test_package/conanfile.py index b9c17185d658e..6dfdd10386483 100644 --- a/recipes/llvm-openmp/all/test_package/conanfile.py +++ b/recipes/llvm-openmp/all/test_package/conanfile.py @@ -1,6 +1,7 @@ from conan import ConanFile from conan.tools.build import can_run from conan.tools.cmake import cmake_layout, CMake +from conan.tools.env import Environment import os @@ -15,6 +16,16 @@ def requirements(self): def layout(self): cmake_layout(self) + def generate(self): + env = Environment() + # Trigger printing of runtime version info on startup. + # Should state "LLVM OMP" as the runtime library ID if everything is configured correctly. + env.define("KMP_VERSION", "TRUE") + # Display general OpenMP parameters in a standardized format. + # https://www.openmp.org/spec-html/5.0/openmpse60.html + env.define("OMP_DISPLAY_ENV", "TRUE") + env.vars(self, scope="run").save_script("conan_openmp_version") + def build(self): cmake = CMake(self) cmake.configure() diff --git a/recipes/llvm-openmp/all/test_package/test_package.c b/recipes/llvm-openmp/all/test_package/test_package.c index 103d724f00fcd..68ce5b735cb44 100644 --- a/recipes/llvm-openmp/all/test_package/test_package.c +++ b/recipes/llvm-openmp/all/test_package/test_package.c @@ -21,5 +21,6 @@ int main() printf("There are probably missing compiler flags.\n"); return 1; } + printf("OpenMP API version supported by the compiler: %d\n", _OPENMP); return 0; } diff --git a/recipes/llvm-openmp/all/test_package/test_package.cpp b/recipes/llvm-openmp/all/test_package/test_package.cpp index b602ec5a096c9..f6af1cdfb670c 100644 --- a/recipes/llvm-openmp/all/test_package/test_package.cpp +++ b/recipes/llvm-openmp/all/test_package/test_package.cpp @@ -19,5 +19,6 @@ int main() std::cout << "There are probably missing compiler flags.\n"; return 1; } + std::cout << "OpenMP API version supported by the compiler: " << _OPENMP << "\n"; return 0; } diff --git a/recipes/llvm-openmp/all/test_v1_package/conanfile.py b/recipes/llvm-openmp/all/test_v1_package/conanfile.py index b6e98e149af12..489209c17fc0b 100644 --- a/recipes/llvm-openmp/all/test_v1_package/conanfile.py +++ b/recipes/llvm-openmp/all/test_v1_package/conanfile.py @@ -13,6 +13,7 @@ def build(self): def test(self): if not tools.cross_building(self): + os.environ["KMP_VERSION"] = "TRUE" for executable in ["test_package_cxx", "test_package_c"]: bin_path = os.path.join("bin", executable) self.run(bin_path, run_environment=True) diff --git a/recipes/llvm-openmp/config.yml b/recipes/llvm-openmp/config.yml index 2f6f02e2e7d3f..684578eae1830 100644 --- a/recipes/llvm-openmp/config.yml +++ b/recipes/llvm-openmp/config.yml @@ -1,4 +1,6 @@ versions: + "18.1.8": + folder: all "17.0.6": folder: all "17.0.4": @@ -15,9 +17,3 @@ versions: folder: all "11.1.0": folder: all - "10.0.0": - folder: all - "9.0.1": - folder: all - "8.0.1": - folder: all From 57cb90998e012bb3c32577dd1c8fdf2834acb877 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 8 Jul 2024 17:33:42 +0900 Subject: [PATCH 071/641] (#24533) thorvg: add new version 0.14.1 --- 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 dbbe52c2f6f8d..4bd29282ff03a 100644 --- a/recipes/thorvg/all/conandata.yml +++ b/recipes/thorvg/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.14.1": + url: "https://github.com/thorvg/thorvg/archive/refs/tags/v0.14.1.tar.gz" + sha256: "9c0346fda8b62a3b13a764dda5784e0465c8cab54fb5342d0240c7fb40e415bd" "0.14.0": url: "https://github.com/thorvg/thorvg/archive/refs/tags/v0.14.0.tar.gz" sha256: "6f186b53be3a0bd971dabde7a58022f43303467794e89e3641c774f38cdc2664" diff --git a/recipes/thorvg/config.yml b/recipes/thorvg/config.yml index dc2bfc7b4758c..26adbfc52a4f8 100644 --- a/recipes/thorvg/config.yml +++ b/recipes/thorvg/config.yml @@ -1,4 +1,6 @@ versions: + "0.14.1": + folder: all "0.14.0": folder: all "0.13.8": From a3d9082c3316de7caec9cb436a109a9d16b84de3 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 8 Jul 2024 17:51:47 +0900 Subject: [PATCH 072/641] (#24535) sdl: add version 2.30.5 --- recipes/sdl/all/conandata.yml | 3 +++ recipes/sdl/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/sdl/all/conandata.yml b/recipes/sdl/all/conandata.yml index 3e85e9082c824..f49cb33505aab 100644 --- a/recipes/sdl/all/conandata.yml +++ b/recipes/sdl/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.30.5": + url: "https://www.libsdl.org/release/SDL2-2.30.5.tar.gz" + sha256: "f374f3fa29c37dfcc20822d4a7d7dc57e58924d1a5f2ad511bfab4c8193de63b" "2.30.4": url: "https://www.libsdl.org/release/SDL2-2.30.4.tar.gz" sha256: "59c89d0ed40d4efb23b7318aa29fe7039dbbc098334b14f17f1e7e561da31a26" diff --git a/recipes/sdl/config.yml b/recipes/sdl/config.yml index 667ee74808b99..bb02b66ecf2da 100644 --- a/recipes/sdl/config.yml +++ b/recipes/sdl/config.yml @@ -1,4 +1,6 @@ versions: + "2.30.5": + folder: all "2.30.4": folder: all "2.30.3": From 192ced869a9f5afaf6b58f7db0eaa7f680c313be Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 8 Jul 2024 18:14:41 +0900 Subject: [PATCH 073/641] (#24537) fmt: add version 11.0.1 --- recipes/fmt/all/conandata.yml | 3 +++ recipes/fmt/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/fmt/all/conandata.yml b/recipes/fmt/all/conandata.yml index 7a0e997840142..2e5c98f10fb1b 100644 --- a/recipes/fmt/all/conandata.yml +++ b/recipes/fmt/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "11.0.1": + url: "https://github.com/fmtlib/fmt/releases/download/11.0.1/fmt-11.0.1.zip" + sha256: "62ca45531814109b5d6cef0cf2fd17db92c32a30dd23012976e768c685534814" "11.0.0": url: "https://github.com/fmtlib/fmt/releases/download/11.0.0/fmt-11.0.0.zip" sha256: "583ce480ef07fad76ef86e1e2a639fc231c3daa86c4aa6bcba524ce908f30699" diff --git a/recipes/fmt/config.yml b/recipes/fmt/config.yml index dda70cf71d200..34d172078c697 100644 --- a/recipes/fmt/config.yml +++ b/recipes/fmt/config.yml @@ -1,4 +1,6 @@ versions: + "11.0.1": + folder: all "11.0.0": folder: all "10.2.1": From 632556aac02797354140ee676354d18b87625ba6 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 8 Jul 2024 18:52:15 +0900 Subject: [PATCH 074/641] (#24539) toml11: add version 4.0.3 --- recipes/toml11/all/conandata.yml | 3 +++ recipes/toml11/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/toml11/all/conandata.yml b/recipes/toml11/all/conandata.yml index f0280c626a44d..ac81047f5f6b3 100644 --- a/recipes/toml11/all/conandata.yml +++ b/recipes/toml11/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "4.0.3": + url: "https://github.com/ToruNiina/toml11/archive/refs/tags/v4.0.3.tar.gz" + sha256: "c8cbc7839cb3f235153045ce550e559f55a04554dfcab8743ba8a1e8ef6a54bf" "4.0.1": url: "https://github.com/ToruNiina/toml11/archive/refs/tags/v4.0.1.tar.gz" sha256: "96965cb00ca7757c611c169cd5a6fb15736eab1cd1c1a88aaa62ad9851d926aa" diff --git a/recipes/toml11/config.yml b/recipes/toml11/config.yml index 08179ee564b31..2c9b67b0ff120 100644 --- a/recipes/toml11/config.yml +++ b/recipes/toml11/config.yml @@ -1,4 +1,6 @@ versions: + "4.0.3": + folder: all "4.0.1": folder: all "3.8.1": From 3181a7666c3aa885788d4b7bd50c01673b1f9475 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 8 Jul 2024 19:12:01 +0900 Subject: [PATCH 075/641] (#24542) uwebsockets: add version 20.64.0 --- recipes/uwebsockets/all/conandata.yml | 3 +++ recipes/uwebsockets/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/uwebsockets/all/conandata.yml b/recipes/uwebsockets/all/conandata.yml index 250993d144ada..8013b9756dcc5 100644 --- a/recipes/uwebsockets/all/conandata.yml +++ b/recipes/uwebsockets/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "20.64.0": + url: "https://github.com/uNetworking/uWebSockets/archive/v20.64.0.tar.gz" + sha256: "bb81fa773dcbd6bc738904ad496554fd131a33269570e0e86fa09213d82ba9ef" "20.63.0": url: "https://github.com/uNetworking/uWebSockets/archive/v20.63.0.tar.gz" sha256: "3bcb3fab4242d312e227b05f34e21d8468960e5eea59e12799aa21a94f1b2b1f" diff --git a/recipes/uwebsockets/config.yml b/recipes/uwebsockets/config.yml index cb040d420b481..421b89636665b 100644 --- a/recipes/uwebsockets/config.yml +++ b/recipes/uwebsockets/config.yml @@ -1,4 +1,6 @@ versions: + "20.64.0": + folder: all "20.63.0": folder: all "20.62.0": From b724b9c8503344e46238901fc229afbdf1fab556 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 8 Jul 2024 19:31:42 +0900 Subject: [PATCH 076/641] (#24543) commata: add version 1.0.0 --- recipes/commata/all/conandata.yml | 3 +++ recipes/commata/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/commata/all/conandata.yml b/recipes/commata/all/conandata.yml index f27e5a5899c63..859d53c719d79 100644 --- a/recipes/commata/all/conandata.yml +++ b/recipes/commata/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.0.0": + url: "https://github.com/furfurylic/commata/archive/refs/tags/v1.0.0.tar.gz" + sha256: "ecf0a88f6a4616d10770522b4ef4838e4100511759eb640270f6b932e4b7df69" "0.2.9": url: "https://github.com/furfurylic/commata/archive/refs/tags/v0.2.9.tar.gz" sha256: "24c404e90e2f01a2f9e46e55c2f8121a3f146d1f2dfb819b8d7ab5cf13bd6a9f" diff --git a/recipes/commata/config.yml b/recipes/commata/config.yml index 142c2b3beaf0a..992edc2e1338d 100644 --- a/recipes/commata/config.yml +++ b/recipes/commata/config.yml @@ -1,4 +1,6 @@ versions: + "1.0.0": + folder: all "0.2.9": folder: all "0.2.8": From 5b01b412a8b2801f024c0bbf4130c48ed1d87e47 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 8 Jul 2024 19:52:01 +0900 Subject: [PATCH 077/641] (#24544) ada: add version 2.9.0, remove older versions --- recipes/ada/all/conandata.yml | 39 +++-------------------------------- recipes/ada/config.yml | 26 ++--------------------- 2 files changed, 5 insertions(+), 60 deletions(-) diff --git a/recipes/ada/all/conandata.yml b/recipes/ada/all/conandata.yml index ce7f88f9c21c4..4302d6278da6c 100644 --- a/recipes/ada/all/conandata.yml +++ b/recipes/ada/all/conandata.yml @@ -1,49 +1,16 @@ sources: + "2.9.0": + url: "https://github.com/ada-url/ada/archive/v2.9.0.tar.gz" + sha256: "8b992f0ce9134cb4eafb74b164d2ce2cb3af1900902162713b0e0c5ab0b6acd8" "2.8.0": url: "https://github.com/ada-url/ada/archive/v2.8.0.tar.gz" sha256: "83b77fb53d1a9eea22b1484472cea0215c50478c9ea2b4b44b0ba3b52e07c139" "2.7.8": url: "https://github.com/ada-url/ada/archive/v2.7.8.tar.gz" sha256: "8de067b7cb3da1808bf5439279aee6048d761ba246bf8a854c2af73b16b41c75" - "2.7.7": - url: "https://github.com/ada-url/ada/archive/v2.7.7.tar.gz" - sha256: "7116d86a80b79886efbc9d946d3919801815060ae62daf78de68c508552af554" - "2.7.5": - url: "https://github.com/ada-url/ada/archive/v2.7.5.tar.gz" - sha256: "25a5d62fdd4950dbef785db5725675c15f3df2cf899a4a920449fe9a05fc6d00" - "2.7.4": - url: "https://github.com/ada-url/ada/archive/v2.7.4.tar.gz" - sha256: "897942ba8c99153f916c25698a49604022f3e54441cfa9b76f657ad15b6ca041" - "2.7.3": - url: "https://github.com/ada-url/ada/archive/v2.7.3.tar.gz" - sha256: "8e222d536d237269488f7d454544eedf12847f47b3d42651e8c9963c3fb0cf5e" - "2.7.2": - url: "https://github.com/ada-url/ada/archive/v2.7.2.tar.gz" - sha256: "4dea9dd6a46695547da2dac3dc7254d32187cd35d3170179c0cdc0900090c025" - "2.7.0": - url: "https://github.com/ada-url/ada/archive/v2.7.0.tar.gz" - sha256: "08646b8a41cd6367b282aab2c87c82e5ce4876078a0cbe0799af7e51e4358591" "2.6.10": url: "https://github.com/ada-url/ada/archive/v2.6.10.tar.gz" sha256: "a43e1ea0bcdd7585edf538afffe1fc3303b936752e18bac545fa11729de088bc" - "2.6.7": - url: "https://github.com/ada-url/ada/archive/v2.6.7.tar.gz" - sha256: "882a0aa6e19174b60b2fa00ee75d35a31ecd5158fb97d0e4e719ba21bb07acb9" - "2.6.4": - url: "https://github.com/ada-url/ada/archive/v2.6.4.tar.gz" - sha256: "5b488e9a7a700de5d40a749c96c4339bcc9c425e5f5406a0887b13e70bd90907" - "2.6.2": - url: "https://github.com/ada-url/ada/archive/v2.6.2.tar.gz" - sha256: "425b8696a28a22d19ee7aa4516c26fc8ae3ab574870a9a74ef58ba8a345b822e" - "2.6.0": - url: "https://github.com/ada-url/ada/archive/v2.6.0.tar.gz" - sha256: "09551bfbd92853e59d731e5f44a88a690425fd2906977ad03a6a1059615a02a5" "2.5.1": url: "https://github.com/ada-url/ada/archive/v2.5.1.tar.gz" sha256: "a7591d771822c3f16e6665311b0c6b4de7dd7615333183f35d89c7573be7f7fa" - "2.5.0": - url: "https://github.com/ada-url/ada/archive/v2.5.0.tar.gz" - sha256: "bf11c9d0cc1ee9e377080bdd8a3b8a8bf736ac7acaedcae882587e21b3e5625c" - "2.4.2": - url: "https://github.com/ada-url/ada/archive/v2.4.2.tar.gz" - sha256: "d865ab8828c14fc1e2217ca9f5d7918d50775175b2873faf2fbda0085e0623d2" diff --git a/recipes/ada/config.yml b/recipes/ada/config.yml index 65b7e7769826f..6c8f8963de719 100644 --- a/recipes/ada/config.yml +++ b/recipes/ada/config.yml @@ -1,33 +1,11 @@ versions: + "2.9.0": + folder: all "2.8.0": folder: all "2.7.8": folder: all - "2.7.7": - folder: all - "2.7.5": - folder: all - "2.7.4": - folder: all - "2.7.3": - folder: all - "2.7.2": - folder: all - "2.7.0": - folder: all "2.6.10": folder: all - "2.6.7": - folder: all - "2.6.4": - folder: all - "2.6.2": - folder: all - "2.6.0": - folder: all "2.5.1": folder: all - "2.5.0": - folder: all - "2.4.2": - folder: all From abae2d587f1fa55f3bec5dae7f2ec7c6e4877d63 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Mon, 8 Jul 2024 17:23:02 +0300 Subject: [PATCH 078/641] (#18812) libjxl: migrate to Conan v2, add v0.10.2 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * libjxl: migrate to Conan v2 * libjxl: restore VirtualRunEnv in test_package * libjxl: bump deps * libjxl: fix shared build * libjxl: simplify patching * libjxl: add v0.8.2, v0.7 * libjxl: fix test_v1_package * libjxl: avoid the use of $ in CMake Which fail with INTERFACE_LIBRARY targets may only have whitelisted properties. The property "INCLUDE_DIRECTORIES" is not allowed. in the CI for some reason. * libjxl: fix linking issues with brotli * libjxl: drop old versions * libjxl: fix MSVC build * libjxl: package only shared or static * libjxl: add check_min_cppstd * libjxl: disable libc++ on Conan v1 * libidn: fix workaround check * libjxl: fix -latomic detection * jxl: add v0.9.1, v0.6.1, simplify patching * jxl: add jxl_cms component * jxl: always require newer CMake * jxl: Fix --exclude-libs detection on apple-clang * jxl: add more target aliases * jxl: fix --exclude-libs on v0.6.1 * jxl: disable FindAtomics.cmake * jxl: improve fPIC handling * jxl: -static suffix is no longer added on Windows * jxl: more fPIC fixes * jxl: add with_tcmalloc option, set all v0.9.1 CMake vars * jxl: match the tcmalloc setting in the project * libjxl: fix Debug build * libjxl: disable MSVC Debug build for v0.6.1 * libjxl: add DLL define for jxl_cms * libjxl: bump to v0.10.2 * libjxl: bump deps * libjxl: disable MSVC shared build for v0.6.1 * libjxl: add v0.8.2 for GDAL * Test * libjxl: refactor test_package * Disable tools via config and remove neon Signed-off-by: Uilian Ries --------- Signed-off-by: Uilian Ries Co-authored-by: Uilian Ries Co-authored-by: Rubén Rincón Blanco Co-authored-by: Ernesto de Gracia Herranz --- recipes/libjxl/all/CMakeLists.txt | 7 - recipes/libjxl/all/conan_deps.cmake | 24 ++ recipes/libjxl/all/conandata.yml | 20 +- recipes/libjxl/all/conanfile.py | 274 ++++++++++++------ .../all/patches/0001-clean-targets-v0.5.patch | 38 --- .../all/patches/0001-clean-targets-v0.6.patch | 36 --- .../patches/0002-fix-dependencies-v0.5.patch | 106 ------- .../patches/0002-fix-dependencies-v0.6.patch | 126 -------- .../libjxl/all/test_package/CMakeLists.txt | 7 +- recipes/libjxl/all/test_package/conanfile.py | 22 +- recipes/libjxl/all/test_package/test.jxl | Bin 21274 -> 0 bytes .../libjxl/all/test_package/test_package.c | 84 +----- .../libjxl/all/test_v1_package/CMakeLists.txt | 8 + .../libjxl/all/test_v1_package/conanfile.py | 17 ++ recipes/libjxl/config.yml | 4 +- 15 files changed, 273 insertions(+), 500 deletions(-) delete mode 100644 recipes/libjxl/all/CMakeLists.txt create mode 100644 recipes/libjxl/all/conan_deps.cmake delete mode 100644 recipes/libjxl/all/patches/0001-clean-targets-v0.5.patch delete mode 100644 recipes/libjxl/all/patches/0001-clean-targets-v0.6.patch delete mode 100644 recipes/libjxl/all/patches/0002-fix-dependencies-v0.5.patch delete mode 100644 recipes/libjxl/all/patches/0002-fix-dependencies-v0.6.patch delete mode 100644 recipes/libjxl/all/test_package/test.jxl create mode 100644 recipes/libjxl/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/libjxl/all/test_v1_package/conanfile.py diff --git a/recipes/libjxl/all/CMakeLists.txt b/recipes/libjxl/all/CMakeLists.txt deleted file mode 100644 index c986d294c7547..0000000000000 --- a/recipes/libjxl/all/CMakeLists.txt +++ /dev/null @@ -1,7 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(cmake_wrapper) - -include(conanbuildinfo.cmake) -conan_basic_setup() - -add_subdirectory("source_subfolder") diff --git a/recipes/libjxl/all/conan_deps.cmake b/recipes/libjxl/all/conan_deps.cmake new file mode 100644 index 0000000000000..e62d6fec8071b --- /dev/null +++ b/recipes/libjxl/all/conan_deps.cmake @@ -0,0 +1,24 @@ +find_package(Brotli REQUIRED CONFIG) +find_package(HWY REQUIRED CONFIG) +find_package(LCMS2 REQUIRED CONFIG) + +# Add wrapper targets for the project to link against +add_library(brotlicommon INTERFACE) +target_link_libraries(brotlicommon INTERFACE brotli::brotli) +set_target_properties(brotlicommon PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "${Brotli_INCLUDE_DIRS}") +set_target_properties(brotlicommon PROPERTIES INCLUDE_DIRECTORIES "${Brotli_INCLUDE_DIRS}") +add_library(brotlidec ALIAS brotlicommon) +add_library(brotlienc ALIAS brotlicommon) +add_library(brotlicommon-static ALIAS brotlicommon) +add_library(brotlidec-static ALIAS brotlicommon) +add_library(brotlienc-static ALIAS brotlicommon) + +add_library(hwy INTERFACE) +target_link_libraries(hwy INTERFACE highway::highway) +set_target_properties(hwy PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "${HWY_INCLUDE_DIRS}") +set_target_properties(hwy PROPERTIES INCLUDE_DIRECTORIES "${HWY_INCLUDE_DIRS}") + +add_library(lcms2 INTERFACE) +target_link_libraries(lcms2 INTERFACE lcms::lcms) +set_target_properties(lcms2 PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "${LCMS2_INCLUDE_DIRS}") +set_target_properties(lcms2 PROPERTIES INCLUDE_DIRECTORIES "${LCMS2_INCLUDE_DIRS}") diff --git a/recipes/libjxl/all/conandata.yml b/recipes/libjxl/all/conandata.yml index 8a3abcae1301c..431db14e7df51 100644 --- a/recipes/libjxl/all/conandata.yml +++ b/recipes/libjxl/all/conandata.yml @@ -1,18 +1,10 @@ sources: - "0.5.0": - url: "https://github.com/libjxl/libjxl/archive/v0.5.zip" - sha256: "a208be41542c6f81f10a82c6bb4bc75d3eceb9d4f7ecb6ea0ad2f2d236694c4b" + "0.10.2": + url: "https://github.com/libjxl/libjxl/archive/v0.10.2.zip" + sha256: "910ab4245eebe0fba801a057f5fbc4fe96dad7c9979880bb49ad3e2623a911a2" + "0.8.2": + url: "https://github.com/libjxl/libjxl/archive/v0.8.2.zip" + sha256: "1f2ccc06f07c4f6cf4aa6c7763ba0598f12a7544d597f02beb07f615eb08ccf0" "0.6.1": url: "https://github.com/libjxl/libjxl/archive/v0.6.1.zip" sha256: "3e4877daef07724aa6f490bf80c45ada804f35fe3cce59c27e89c5ae3099535a" -patches: - "0.5.0": - - patch_file: "patches/0001-clean-targets-v0.5.patch" - base_path: "source_subfolder" - - patch_file: "patches/0002-fix-dependencies-v0.5.patch" - base_path: "source_subfolder" - "0.6.1": - - patch_file: "patches/0001-clean-targets-v0.6.patch" - base_path: "source_subfolder" - - patch_file: "patches/0002-fix-dependencies-v0.6.patch" - base_path: "source_subfolder" diff --git a/recipes/libjxl/all/conanfile.py b/recipes/libjxl/all/conanfile.py index a8d214a9a78ab..1f4b5564868a0 100644 --- a/recipes/libjxl/all/conanfile.py +++ b/recipes/libjxl/all/conanfile.py @@ -1,9 +1,16 @@ -from conans import ConanFile, CMake, tools import os -import shutil -import glob -required_conan_version = ">=1.33.0" +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import cross_building, stdcpp_library, check_min_cppstd +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.env import VirtualBuildEnv +from conan.tools.files import copy, get, rmdir, save, rm, replace_in_file +from conan.tools.gnu import PkgConfigDeps +from conan.tools.microsoft import is_msvc +from conan.tools.scm import Version + +required_conan_version = ">=1.53.0" class LibjxlConan(ConanFile): @@ -14,114 +21,215 @@ class LibjxlConan(ConanFile): homepage = "https://github.com/libjxl/libjxl" topics = ("image", "jpeg-xl", "jxl", "jpeg") - settings = "os", "compiler", "build_type", "arch" - options = {"shared": [True, False], "fPIC": [True, False]} - default_options = {"shared": False, "fPIC": True} - - exports_sources = "CMakeLists.txt", "patches/**" - generators = "cmake" - _cmake = None - - @property - def _source_subfolder(self): - return "source_subfolder" + package_type = "library" + settings = "os", "arch", "compiler", "build_type" + options = { + "shared": [True, False], + "fPIC": [True, False], + "avx512": [True, False], + "avx512_spr": [True, False], + "avx512_zen4": [True, False], + "with_tcmalloc": [True, False], + } + default_options = { + "shared": False, + "fPIC": True, + "avx512": False, + "avx512_spr": False, + "avx512_zen4": False, + "with_tcmalloc": False, + } + + def export_sources(self): + copy(self, "conan_deps.cmake", self.recipe_folder, os.path.join(self.export_sources_folder, "src")) def config_options(self): if self.settings.os == "Windows": del self.options.fPIC + if self.settings.arch not in ["x86", "x86_64"] or Version(self.version) < "0.9": + del self.options.avx512 + del self.options.avx512_spr + del self.options.avx512_zen4 + # https://github.com/libjxl/libjxl/blob/v0.9.1/CMakeLists.txt#L52-L59 + if self.settings.os in ["Linux", "FreeBSD"] and self.settings.arch == "x86_64": + self.options.with_tcmalloc = True def configure(self): if self.options.shared: - del self.options.fPIC + self.options.rm_safe("fPIC") + + def layout(self): + cmake_layout(self, src_folder="src") def requirements(self): - self.requires("brotli/1.0.9") - self.requires("highway/0.12.2") - self.requires("lcms/2.11") + self.requires("brotli/1.1.0") + if Version(self.version) >= "0.7": + self.requires("highway/1.1.0") + else: + self.requires("highway/0.12.2") + self.requires("lcms/2.16") + if self.options.with_tcmalloc: + self.requires("gperftools/2.15") + + def validate(self): + if self.settings.compiler.cppstd: + check_min_cppstd(self, 11) + if self.version == "0.6.1" and is_msvc(self) and self.options.shared: + # Fails with a missing DLL error in test_package + raise ConanInvalidConfiguration(f"{self.ref} does not support shared builds with MSVC") + + def build_requirements(self): + # Require newer CMake, which allows INCLUDE_DIRECTORIES to be set on INTERFACE targets + # Also, v0.9+ require CMake 3.16 + self.tool_requires("cmake/[>=3.19 <4]") def source(self): - tools.get(**self.conan_data["sources"][self.version], - destination=self._source_subfolder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + VirtualBuildEnv(self).generate() + + tc = CMakeToolchain(self) + tc.variables["CMAKE_PROJECT_LIBJXL_INCLUDE"] = "conan_deps.cmake" + tc.variables["BUILD_TESTING"] = False + tc.variables["JPEGXL_STATIC"] = not self.options.shared # applies to tools only + tc.variables["JPEGXL_BUNDLE_LIBPNG"] = False + tc.variables["JPEGXL_ENABLE_BENCHMARK"] = False + tc.variables["JPEGXL_ENABLE_DOXYGEN"] = False + tc.variables["JPEGXL_ENABLE_EXAMPLES"] = False + tc.variables["JPEGXL_ENABLE_JNI"] = False + tc.variables["JPEGXL_ENABLE_MANPAGES"] = False + tc.variables["JPEGXL_ENABLE_OPENEXR"] = False + tc.variables["JPEGXL_ENABLE_PLUGINS"] = False + tc.variables["JPEGXL_ENABLE_SJPEG"] = False + tc.variables["JPEGXL_ENABLE_SKCMS"] = False + tc.variables["JPEGXL_ENABLE_TCMALLOC"] = self.options.with_tcmalloc + tc.variables["JPEGXL_ENABLE_VIEWERS"] = False + tc.variables["JPEGXL_ENABLE_TOOLS"] = False + tc.variables["JPEGXL_FORCE_SYSTEM_BROTLI"] = True + tc.variables["JPEGXL_FORCE_SYSTEM_GTEST"] = True + tc.variables["JPEGXL_FORCE_SYSTEM_HWY"] = True + tc.variables["JPEGXL_FORCE_SYSTEM_LCMS2"] = True + tc.variables["JPEGXL_WARNINGS_AS_ERRORS"] = False + tc.variables["JPEGXL_FORCE_NEON"] = False + tc.variables["JPEGXL_ENABLE_AVX512"] = self.options.get_safe("avx512", False) + tc.variables["JPEGXL_ENABLE_AVX512_SPR"] = self.options.get_safe("avx512_spr", False) + tc.variables["JPEGXL_ENABLE_AVX512_ZEN4"] = self.options.get_safe("avx512_zen4", False) + if cross_building(self): + tc.variables["CMAKE_SYSTEM_PROCESSOR"] = str(self.settings.arch) + # Allow non-cache_variables to be used + tc.cache_variables["CMAKE_POLICY_DEFAULT_CMP0077"] = "NEW" + # Skip the buggy custom FindAtomic and force the use of atomic library directly for libstdc++ + tc.variables["ATOMICS_LIBRARIES"] = "atomic" if self._atomic_required else "" + if Version(self.version) >= "0.8": + # TODO: add support for the jpegli JPEG encoder library + tc.variables["JPEGXL_ENABLE_JPEGLI"] = False + tc.variables["JPEGXL_ENABLE_JPEGLI_LIBJPEG"] = False + # TODO: can hopefully be removed in newer versions + # https://github.com/libjxl/libjxl/issues/3159 + if Version(self.version) >= "0.9" and self.settings.build_type == "Debug" and is_msvc(self): + tc.preprocessor_definitions["JXL_DEBUG_V_LEVEL"] = 1 + tc.generate() + + deps = CMakeDeps(self) + deps.set_property("brotli", "cmake_file_name", "Brotli") + deps.set_property("highway", "cmake_file_name", "HWY") + deps.set_property("lcms", "cmake_file_name", "LCMS2") + deps.generate() + + # For tcmalloc + deps = PkgConfigDeps(self) + deps.generate() + + @property + def _atomic_required(self): + return self.settings.get_safe("compiler.libcxx") in ["libstdc++", "libstdc++11"] def _patch_sources(self): - for patch in self.conan_data["patches"][self.version]: - tools.patch(**patch) - - def _configure_cmake(self): - if self._cmake: - return self._cmake - self._cmake = CMake(self) - self._cmake.definitions["BUILD_TESTING"] = False - self._cmake.definitions["JPEGXL_STATIC"] = not self.options.shared - self._cmake.definitions["JPEGXL_ENABLE_BENCHMARK"] = False - self._cmake.definitions["JPEGXL_ENABLE_EXAMPLES"] = False - self._cmake.definitions["JPEGXL_ENABLE_MANPAGES"] = False - self._cmake.definitions["JPEGXL_ENABLE_SJPEG"] = False - self._cmake.definitions["JPEGXL_ENABLE_OPENEXR"] = False - self._cmake.definitions["JPEGXL_ENABLE_SKCMS"] = False - self._cmake.definitions["JPEGXL_ENABLE_TCMALLOC"] = False - if tools.cross_building(self): - self._cmake.definitions["CMAKE_SYSTEM_PROCESSOR"] = \ - str(self.settings.arch) - self._cmake.configure() - return self._cmake + # Disable tools, extras and third_party + save(self, os.path.join(self.source_folder, "tools", "CMakeLists.txt"), "") + save(self, os.path.join(self.source_folder, "third_party", "CMakeLists.txt"), "") + # FindAtomics.cmake values are set by CMakeToolchain instead + save(self, os.path.join(self.source_folder, "cmake", "FindAtomics.cmake"), "") + + # Allow fPIC to be set by Conan + replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), + "set(CMAKE_POSITION_INDEPENDENT_CODE TRUE)", "") + for cmake_file in ["jxl.cmake", "jxl_threads.cmake", "jxl_cms.cmake", "jpegli.cmake"]: + path = os.path.join(self.source_folder, "lib", cmake_file) + if os.path.exists(path): + fpic = "ON" if self.options.get_safe("fPIC", True) else "OFF" + replace_in_file(self, path, "POSITION_INDEPENDENT_CODE ON", f"POSITION_INDEPENDENT_CODE {fpic}") + + if Version(self.version) < "0.7": + replace_in_file(self, os.path.join(self.source_folder, "lib", "jxl.cmake"), + " DESTINATION ${CMAKE_INSTALL_LIBDIR}", + " RUNTIME DESTINATION bin LIBRARY DESTINATION lib ARCHIVE DESTINATION lib") + if self.settings.compiler not in ["gcc", "clang"]: + replace_in_file(self, os.path.join(self.source_folder, "lib", "jxl.cmake"), + "-Wl,--exclude-libs=ALL", "") def build(self): self._patch_sources() - cmake = self._configure_cmake() + cmake = CMake(self) + cmake.configure() cmake.build() def package(self): - cmake = self._configure_cmake() + cmake = CMake(self) cmake.install() - - self.copy("LICENSE", src=self._source_subfolder, dst="licenses") - tools.rmdir(os.path.join(self.package_folder, "lib", "pkgconfig")) - + copy(self, "LICENSE", self.source_folder, os.path.join(self.package_folder, "licenses")) + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) if self.options.shared: - libs_dir = os.path.join(self.package_folder, "lib") - tools.remove_files_by_mask(libs_dir, "*.a") - tools.remove_files_by_mask(libs_dir, "*-static.lib") - - if self.settings.os == "Windows": - self.copy("jxl_dec.dll", src="bin", dst="bin") - self.copy("jxl_dec.lib", src="lib", dst="lib") - for dll_path in glob.glob(os.path.join(libs_dir, "*.dll")): - shutil.move(dll_path, os.path.join(self.package_folder, - "bin", os.path.basename(dll_path))) - else: - self.copy("libjxl_dec.*", src="lib", dst="lib") + rm(self, "*.a", os.path.join(self.package_folder, "lib")) + rm(self, "*-static.lib", os.path.join(self.package_folder, "lib")) def _lib_name(self, name): - if not self.options.shared and self.settings.os == "Windows": + if Version(self.version) < "0.9" and not self.options.shared and self.settings.os == "Windows": return name + "-static" return name def package_info(self): + libcxx = stdcpp_library(self) + # jxl - self.cpp_info.components["jxl"].names["pkg_config"] = "libjxl" + self.cpp_info.components["jxl"].set_property("pkg_config_name", "libjxl") self.cpp_info.components["jxl"].libs = [self._lib_name("jxl")] - self.cpp_info.components["jxl"].requires = ["brotli::brotli", - "highway::highway", - "lcms::lcms"] + self.cpp_info.components["jxl"].requires = ["brotli::brotli", "highway::highway", "lcms::lcms"] + if self.options.with_tcmalloc: + self.cpp_info.components["jxl"].requires.append("gperftools::tcmalloc_minimal") + if self._atomic_required: + self.cpp_info.components["jxl"].system_libs.append("atomic") + if not self.options.shared: + self.cpp_info.components["jxl"].defines.append("JXL_STATIC_DEFINE") + if libcxx: + self.cpp_info.components["jxl"].system_libs.append(libcxx) + + # jxl_cms + if Version(self.version) >= "0.9.0": + self.cpp_info.components["jxl_cms"].set_property("pkg_config_name", "libjxl_cms") + self.cpp_info.components["jxl_cms"].libs = [self._lib_name("jxl_cms")] + self.cpp_info.components["jxl_cms"].requires = ["lcms::lcms", "highway::highway"] + if not self.options.shared: + self.cpp_info.components["jxl"].defines.append("JXL_CMS_STATIC_DEFINE") + if libcxx: + self.cpp_info.components["jxl_cms"].system_libs.append(libcxx) + # jxl_dec - self.cpp_info.components["jxl_dec"].names["pkg_config"] = "libjxl_dec" - self.cpp_info.components["jxl_dec"].libs = [self._lib_name("jxl_dec")] - self.cpp_info.components["jxl_dec"].requires = ["brotli::brotli", - "highway::highway", - "lcms::lcms"] + if Version(self.version) < "0.9.0": + if not self.options.shared: + self.cpp_info.components["jxl_dec"].set_property("pkg_config_name", "libjxl_dec") + self.cpp_info.components["jxl_dec"].libs = [self._lib_name("jxl_dec")] + self.cpp_info.components["jxl_dec"].requires = ["brotli::brotli", "highway::highway", "lcms::lcms"] + if libcxx: + self.cpp_info.components["jxl_dec"].system_libs.append(libcxx) + # jxl_threads - self.cpp_info.components["jxl_threads"].names["pkg_config"] = \ - "libjxl_threads" - self.cpp_info.components["jxl_threads"].libs = \ - [self._lib_name("jxl_threads")] - if self.settings.os == "Linux": + self.cpp_info.components["jxl_threads"].set_property("pkg_config_name", "libjxl_threads") + self.cpp_info.components["jxl_threads"].libs = [self._lib_name("jxl_threads")] + if self.settings.os in ["Linux", "FreeBSD"]: self.cpp_info.components["jxl_threads"].system_libs = ["pthread"] - - if not self.options.shared and tools.stdcpp_library(self): - self.cpp_info.components["jxl"].system_libs.append( - tools.stdcpp_library(self)) - self.cpp_info.components["jxl_dec"].system_libs.append( - tools.stdcpp_library(self)) - self.cpp_info.components["jxl_threads"].system_libs.append( - tools.stdcpp_library(self)) + if not self.options.shared: + self.cpp_info.components["jxl_threads"].defines.append("JXL_THREADS_STATIC_DEFINE") + if libcxx: + self.cpp_info.components["jxl_threads"].system_libs.append(libcxx) diff --git a/recipes/libjxl/all/patches/0001-clean-targets-v0.5.patch b/recipes/libjxl/all/patches/0001-clean-targets-v0.5.patch deleted file mode 100644 index 1f47c925782ce..0000000000000 --- a/recipes/libjxl/all/patches/0001-clean-targets-v0.5.patch +++ /dev/null @@ -1,38 +0,0 @@ ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -150,8 +150,6 @@ set(CMAKE_EXPORT_COMPILE_COMMANDS ON) - if(JPEGXL_STATIC) - set(CMAKE_FIND_LIBRARY_SUFFIXES .a) - set(BUILD_SHARED_LIBS 0) -- set(CMAKE_EXE_LINKER_FLAGS -- "${CMAKE_EXE_LINKER_FLAGS} -static -static-libgcc -static-libstdc++") - if (MINGW) - # In MINGW libstdc++ uses pthreads directly. When building statically a - # program (regardless of whether the source code uses pthread or not) the -@@ -247,8 +245,6 @@ set(CMAKE_CXX_STANDARD 11) - set(CMAKE_CXX_EXTENSIONS OFF) - set(CMAKE_CXX_STANDARD_REQUIRED YES) - --add_subdirectory(third_party) -- - set(THREADS_PREFER_PTHREAD_FLAG YES) - find_package(Threads REQUIRED) - -@@ -331,6 +327,3 @@ endif () - if (${JPEGXL_ENABLE_PLUGINS}) - add_subdirectory(plugins) - endif () -- --# Binary tools --add_subdirectory(tools) - ---- a/lib/CMakeLists.txt -+++ b/lib/CMakeLists.txt -@@ -119,7 +119,6 @@ endif() #!MSVC - include(jxl.cmake) - - # Other libraries outside the core jxl library. --include(jxl_extras.cmake) - include(jxl_threads.cmake) - - # Install all the library headers from the source and the generated ones. There diff --git a/recipes/libjxl/all/patches/0001-clean-targets-v0.6.patch b/recipes/libjxl/all/patches/0001-clean-targets-v0.6.patch deleted file mode 100644 index e59af39610354..0000000000000 --- a/recipes/libjxl/all/patches/0001-clean-targets-v0.6.patch +++ /dev/null @@ -1,36 +0,0 @@ ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -161,6 +161,4 @@ # ourselves; for real use case we don't care about stdlib, as it is "granted", - # so just linking all other libraries is fine. - if (NOT APPLE) -- set(CMAKE_EXE_LINKER_FLAGS -- "${CMAKE_EXE_LINKER_FLAGS} -static -static-libgcc -static-libstdc++") - endif() - endif() # JPEGXL_STATIC -@@ -278,8 +277,6 @@ set(CMAKE_CXX_STANDARD 11) - set(CMAKE_CXX_EXTENSIONS OFF) - set(CMAKE_CXX_STANDARD_REQUIRED YES) - --add_subdirectory(third_party) -- - # Copy the JXL license file to the output build directory. - configure_file("${CMAKE_CURRENT_SOURCE_DIR}/LICENSE" - ${PROJECT_BINARY_DIR}/LICENSE.jpeg-xl COPYONLY) -@@ -380,6 +376,3 @@ # Plugins for third-party software - if (${JPEGXL_ENABLE_PLUGINS}) - add_subdirectory(plugins) - endif () -- --# Binary tools --add_subdirectory(tools) - ---- a/lib/CMakeLists.txt -+++ b/lib/CMakeLists.txt -@@ -132,7 +132,6 @@ # The jxl library definition. - include(jxl.cmake) - - # Other libraries outside the core jxl library. --include(jxl_extras.cmake) - include(jxl_threads.cmake) - - # Install all the library headers from the source and the generated ones. There diff --git a/recipes/libjxl/all/patches/0002-fix-dependencies-v0.5.patch b/recipes/libjxl/all/patches/0002-fix-dependencies-v0.5.patch deleted file mode 100644 index 8ec6fc1cb0d9d..0000000000000 --- a/recipes/libjxl/all/patches/0002-fix-dependencies-v0.5.patch +++ /dev/null @@ -1,106 +0,0 @@ ---- a/lib/jxl.cmake -+++ b/lib/jxl.cmake -@@ -328,7 +328,7 @@ if (JPEGXL_ENABLE_SKCMS) - list(APPEND JPEGXL_INTERNAL_FLAGS -DJPEGXL_ENABLE_SKCMS=1) - list(APPEND JPEGXL_INTERNAL_LIBS skcms) - else () -- list(APPEND JPEGXL_INTERNAL_LIBS lcms2) -+ list(APPEND JPEGXL_INTERNAL_LIBS ${CONAN_LIBS_LCMS}) - endif () - - if (NOT JPEGXL_ENABLE_TRANSCODE_JPEG) -@@ -353,8 +353,6 @@ set_property(TARGET jxl_dec-obj PROPERTY POSITION_INDEPENDENT_CODE ON) - target_include_directories(jxl_dec-obj PUBLIC - ${PROJECT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include -- $ -- $ - ) - target_compile_definitions(jxl_dec-obj PUBLIC - ${OBJ_COMPILE_DEFINITIONS} -@@ -371,8 +369,6 @@ set_property(TARGET jxl_enc-obj PROPERTY POSITION_INDEPENDENT_CODE ON) - target_include_directories(jxl_enc-obj PUBLIC - ${PROJECT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include -- $ -- $ - ) - target_compile_definitions(jxl_enc-obj PUBLIC - ${OBJ_COMPILE_DEFINITIONS} -@@ -381,23 +377,6 @@ if (JPEGXL_ENABLE_PROFILER) - target_link_libraries(jxl_enc-obj PUBLIC jxl_profiler) - endif() - --#TODO(lode): don't depend on CMS for the core library --if (JPEGXL_ENABLE_SKCMS) -- target_include_directories(jxl_enc-obj PRIVATE -- $ -- ) -- target_include_directories(jxl_dec-obj PRIVATE -- $ -- ) --else () -- target_include_directories(jxl_enc-obj PRIVATE -- $ -- ) -- target_include_directories(jxl_dec-obj PRIVATE -- $ -- ) --endif () -- - # Headers for exporting/importing public headers - include(GenerateExportHeader) - # TODO(deymo): Add these visibility properties to the static dependencies of -@@ -416,9 +395,6 @@ set_target_properties(jxl_enc-obj PROPERTIES - VISIBILITY_INLINES_HIDDEN 1 - DEFINE_SYMBOL JXL_INTERNAL_LIBRARY_BUILD - ) --generate_export_header(jxl_enc-obj -- BASE_NAME JXL -- EXPORT_FILE_NAME include/jxl/jxl_export.h) - target_include_directories(jxl_enc-obj PUBLIC - ${CMAKE_CURRENT_BINARY_DIR}/include) - -@@ -496,9 +472,8 @@ if (((NOT DEFINED "${TARGET_SUPPORTS_SHARED_LIBS}") OR - add_library(jxl SHARED - $ - $) --strip_static(JPEGXL_INTERNAL_SHARED_LIBS JPEGXL_INTERNAL_LIBS) - target_link_libraries(jxl PUBLIC ${JPEGXL_COVERAGE_FLAGS}) --target_link_libraries(jxl PRIVATE ${JPEGXL_INTERNAL_SHARED_LIBS}) -+target_link_libraries(jxl PRIVATE ${JPEGXL_INTERNAL_LIBS}) - # Shared library include path contains only the "include/" paths. - target_include_directories(jxl PUBLIC - "${CMAKE_CURRENT_SOURCE_DIR}/include" -@@ -507,13 +482,13 @@ set_target_properties(jxl PROPERTIES - VERSION ${JPEGXL_LIBRARY_VERSION} - SOVERSION ${JPEGXL_LIBRARY_SOVERSION} - LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}" -- RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}") -+ RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}" -+ DEFINE_SYMBOL JXL_INTERNAL_LIBRARY_BUILD) - - # Public shared decoder library. - add_library(jxl_dec SHARED $) --strip_static(JPEGXL_DEC_INTERNAL_SHARED_LIBS JPEGXL_DEC_INTERNAL_LIBS) - target_link_libraries(jxl_dec PUBLIC ${JPEGXL_COVERAGE_FLAGS}) --target_link_libraries(jxl_dec PRIVATE ${JPEGXL_DEC_INTERNAL_SHARED_LIBS}) -+target_link_libraries(jxl_dec PRIVATE ${JPEGXL_DEC_INTERNAL_LIBS}) - # Shared library include path contains only the "include/" paths. - target_include_directories(jxl_dec PUBLIC - "${CMAKE_CURRENT_SOURCE_DIR}/include" -@@ -549,8 +524,14 @@ install(TARGETS jxl - else() - add_library(jxl ALIAS jxl-static) - add_library(jxl_dec ALIAS jxl_dec-static) -+set_target_properties(jxl-static PROPERTIES -+ DEFINE_SYMBOL JXL_INTERNAL_LIBRARY_BUILD) - endif() # TARGET_SUPPORTS_SHARED_LIBS AND NOT JPEGXL_STATIC - -+generate_export_header(jxl -+ BASE_NAME JXL -+ EXPORT_FILE_NAME include/jxl/jxl_export.h) -+ - # Add a pkg-config file for libjxl. - set(JPEGXL_LIBRARY_REQUIRES - "libhwy libbrotlicommon libbrotlienc libbrotlidec") diff --git a/recipes/libjxl/all/patches/0002-fix-dependencies-v0.6.patch b/recipes/libjxl/all/patches/0002-fix-dependencies-v0.6.patch deleted file mode 100644 index b4ff403da499f..0000000000000 --- a/recipes/libjxl/all/patches/0002-fix-dependencies-v0.6.patch +++ /dev/null @@ -1,126 +0,0 @@ ---- a/lib/jxl.cmake -+++ b/lib/jxl.cmake -@@ -334,7 +334,7 @@ if (JPEGXL_ENABLE_SKCMS) - list(APPEND JPEGXL_INTERNAL_LIBS skcms) - endif () - else () -- list(APPEND JPEGXL_INTERNAL_LIBS lcms2) -+ list(APPEND JPEGXL_INTERNAL_LIBS ${CONAN_LIBS_LCMS}) - endif () - - if (NOT JPEGXL_ENABLE_TRANSCODE_JPEG) -@@ -359,8 +359,6 @@ set_property(TARGET jxl_dec-obj PROPERTY POSITION_INDEPENDENT_CODE ON) - target_include_directories(jxl_dec-obj PUBLIC - ${PROJECT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include -- $ -- $ - ) - target_compile_definitions(jxl_dec-obj PUBLIC - ${OBJ_COMPILE_DEFINITIONS} -@@ -377,8 +375,6 @@ set_property(TARGET jxl_enc-obj PROPERTY POSITION_INDEPENDENT_CODE ON) - target_include_directories(jxl_enc-obj PUBLIC - ${PROJECT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include -- $ -- $ - ) - target_compile_definitions(jxl_enc-obj PUBLIC - ${OBJ_COMPILE_DEFINITIONS} -@@ -387,17 +383,6 @@ if (JPEGXL_ENABLE_PROFILER) - target_link_libraries(jxl_enc-obj PUBLIC jxl_profiler) - endif() - --#TODO(lode): don't depend on CMS for the core library --if (JPEGXL_ENABLE_SKCMS) -- target_include_directories(jxl_enc-obj PRIVATE -- $ -- ) --else () -- target_include_directories(jxl_enc-obj PRIVATE -- $ -- ) --endif () -- - # Headers for exporting/importing public headers - include(GenerateExportHeader) - set_target_properties(jxl_dec-obj PROPERTIES -@@ -413,9 +398,6 @@ set_target_properties(jxl_enc-obj PROPERTIES - VISIBILITY_INLINES_HIDDEN 1 - DEFINE_SYMBOL JXL_INTERNAL_LIBRARY_BUILD - ) --generate_export_header(jxl_enc-obj -- BASE_NAME JXL -- EXPORT_FILE_NAME include/jxl/jxl_export.h) - target_include_directories(jxl_enc-obj PUBLIC - ${CMAKE_CURRENT_BINARY_DIR}/include) - -@@ -495,9 +477,8 @@ if (((NOT DEFINED "${TARGET_SUPPORTS_SHARED_LIBS}") OR - - # Public shared library. - add_library(jxl SHARED ${JPEGXL_INTERNAL_OBJECTS}) --strip_static(JPEGXL_INTERNAL_SHARED_LIBS JPEGXL_INTERNAL_LIBS) - target_link_libraries(jxl PUBLIC ${JPEGXL_COVERAGE_FLAGS}) --target_link_libraries(jxl PRIVATE ${JPEGXL_INTERNAL_SHARED_LIBS}) -+target_link_libraries(jxl PRIVATE ${JPEGXL_INTERNAL_LIBS}) - # Shared library include path contains only the "include/" paths. - target_include_directories(jxl PUBLIC - "${CMAKE_CURRENT_SOURCE_DIR}/include" -@@ -506,13 +487,13 @@ set_target_properties(jxl PROPERTIES - VERSION ${JPEGXL_LIBRARY_VERSION} - SOVERSION ${JPEGXL_LIBRARY_SOVERSION} - LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}" -- RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}") -+ RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}" -+ DEFINE_SYMBOL JXL_INTERNAL_LIBRARY_BUILD) - - # Public shared decoder library. - add_library(jxl_dec SHARED $) --strip_static(JPEGXL_DEC_INTERNAL_SHARED_LIBS JPEGXL_DEC_INTERNAL_LIBS) - target_link_libraries(jxl_dec PUBLIC ${JPEGXL_COVERAGE_FLAGS}) --target_link_libraries(jxl_dec PRIVATE ${JPEGXL_DEC_INTERNAL_SHARED_LIBS}) -+target_link_libraries(jxl_dec PRIVATE ${JPEGXL_DEC_INTERNAL_LIBS}) - # Shared library include path contains only the "include/" paths. - target_include_directories(jxl_dec PUBLIC - "${CMAKE_CURRENT_SOURCE_DIR}/include" -@@ -523,6 +504,12 @@ set_target_properties(jxl_dec PROPERTIES - LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}" - RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}") - -+set(LINKER_EXCLUDE_LIBS_FLAG "-Wl,--exclude-libs=ALL") -+include(CheckCSourceCompiles) -+list(APPEND CMAKE_EXE_LINKER_FLAGS ${LINKER_EXCLUDE_LIBS_FLAG}) -+check_c_source_compiles("int main(){return 0;}" LINKER_SUPPORT_EXCLUDE_LIBS) -+list(REMOVE_ITEM CMAKE_EXE_LINKER_FLAGS ${LINKER_EXCLUDE_LIBS_FLAG}) -+ - # Add a jxl.version file as a version script to tag symbols with the - # appropriate version number. This script is also used to limit what's exposed - # in the shared library from the static dependencies bundled here. -@@ -541,8 +528,10 @@ foreach(target IN ITEMS jxl jxl_dec) - # This hides the default visibility symbols from static libraries bundled into - # the shared library. In particular this prevents exposing symbols from hwy - # and skcms in the shared library. -- set_property(TARGET ${target} APPEND_STRING PROPERTY -- LINK_FLAGS " -Wl,--exclude-libs=ALL") -+ if(${LINKER_SUPPORT_EXCLUDE_LIBS}) -+ set_property(TARGET ${target} APPEND_STRING PROPERTY -+ LINK_FLAGS " ${LINKER_EXCLUDE_LIBS_FLAG}") -+ endif() - endforeach() - - # Only install libjxl shared library. The libjxl_dec is not installed since it -@@ -553,8 +542,14 @@ install(TARGETS jxl - else() - add_library(jxl ALIAS jxl-static) - add_library(jxl_dec ALIAS jxl_dec-static) -+set_target_properties(jxl-static PROPERTIES -+ DEFINE_SYMBOL JXL_INTERNAL_LIBRARY_BUILD) - endif() # TARGET_SUPPORTS_SHARED_LIBS AND NOT JPEGXL_STATIC - -+generate_export_header(jxl -+ BASE_NAME JXL -+ EXPORT_FILE_NAME include/jxl/jxl_export.h) -+ - # Add a pkg-config file for libjxl. - set(JPEGXL_LIBRARY_REQUIRES - "libhwy libbrotlicommon libbrotlienc libbrotlidec") diff --git a/recipes/libjxl/all/test_package/CMakeLists.txt b/recipes/libjxl/all/test_package/CMakeLists.txt index 7b9b613cbb24a..4cb796f1c09f2 100644 --- a/recipes/libjxl/all/test_package/CMakeLists.txt +++ b/recipes/libjxl/all/test_package/CMakeLists.txt @@ -1,8 +1,7 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(test_package C) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() +find_package(libjxl REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.c) -target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS}) +target_link_libraries(${PROJECT_NAME} PRIVATE libjxl::libjxl) diff --git a/recipes/libjxl/all/test_package/conanfile.py b/recipes/libjxl/all/test_package/conanfile.py index 138d4f5333429..ef5d7042163ec 100644 --- a/recipes/libjxl/all/test_package/conanfile.py +++ b/recipes/libjxl/all/test_package/conanfile.py @@ -1,10 +1,19 @@ -from conans import ConanFile, CMake, tools +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake import os class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake" + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): cmake = CMake(self) @@ -12,7 +21,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - img_path = os.path.join(self.source_folder, "test.jxl") - self.run(bin_path + " " + img_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/libjxl/all/test_package/test.jxl b/recipes/libjxl/all/test_package/test.jxl deleted file mode 100644 index a0f419a98a426a0a8b0d8fe30023d7824b7865e2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 21274 zcmV(*K;FOq3J3^xgM`YxRTKdL5{Lo-1QYc_+c}MaN*KZ+RSy6Fs8E@)F-m*0sQ^yj z$0vZAstN!A002CIe}xptvqi~tR1B(Oj4?8D2rvME6GZnP9RQfW9CMIPo8PSJPsJf1 zMaocV;cl2GqX^KABalY2i)P=XprD|jprD{&<+p8HwUQ*Yt=qPej`?$Dgia#~php1J z#o)|YTL8dyOOfP}GZ{b5PYn7PjF<346D!@e+qRM zUo#v4nR3-8xQ*}KU~|9$DM@4{{DDc}4dKqNKtnf}-W1C_`sTnXNpbn*bjx z(Gg1j^AN`E!0`Y=Wrl)Pnw(3&@@F6o3pu%5Utl|@T^rzd=$>7%>e-y+236O%qegWO z${phF2C>IN{yBb^YR;GR;h2F2A-T2QfY{hh21AEcS)dE-c7mKC?x9kwzlUVr*P)Sr zPN<))*NbT6o%J#jNHeqt9~h4YM^!U;uw2Zn;w9(gRPF!Sfakl_*e>y$ny)Qy=eRT{ zF1{qSyktcmt}#(?k(v6FNyCK)xD2+Iw=H+FR{yc4fWOhT-wSsAa;^j~{GT*DHchVl zWg^?9Xe4-WX0WitqVe{btjqpX+`sZ)RG%Xv(V* z{w1ap2@pq$knb2Kgd?R-q;R8yUdVMUB4=;YUN8jUaYhP|v9l{Je@kc1BHmb8jqwaG zl7{8=7+`z^;^w>C@g|lvcDkW$D{4UvY3Fr4kvxI6L&Bhdd)NJsYxdiXnd()$UUxH# z7I!emAZX_YiGSBy{2%qf&kg>S^XPP5sUqT{BXzz!agcs-BKNQwBxBiWZiH8z-`BYt zW8+4a;O9oGu^tRg+SySFssQc!jkZ~m(c4i)-w6b!ysF*SY}$z9tu+ef6jHuf>q|vp zN9HFxKCa!8fuHQK#RND%n`uygDZ6m|lM&!j8#T*9V;*jfZqxahZ z-)x1F(-INx>uH5_X>aMTbRIe&#dIFXSCR5b#2A&LysloRgEuVLb5jHaU zvs=OfBhz3RLyl+YBixrqqvAsjkjDKU80(Nu<*9vZx7%0Yya=M9UglEp$u3C^aBI*U z!Z9{zt+NXj?yV`bxnFL)^@pebZig*NGO1NXy|^lLT*@5VEcuQMbB#t&YIk%}Nbc5O z88c)*3ZczpjvqC$(#*-~>ri3!zFs3T&+28*<}34t@>W$&j|GJ|l!UTXc;H(7C5$g5 z;3>xSItlVG!krAGgMm;Tth;($qbr|b%bl(JzYD#2*@-gcXiJNKlD=WrF{LYe&uSGt zkgny)3>VN*=lAoB;a9o5v6&i0Q!n zVqPnNt+T?WolJ2dMR{0$o)=1Ph)|#HJvH2mlI=K%HSyP&Nj1lHdY=Zp2sZjK#uc%h zhi`1Z^J0zHr?*U zyYsbY&$l=(k_gpBzYBc+?FDHlZBQ@0-(cxNlS_y7rq#7a-0PtszWN9sxPXu7Q*Ks{ ztJ7q~T3M=8<;*|G^z*A)6gUy`X3ym;Zcv!@%Tc$HX6aGJLGm-pMsWO^OowTGbjX8n zQnWWAO4c|MtU1W1>APn&ify~lnwidu&bvNVamxtvu2=DowSNUvbdm|g=3vnIq zqK)qYBq=LK7Sf%^BE3>v+p93A^a4eOuoW)7d_mt0qwLU~1iCbQr&Po8n=yl-(CXw)j9j5fXRMDzW z1G>!h(rIo){7wWv4v&M>b!!&1pp!KV?6}kTZfdFE;oy4av-VXzBN6AN5eN(wJKR^) z4o<#>^sEnOw^XCOh>ND+56C6rp=~6l)RQo)l2xf>g z7;9W!Ak0EW>Uzo{SMW^T_a*s%VO^G6nBS0sWj3gw{L+X)&80$##2JGC;%7MlupVes z&6f3W_n?9pXMLGDR{{;JQj)QCU~|}78?sY9)ssSSAwRZCQmMki>%s-0Q-FVZ1tSD3 z;zSe#*7f_lW2%sC+sePY3T^cFbj@x}#@O0GsjpQ_#y^l`mcQYBM3}h0d7Yp)g78$} z29|Ie0L^EEHZB#0*kW3R;c?u})LJ_NU4ToKt>_lDfvX=I5vAb!IBig3Yz3!+E=U?^ zz$pu}rx}q=)}BpGc!c{R7+B}8;vx*; z#wAfVoSm6`G^NT+Fl>>4d$>l4f+E4F5|^{_f1+~5nLu2KaIJzbX-G6eYF2d)iu8!o z+RFT4CJNwVK}M@NtdlBmSgkN8((aZ{BEIr&_V^BrZra)okWHKprWT)UCCg|EG?%3nUMVQ3nN( zmdZ1R1(%IiypY?T0o38seq^IeBL+XJB(v!r0mV5J2LD&_dp9?#=$X2)6PswlKD90+ zNpS^a;#??V-l7B1H**&6#$Mr;oa|DQQ!PXyfPfi~K{HTT!5fI%GS_UUijV zsNqftj>fGrxffVaXZ7&Rp+nbYdcJ|;XZ`g_kYEr?O*s*T{TL?T(gm!*3?(af16Uu# z-)#!fLGEWf0o5j|h~m`hoW4!L#*Bhr5|#?j0dbcDkeU}@1P|Y8VN9gL1&rwYY}pTX z#xY;nCAz%+ljRBuPM_Y;p+pdbE#|RQ&%;q9g>A?UZ6EwlPi@K~wrPN_{Re)cIL5(!P*dX>WU)aj-Z1osK*2iFc&d|F zWZLM^ZJJR7I0a6+uTG_~=F?E}Z%8)=cPw4fwl#J&>BuH5}PZZ0al5KqNV!%4h# zN5tZU2VuNZ)mGIb1iH7r8z(RBs8AAs#UF4_fNfkCz8ALtpFK=KrT z!zXg2RVw9=c4^z@3Cn=XH)*IxOdhMWaa4t?S^omi{Bn7eh3W$OkU%XZS%jxkX=jKs zmbwmh1Ud+{Lc;iC63zuLwnYHx3dR;Pd{AJ(01M7W@dX$#{j0nVF=G2%Czuu}4H!+R zqobqkKBY1F$n2_#DB&UX6=Dvk`Xr1nF#QuzEutKvMTTwIlR$qBqn<_1*DxfROaIui*Tijh$Ygl4XGHzz^sfExMviqq_jH^XD5Qk5?g|W20(@;Xn1`Jrbh;C-nyO%$ZHgwR` zp04YYA>v0aR@~RpbPo$Xy@}Owz6&disOpk$$*Mp+sl#n#PfP~Z$%dD5p5QcDX}mXw zOh?1MDxvqex_dqNqtZIP0r>+2C{*PJArd6;L|@UK$j-QmNq4ZxOS4F1!qOpf*q z0stlkefn6&$oZ*g1kixa`{1AuKV;|mumM&Me+?B%@se=S-R4DQJ`V&7nZ^j+p9Sr; zn8mjvxz`bEF1tb*K>c~8x?Qx95p+Fg8sB)GY;z>LRe9;h*dIZ?rU_DfRNv17-KsvCv;pNL$o|B2Wp} zIKiJ1ovoBWfk&a+t1bQt+jY$*h+t~qM4nluC1BP%mJ^zq1Oq64JRJeN_-iBuJVBaW z-hf)M@06n@M<<@B289kWpbC1-1Fevcy}wVxd(JLt+>PQ(#vnsP+b@PY=p>WTdlu9A zAQrI8DA0mM5A(-2z$P9#D#))s#gU+X#j;n!M{8UK9iF1SyR)OX>|#KswaBi%({P1tzsso-AYH10MOE20+`5(S;;=Gp+ilyblH5unIsXBxm^TCa zW;^qLH^#Ut0steq0szdX5>S25o=({kV2XM7D@mN(-hw-xGig>%SBgR(?ov!N7RRN} zU2i`;l9LtQzUUkha)HBj;i}poI+#2qQK2j|I*BXvxhwA&~sH zL!JD8dql<1f<%EcXIPm8ZE}*Ho4no3u`cFLG>(ABHeQ;|oVRPnn^U76o%!E+Fnq4Ay1YGy%|eQFN_j3P_q)isI5Z1YJgVN&Q4C?yTr zuh?f-1wHbZs7#DLa?2l@q}TieGq5xf(8c%C$|kyWjp9)zP{{O1^HaFyImXfX^ z8f`mS|LbSDmo2_Kf#?ltd?nj>V9qyR;2E;ojYdVgVZS}!PPonMX#!f%S9hBczmKv= zj|UNR^Y5g)usYu1*}gshW7wp>&*jE+#I#=D0PiDwO{q?>xr~&qFW&T-hn*r!U?z*a9sXu0Om8UwX(3p; ztUzGw40?uW&e9~gh;T#kw1DtCQ*hj@NZ#UU zetSp!--MT2bX^E@X!Mc4CN6&y0u^&6PQ&N<*AL@t;CMvDGD+z%TMJHF)O9c8$a5>f zy?$n}D472OJ9Q@SkyDfcz zw)W>mS7V2Chd(~mwEHJ}!XpT>84-Jj!VYgp(t#QPDm~2(4tdRWJ^7F^mCQj?Pg0x%^i9_Y zJCzgog^LmVfYySC$1~i)EWy*WGYW!1Ot_XB09D0_lZDN(n!~_91SC}D=I+S7Rt7<+ zn{8GR=qi^ZM*<$SDY!6>o%|(mbPPcCFz_|-vfLAZ16krMf5QXPPG|U2($JVRh>=By zzk-}Yd`>1G8g>VSi^#}B89i!9F_cD%nZy)!_wer~PU5MjPF4imckW z?;uDu#^6r?f^B4=jAj3D9{bYP|M9Wqq=U?y4V#Xu3Dttzzq7?@7UG4|LBPz;fx>;B z`)I;HN8M%&jQH4k5ef$ETP!5tV)Mc0?}fesBp8Ws^pnU1!ClAhIYikfBStb{=F!;b z%LKD_a-=qGR^uG-?c#(Iy#dUSzP3NyT2cW!z0M2ZZv7;snms{^$fyDDgx8fba3r6Y zFA_G`@lM-Cc1L zSxLR%1q|uI#)wg;q!1hH=Oh2jQ;LeWyZ(UX(-cx&aA}<*33|J(0pb}|3dQQK)J~=Hgk_H9(G{7-TMM{v|13N1e`Bzf! zZt%2;`feoL$CQiDZmp$^SywVWJEk=Q+8#QovuQ}UYYeu`8v?sb#$S`74x>1ti#dc1 zp27{PQW~YPteB6rZk*gei%nZ=ro3Bv=nG@Fi9nb-L{(JRfW!r=v#qQT7c}FrpK=YM z18GELXWBqL5>4*UF}_y-h_eol>nvS-z~i6cspQ39Ey4cC0-Mb9(l|-6Ey0S*&6F*v zz4r<9xS>ETK7FT%irbhJkB3f5LWu|4rM^T3EW zyYvCl^>7D@yy)~m^+SQMAQ70aSzS?dNqjFPcx|c z%m*)&E1F-%6HmFu`ij*#Kk=V5PjPYrx}VAA6VRl^zltR~x`|_(D3KY;X3MSzh)=YK zR>=K3zrq?2q*SJF*=LRz^(I4Z!Pz1oz@LviKu040PeQtt zpIXmGd}@ziF^eG@!4iD0BdM5Cp~cRE=-lsPHI*c%IRxuTYt0X2+R%37>x}cPjf`Rw zVo_JWEG8byZ1Tyu*Hey82{={%O@1-_Y{*VRo0NBG2k5BAt1i^3a+}Sg+qb?N_j`uL z3SA~#egRamR|c;c!g{FS%`ugu*9o`kKDs|tfFyD&UmOqfSI3Uee~)wSB`zAbOp+H) zF2m>RB{$T8=HQF%|0{da(>PikXW~nST!JAHzH?E*mrtme za2)s3f3`9OY9=3a*H&Fh`@0;$HrVPlh8FrAS;9AyK?i8qt_#kx$=@~8g;tCr2Q_Dh zwu^!+#Z_bPJN?Iqm|{L0YKY&BXfpJjXWdIT$I3)c!)~gXd=ssOqGm{R&F2JI(9;FO944HCC;qQ#i7wn1x$Zg#?KTm8`Aj^aceU>`X#+Gw5de*7AXcjE9( zp;9EKwTie4skdqVktR^xTEbA3q}b^N?-I!!vLGYV5T{i}P8_6na7hEI`0k0%nK>W$ zBxu3X|H0AqF{rNB-lHC@w<;zUSpb1b6H+PsxGdDc2k&iaZ?8(?rD7s!E1i;w>o1|+tkr^A z-=rGyXw>hmM4i3QV=LH6nD9+Vcxy4fkeeieV|4VLTvsv|AacNS+xKMSuW zlg%*iHRZ%yG#4%Riy844Yy#P(0U|WjzCVHOzoGNF zZYk^L1SnVS_V^PF+D`%KuZb6jfKw&Jyf?_+2V3zQl$?Q~`6xSICUHw)9Fa>;UC9k{ zNW*m3{;Uv*a-@C|cv^j3siB+FEv0f7(Wtoe?+Hpf48~c9kSd46A99e39!y)^A-rkGztU4iQ*VL6L*yrHl1oYxJ5+|3?!{ z@k4j-h{jOEnY_nriTwL?==zn1EU|J$#Oap`jUD}IA|FI=7V&=*0tYWm4}SX^Ulk{> ztSdT${YIbZno@BqkfSuz)FoBK>ZH3K3!V+MozMJMgz@r?GUhzl(l9Bdv5~p<%QGgK z($IrGoLhsf^XkWWnB?v|#3B&K-7$1Blb;J7Q>qGvYDFb(Gf^r)!UZE4@zLyP8EJtGSXKNp=FQ>zu|RS(SP@U9*R{o^sWBGZ93No zdZ4YHBlX!_^kqkq>3ZMQCPt)B{3IGv<^XDXhIACcat@9w4lf51d2QUOuW;pRE<0nu zBH&ALN27%8D&DA#8sM0%Q(N(KOiJP`$7*A&$&IqwS^&50aNsDZ=0f-W^z@$p+to`= z(`YAuLhe3_{UkQ!g!wkyh7Bvjlz-x@ogMuRM83LCN-O8=k%QY;5mIUb$<2k*LYb+^ zCKLkBw)7HcoOxRoGv>n2|Hf9JIjF{;3;c-}fTd#Ju?G5G?+|&Z=`cU-v;dgd{jNfj6ZLBDdCu;rV(f zJ`!Zs*`Jq?CqwBfe=T=R(ll&#z-+Jw@Uv35aq5danD{T-Ljsz+HdGQV%{)g63RuT8 zCt+HOG)RwQVyB91;J4HzgZ6YAgR#?t8pK*C$!vb?+T1NN@&Y!bCoJzp(GbcTY77qx z0f8ROM!fo+{2VU$tY&u#g`x*M=5*GYdWag)IXE%?+sgBJA__~m$ls$f`dT4|3f$BIN+w z7Yv3&@umqxoK`uXWqSs-v)X}8?LM7#C0;Flm<Di zta@Zf=HQ?q^nHTtvnatg!ROz5)nD9dA-!~0NNfQ0`*g&6AeiN$Nh$Bo!f> zWMHZG?FW2C-$~!Idi%aD6=`0UBKsav=+F6nv)31enAwr9R6oBLmJ6gN7XFnz#`BkV&KXF~>M~pNsuH>E7dV zsw^s0>kx3EQ*_At9`#~)jvO5(#7uw%&6vjavc$oc;5fZx-?b@5sYiPPs&5tdw}FiS zw*4a6hKY&`HLpt;5g4_Ga)_9GfN@KNU#lXCy}A7ULXjf!Xoj=22DbOp# z(!@*i?8{RTD)4>*LL+;oekU2(P7i(-U`I>t$O8Bx6cy4$V)E+&F}|I>jCLEeZ(p*~ zP1G!?qE2g|v#h*`oG9D*fkJr1%lOQm%V0Z2uMi52X<^{3A0G?#$GvK;brC11*M(O0 zYA=y;ahLWKhH<&+G21#Q+~XvhjZbM-mTqGN#+MC7kZXus#0s9&FE0i z$I7}R*^dhn)cl-iw68d4fQiVyOFS@AD`ALb3-GepZ|OYBq3&|t*T(AMa{hoG<4z`}Zx$@wIy0s&x*Tfmyx z?-l&hg$XngZ0u>qJoQ)-ihhkSj6a6CdIk}#tF9dhVy0e*#LH{$ad<86%GBj;g@tNT zVde&JX(>KIr0XI;&0iYi`1VYw@XsEYhXl^B%wItBogau2#ugPU-l}ostAD+}F^8ox zr8ktoBCy76?!0pn1M)o!=a{SGGj^b{MK|>FP{<0AG1}UND2DoY(sQf8`+OD-<96aD zq>DiT_kNxgb=Q%p)2T?k!8?9no?*7p;U0%wWITuHk<$+ms^uGhkzMdH%w1g?qWM+&5~NoYX(Gqv8m5rng$tK-{tCvkIZujck@CaD~P za|}@v$NN?4I5R{IK8G9FRD*)>7~KXS;|Tz(pxh8W>{HhkO(m#dEPRV(w)JbuWt=#Q>DTwr8GPoH4vj)+l_+e zC?njNibtZ3BER08D3T8r#H0K>qUUiyT6D40F)4#y?M+$?s+<+6&vxU$b?dKz!oFsj zCEfg2%U)JBhjY4Pgb7!EBi8l~qQ^W@q}V>%*oguZ@>Nvc{@Gk30YALk?C?&O;L7(bOg*A!;xbfRx($mg2$UCSP0^@{MlhT6xy z0T;AlLCT1wqY06hD7H50Q>-Ro#93hUZOc~{P%5tlh9dwdqgvzAEZUa@wzetpg=4M* zznN|7zo6zj4R`zM({$cN$TfF9KPBYKm$|*O#jmlnK%7K8f^GL7N) zYiofsM@lOMpXA-Zj3WxlfW6$T0?zoMV6aVwna5l-O*T>m$A)i90ZzrhEYwey$7j*i zR~}87M?~{70+c+t15{^r>1z~PTrbdGz}1s{4cqLtSMn_C=bpsMs$4vhzemhwFjN>H zEl0e7m#ld{Ei@g(>U5{#EJF97h_(9=<{0o!;NoJ9P(-Y`hJNld8%JuS^UYOB?vwPXhL{ zo?q!$W%2R!?OA7E%QVL(s^ckruo?cZ+zuZT(hREg##>vCV>*JCEVw|eZm1-$9+hOF zh@-Y1Dp*bsP;+c2BK0N3h-wLfOmJmzRBOaozfZ~*0;h=h>_mCzPC({gjlvYWp>;AZ zo)C}u<|i|IlFZ1j82F_$cy94mrmt!s^zYwq;^_#P`t_ey?|>9{jNoKdRqC0dbVRZi zVzV>d>bCTQcAb8*FbUJCD6_kto?)M>HzxL91)&EsssI*_AcFNzm+dIDwK|FxFBW^> z8n;CtGV(8F)h#`qLk#}bgh5xCyk|BL=w*1BI@+oxt+(WvpQ#lANxe9(6LA)rvUT`1 zTmVDi=fp1lx{}tYh}wcaeBst`i-Q6>dVH$7N12KiX9+tA@Ycaq{W)&0RN%_@A2eY& zu~7C*`D>7K9!$qXym8krr_B+6fT^_Z!xPxMEiGEdDMY)j!dm2&AWRh*UR<6{Fo*&0 zy8h8e^_WO<)8sJhqeFrV$6<++O6B>0852HB4WExlUqy#hVO?j98=3-)It)gN{hxt~ z@kp2HlJAsqHDYi_;>Q>zILyaKqTN?S#+3IB7qkQy9k75=-eK+=BvNz;#QwEB;T6+k zI?)YV$7Us8eLOLX;DNLhMtO*3WxJiMlUhV1Xa%?%1vaT{2+WwBgQDbPpkIX=2GrhJ z79*O#b8*P>z}4?f-Yo)*rvsS2Oav5TQkg0HGq`6ce=nf-)lO>1gOH}7KiB6Kru?%C zpv~?qs7blhJAy>L?k2O0(kHmwT(b2?@A5%@^w^9ovt^@#12B7yFraV|5A)cGxQu+C z<{a8Eh?FQqL6A++T+I;MQO9b{iWNB+La09+zSc{APco`n)8pL*SOWp$%KI{; zO%UgKR1yJ0wpVB5w#@W6sRAD=2R~Jp#6*rVI9U7tp$_Xdt+W@;f9ELKEPyF48egs8 z;W^l-TD!gBCcm$0`ICT>BZ3H%_is99v49}yC6nGY1nQh#7DT-l z7@{C*_Ki5?T5wI1tQ=Z06F|x=8I4xMu0Frr`MNBmg7#NRU)L*Z|N&v)Mm$5I5=@&F_mn-@vPoQ zq%aCpw1kjl4_ z%X46%A&R$@@xb0ZO{}q3OEhhZ_(SZ4T64QuHlj}T10E>3Cml;3b(^B@%(gce=WLIh1ICVWlMLmnQd zWerMp01p2o?mv_7|4@-ipv(n#9L(pMzIF!*7t>+R$xlfuJNWHcbOMth!x{9 z?=B+6J~1ts^#O)B4xpgH|7##u)9nEhM~M5(yiW95%tSSHwm`1qPU(f)=s0nR_9ObF z#%16P#U?;r$*|(^u_AqoWncW)fC`yF*r&)KfupD;0Gw4YSbD{tLC`<;EGW@3sZN%C z7h&eC_tzvQztiuHi;0Gt>hTssWAL?KzZ+GZ`ToFiV^w_Uv)nJ-@Ev%htS2>)T+^8K zz?hN1Ky&k#$4O&T9cz!1GlzB9`@zNpiHg-RE&>*N=e>4`7rU#0#7Fwq|M%b(pthnfcVaZ|C{5(S;W8}Hu zLYWp{aqnY*1`sHQ>B0_Z0Sj|9MxGK|O^RAGE9+66u=9mj`s@qFXz}|nMr6?6@EDnz z2;V^!K(5%IyDT79vkX8S{&E}s?uh5>w$ajpz|Q24@0ll@7=yq&ra7nNP}J&;LMg%) z<%a9?Jhp-CHk=8A5&Ju~TSb*;^-VMHXWDK*x)Z!PKI=4W1*61TiT}W{y%tk;nPT)K zs{`_5aM_PL)b?q1z4EDHj~kc(r-L#X`pY?mE>kp0R}?4%+eZK;y@skgpad+yUhKIv zF5M`{?$k0(o9oTP^Ue_#5;BUT4?yV2qig_zmBD?qz+1qha`F$N!ikbXn_lbf%Z9kM z@k@QWtV0{ak`4rPqYTI6?51~$n`Oi+r9vUx}q5PSWDPq9bX6SmA++f$96- zN<-1(gq&|F+1ok|Sf9Qd_loG0uu6p%GZFANj(=kKqJmO!VNRG=bKVdlx=%Z!ivQ)K z1?XFn@l3V>i_IJeZpI7d|R8&7RlfR#<;V|guulrEe6g$Hk#ojo)~%b zb(v$s_7^q|Np*kN@xItg0hEH6y5ojyYiamCVQ;>sTfclwRn!E^s(goOzo}cIWz#aPQNe|G`!w3|28Ulc){NPsDJV z`GfQJPH>etDdoHb88&b0JVJv|6H9fsc=rPG8m9sFclC$%l|j#$>?Mu{@P&PK4;X8T zENq#4pChWUPL+(kw&IY7uIt0l_$?ay$Xt(-95Lpsq);{RYG*%$1FPxDF0PP^qEzkx z882+9#ClfQ(h}ok`0G1=MERQqLQQNt!i9tQDg{|xYmNgzX}W%}KXWCwrP+=4k-{D2 zWJpgcbWX1*z(YXEliV5@FOq#lrrl^n}vYS9EJNwc$JR zGGNSutBJ{A(roKSf-7bSyON)wv^Rf8nY>B5NKx3Ou#p-=^JF#wyDoSA4hKP!)abcq zDkpeU^ARponekHL7KN36!PD3T=(m=<$gwQ~TK$QYCoS~IQS|EOt#?A9OUbgjYkXK1 zYiJv54$m?~(t`EF4!;w6@uFZst@zXn+{_ar%(|zOO>YQ*WEfG)r@K71V0<-=c5SW|r!G@*`v5cViCZE!LA}x!t;oOda|kn?*}Hd$ zz|sxd0WJpWsjry|)wE*?s6SXtXYQXTIR7D~pvoLjGSeQV;V6Ifeb*`)wP41&{CY-W zp&aGc!l+=`p*UF*^Bhm|dr_?Dl;Qt>y+prJ?Ai4NR`zDQQOXikvJ@GGQ|z z*U`x^k#X{Z6g1^I2J=iMC%prMbORsLT-I0WTG_a!GrK1}I_=b^Mj4rF(xkBbLDMt- z03pDPYmJ1-jm;}qLF}GJ624(m2>)G1!Gl^J(WFWj536V?D6gtqvr5&}MbiqHyp47mjrXRkMtUA#d zmB9QYgJla->eZ`<)kXDTE8D#WFtI>t{dwF}C&go=m<~YOvQ1Ua9$J;^gk_vKkcCNw z(b;ujFu~i)YXI4bhkx3_*ZSrmya4A+8taL%*oT$N3Tl(|ybAv2xb5@o@*b#;dnq%Q z8tMgq%;@KgUA*A454;fipnsfu)L~d&7rlnsD8!K?D@IYCp^wC^L_a6bN^+OaebWU# zuW!TNO9-Q=ZJ+VP{x@n% z$ne`bL`UurCBXVh%@U8}^|zjKCJ_p^QVce5eW(f;2sB(=d#-oWDaPf2NG?Ko@_i99-|vq|24j*h7nt*yCL+SZa|K4;iPB(sLAAOm+aF`4YX;ZC^5C6Dy^Mc# z@FvPZ+K2v}b-0SkD#OMQg0_ff+l5`fJ7IA8cbv-xgsNnAlpp}mqq1mlCRHr@Xs#ibwQJy2`8$TxiMS={w3%(#u`PV{_ zf3v?HM6Yle`uD8L;FNIY#8X9XSr1+awo%2c%+acRI(dWgs^MhGy*7)rU7Y6-nu`Hc zY)P~ROtF3)O%dK4*Qn6rogQdrIhH@4Qnf00X$^s0-S2-NNn^@38)Hhbw#i#?uPzll z6r506GKc;*Y=J0Q%suu}PxUg{Kay#V73s=6QC@Qhf8^_XeMJ<=-qmFiV&QZSf*YD3 zC&aN;FXkPj?QnhsrUdfv$oqpCS;?x*Dd-tP4XOn~tRGzE_K5bWN{jt&yBcnW6CJsD zY?%Lgm$-t2!CgG9`F1S_eu2eaG*5G-gAU@4ZFl!|**M`s*q;(yn&uEQvN0ei(8DTf zu$a!*BJ@9u;AavM^RY<>FqaF@LaIjSky~7q@?Q@FQs&?a%n!|kbfzB{amIA${C7$$Jo=lf~t7irYd*XjUJQMbVp2?;gddc zZ)p-8BSi3iySGeY9y_E>=ZwuUM%7zo4h_T1&lSXwYKS@IgQ?`%5zuJkVf)a6gWkmB z699sCnrbFAw;Z0CM#_NCbK&P1EtDnL!)QXFAk9BtyRp6N=5*Xop6Dk-L#rWynCE-2 z@3em^7wc==ZF!Un9ILwPa9#vPzQ=18+c7$+ES(kPF1yqjW)W!nJ)WakQZcQ58EBx5 zkYKvU>AF0r2GI0Bc^WnFTMz8*^oAeo_wmJO9gISU-b9^iiH%`?z*91DV1G=j?m~O_ zhuFFPlb3gms<7LjD?jzu9DW~c=)!50p(%GjX}Tn6be{a}AOvic_y^Qsb`@y%xE454 z_=q6pVdF^0*ZIHb!ecoVPS`36HWlNF~W1#yIUgqHpO1|b!fL(Q{JK(Zs~PBz>QT~(Q;!LjpY49||RxKefY8^36YJ6V1B zfHkDWQYIQ>g6Q_&G_?maaiZJ?hL<@h-Ur~}LNmMn<+ZSLrjRRptZ*~rODb1O}yWd)#kCN-^_HYjE2bjMZ~aIX;-6y}Jyt6^@9fqDhP%hIC-TiR!3>vpCoLrDjG(>4)+9M@t%`^ePlE=+>% zv~ylnNn_=e0e{0Qg2L9@JyvUx`0Qz={3CZa2~z~?v4hl8;7HcO))9K+0(~6C`seZk z$#Chr0r?UJ?HdeF z81(ttZuZYv_?CcIhJ>4Lf^lPvxAa4s~;dRF39Bl@C@3-s0R}j4J}Nu1aKC?|X{(s&D`k#oom_!5@0X zr{dR;UBE2(Kv61t_)VX6X5CLigMNxcg)o!c{v>kU;nn@5E;ST{t$(2KtXI%~Cb52- zM!NVN`-k9SI^P5}9(_Aj6r;_|tA#ZNV%(;1@QLk7XS;`2*$o|^kmW)ttEnamn!sV7hDhUVAJ=h^e5VSHJxcUZv945Wq{{4 zd=#1|1a)iOfNBCAg1lbzT#4#>_4RI*=_?1&$A>d~=b;5a;%M-i(!wSIt&Jsib61}) zfc9ZEghP1TME@jLo1M;J?M2}3i8U4Hrp||j+8$___1P3hCm1b8yiq<+yaDnsqk>df zT(=_|<2V!8+|*QGIq@%vhb3W`SxS@Lis*cx9w3GuC<}UWp4R-IHCqLkh*L!`gxY=M zbtH#gtS{HWXePv~Zkbpsp|FN$@S1cZ?JwLi`DQ1D#u(sh7qqIA9Ye9K#K(Eo&UJr?>{{b7!=R40d~HqMlqtb z{%DZgX0$IWWb|j0zpVIFev|GOPscsQ$W&O?{N-0mtU(SO)g%u0g&+7ArM0r!VsTvf z={)oV6~Vxlrte#ngSePUJ01GCV~T(lZeqMz2kH@&N?peqHn$wvB>un)rtfRUF z57d`f^cZtIrE9h&-E~p^9an94%>q=7+=gE|lormPD~?X{GLRFke^VHrqlWJ`D^&%T zo2J(3O3IV_#V@&e>GOes4-oZ4@;mTvNp&w*h0OiiItU^M+}t8BYPtH1sn9OTa_2qc zDGH-Wy`CYV;bz71Ap^ynpv*>R)qK#<=oHSB#_hy_`eWT5EVv>y6r@bbF1#LzeJ9D& z@R?c#Wo*xAjIp?e;Kt9tTWCE+>AFe{3IG#s1Uvqk47X~u9CtDsg30`aCSp!Qzy%38fa6}7N% zBuYLIP28$m(NNoSv$WVN$TcaWr$h8TS9lzt z8jirY0K<2}&5G=a*|yAAn2Z)m==YiP-yQa@aP~<-J-=T@t$S)0@Q)7G46dAo&g*A* zW2oYj1h+nme1Iqx4Iha+d;c%>jETdP>8d8eDKp0K88z1?hHn8;xER!@&ZZ~5!omR& z5&%QQXyRf5FA2{|+Cnb*lTseBpGb`jPoLX7nhjYFFixDFIUYhBo3sC|GakvOcQDOd zBVQDe`$D*ai+ycAfInuNUpeX^|6qHYEI*i3J`r`EZf8(1;p}EeE`mVNG~$`{#0xCS zePmclSE}L}THou+yoaT$NcyI$Y1H3=tWl4QLHFVU)Uv9aq$Qo5P)RMumH&P0>k=1Y z;!Hvbvmjm<{bXu7d<7P?o7NP4?ZS;`4s)4~5?qHItJ37QSYao?`e!)#=F7ndWieLv zHdv1;^XQvYKat*#2iOt3cgjyVL2}E7OJk>i(q4LKCcq^H0x8t26MG_&vgNnXn3;-o z$Fw~0K(p_*cqMVTI!mz|TCdcoq&oo2NtqpGYu^829j2dhyTTI=Wrf#dx!L7bak}4P zgudzF6jXL@<44Z~LrT(%2OBWR^0s1Ny?=Pbw~J4{MDD4Y9yq+t&+e+J zfUtiFm~plmV6kGh9B5BKP~~so3>eWp5l~>D@}%6M4W^U}Qa6$WhgV5yGN)a(J8#AL0%o_1tNYenpV)GpB!k>1i`J;3s-kq z7}gayA}Io&SSrHOKgVM(n_CDF9ap+ce^ZHX)d`L}Hjh|_lZPt<@8~!<;=b6~D!QIA zfn;*-4+sTXO-&T+KXp+Mnxng+=qj^DLI?UDql*hr!MSm((#)@23CuD+1^kjvGJ=uH zaru|3OHBT3R)XeX|5A*)&@(6S23pS_i#VON!CFC0>>oeo6FSorR6hD{GDJbBhdM-Lh}UvF}y-A zTY`!#_wZdKf|x*W82qPGJ-Jtvu&Ej7il8G_SfuJ-6Nk#?9!Un`JM_!Y`Lnr2|)D6!0* zupmix=QNt&^45kUE0zgh_KO?(^`!NNs$4Zft&haWX^l61O_uKr4t9Y}DNI=oBfLe6 zhMqH)0m4c)H>Q}Xqgi!qWUq;0#G;1;{FKL=gNnxhymAs zh-?@sxv@?6A{b({^AkV&RP3xYDU7M+jfjf;abZCAyk(fDH}@3Xp7)BVez0(+b*8%J z3O#g>Q_$6xp9?Ra{joS1Vcy3gfil>)Zu76>!6ed1dmJgZ62h_+lu?9pdo+{Qf{0&u zx9T)d%u=;zJ&D09Ri6DTpO|$5QBaH={>zP@F=ms(BRiGH_B_$5K%zB^;ToQIH+6r@ zz7A!O{p|u6OL0G1TNy&9U%elMtiLgj)X-xf+_-WA959pQ9NlSZBiy3v%ZLKb(Z>y+ zA>G~gi*h-Q9wf4|+JTFn_N0MXC6IyuC`hTVop}zC>QPWkzXs_mKCOU=o>i0?Ed;&e zper)fGQ50Tfzc?9>;6*l6UY;dAL-c2M8P>w*TC-!nVFIfxp)x!vW$d7VR#XBxVMaA zOY#zHK^ST4s#lKy*Nu;hTxCk#zkW$ie|yHvXJikEE*Oo$f5k;nuvpN>_#YOxB3sZ#!WrXVCn~twF*eKBQo(!z+`T$feTA>O$ z*JOVEv*{cbX>oNW&9kzrF`(ZXo{jB-v9(r+4@o;YqbP7)Q-{g1^7}r%KfLEaA7LkGeaKs>F-1% zG1Qh(tnAV)E!k8^0jYPlU*R)VdA6<{pYI~9M};-a1v^UOkmVR3h8u=}28vWgOJ$X3 zuOmMb&|?J9XGv_jffZpdO6)1jcCn&=QGN&Qa-^p*P@6-}0!mmjg^eEv!*hF}X;&23 zQDCDIGqAeMFZc|w9{Wv$3 z*eKxAMQYy$Y5e{DIIlcz>tF*5{dK?kL5l)cE)({+La#uh<(jpxem$Cc=1aGm&o%cl zLY{F%CIatLSY;QBvhPYF8~jXP^pPd-E>5#cw4w#+xDi0?4jo7Le&m;5-2bc|_zMXE z)CI^)?>y+>P8w*qk$+XvR9FWFVpZRevzVw$^nO^ly;U{pb&ya=5Gh`gX7J+i<Y{}EOcnv6; zg>b6nW)OMBQpktoY`INCViTdhGO=#vOE4&lPy?wFK2%629zFytwCrl@`0;ZBjy8Tq zdp-S9fKR9Fl~7&J!qh9YuF23Rxw$kgIN3#<&7awx6v7#2f&&K|l636A&r8NO%4sVN zW;zirh#V&eh#@g9M~pakKXl(PicS5)|AD)Sa)VNrPLimpP>Ik#G~xG<&D?pZ>xIH~ zpm)|jp-iBdzqeq3EC0BA{K%P4t6&v@@%dB+b?R=gKV-}CPjNmvd{@{`TLG6-^7`W20q1!Q?z~=v@K1b;vEZm@> zL-RpujSWWAH#ecYUu$7-ospLh!;9XVYPqrvPzEJ-DYv7AyTU!b#f2)`i`R?hLb22XdeQ0ss?iWxA>fDxFS)B6vsjn*=`R>axys_9zztoMJF{7z|uS zKKaS3P7f{mBz)S@ccF8{JgEx+WNgCUTwB+KEsD zSWEcR-E6489_BS`Qd=@S5XBno1xMR{naQ5Ym(ymNh483d9jZ#rw}18S>^LK%bp@U) zKs(|2c;)4@=naKiUPhpsg*FG*n1NdP%OkJFNq3w~;_@=Gigi%GtnXUY_9uo1otow6 z{>9WRX3`mp=mKA_JIP;_u#jnlC+om=BhnI^f0?|%69{a%iAH^+bQ>Jal>lZLKSVKBW_Zo@1XZhRvp!7;LNN)D`+-sECPi0m{494v> z%m5$Zyf2gz{w%ou(@Ar7jF9Z!NsI8~P9K z+HiWE*^L?1Ym~h=GYorPaXj>;;$~l|*0G*XYSwsiVD?aw>8o>RhqfffKIUDFFB-^~ zw?7VZN&BJN<)xAwk#lsLY466{GTyG#Q;DR1PJ_8TaT>a;KzIXJBIVi;6^k>FrtJQ- z=SJUq1CwN@SpRcN=W@nm5y5@-$J|i$4>Y{x2Qs?He_9sUp2Wl`u=w?1Xv4+2Gb#KW zr*XqusE1|!St1-X4*x0ji!~$~*ERvZg|(APpIghRS$R*wqOPj*w$HdHW^&s^51O@j z^f#IQ{CCdMl4C(`7F<4gPIt@A--FUDE=f74g@S)Z#?Yna5E55jU>wwXQ40E2?Y ztE+fczvlx&0~omr02gc^4lk6jSy+uWHGss zvm~^js0R!-K7N~)bgk5l=vCiVbVU3DD2;|Z=^%UgT1>&|_(Cb#j-mt<6XSgsE~r$! z_Z=DY%J6t4B0K=2>}l_|Ovffl+4&>hmKr1hLm{ZlC~~2ZrHKJRuo?lE>5ZxdRXKRJ zzg?Lq!_JeZO{4- Date: Mon, 8 Jul 2024 23:48:58 +0100 Subject: [PATCH 079/641] (#24560) [bot] Update list of references (prod-v2/ListPackages) Co-authored-by: conan-center-bot --- .c3i/conan_v2_ready_references.yml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/.c3i/conan_v2_ready_references.yml b/.c3i/conan_v2_ready_references.yml index 5f2e14749e554..20665bebe59ae 100644 --- a/.c3i/conan_v2_ready_references.yml +++ b/.c3i/conan_v2_ready_references.yml @@ -390,6 +390,7 @@ required_for_references: - ezc3d - faac - fakeit +- faker-cxx - farmhash - fast-cdr - fast-cpp-csv-parser @@ -513,6 +514,7 @@ required_for_references: - gtest - gtk - gtk-doc-stub +- gtlab-logging - gtsam - guetzli - gumbo-parser @@ -658,6 +660,7 @@ required_for_references: - libatomic_ops - libattr - libavif +- libavrocpp - libb2 - libbacktrace - libbasisu @@ -1114,6 +1117,7 @@ required_for_references: - ozz-animation - p-ranav-glob - p7zip +- pagmo2 - paho-mqtt-c - paho-mqtt-cpp - pango @@ -1221,11 +1225,13 @@ required_for_references: - quaternions - quazip - quickcpplib +- quickfast - quickfix - quickjs - quill - quirc - qwt +- qxmpp - r8brain-free-src - rabbitmq-c - ragel @@ -1291,6 +1297,7 @@ required_for_references: - sassc - sbepp - sbp +- scc - scdoc - scip - scippp @@ -1568,6 +1575,7 @@ required_for_references: - wil - wildcards - wildmidi +- wineditline - winflexbison - winmd - winreg @@ -1613,6 +1621,7 @@ required_for_references: - yandex-ozo - yas - yasm +- ydcpp-tcpcat - yder - yoga - yomm2 From 1242ff1536e6d1fa62a73046762881f2418ce7fa Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 9 Jul 2024 08:11:19 +0900 Subject: [PATCH 080/641] (#24448) dtl: support gcc 14 * dtl: support gcc 14 * revert no_copy_source=True --- recipes/dtl/all/conanfile.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/recipes/dtl/all/conanfile.py b/recipes/dtl/all/conanfile.py index c53d228db8921..f500b1f6947df 100644 --- a/recipes/dtl/all/conanfile.py +++ b/recipes/dtl/all/conanfile.py @@ -1,8 +1,7 @@ import os from conan import ConanFile -from conan.tools.build import check_min_cppstd -from conan.tools.files import copy, get +from conan.tools.files import copy, get, replace_in_file from conan.tools.layout import basic_layout required_conan_version = ">=1.52.0" @@ -28,6 +27,8 @@ 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 () {") def package(self): copy(self, "COPYING", From dea3aaee25942d79291b60cb8a487320e35182d6 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 9 Jul 2024 08:31:15 +0900 Subject: [PATCH 081/641] (#24555) strong_type: add version 15 --- recipes/strong_type/all/conandata.yml | 3 +++ recipes/strong_type/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/strong_type/all/conandata.yml b/recipes/strong_type/all/conandata.yml index 33e85e480c828..f9c56ef18c867 100644 --- a/recipes/strong_type/all/conandata.yml +++ b/recipes/strong_type/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "v15": + url: "https://github.com/rollbear/strong_type/archive/refs/tags/v15.tar.gz" + sha256: "d445398d4c4d6795060ac2b60be146b3cd7e6039985244b2d56f9bc333f20bae" "v14": url: "https://github.com/rollbear/strong_type/archive/refs/tags/v14.tar.gz" sha256: "6cc5a6f8de5b52e6c9e4c8b246b6052b5943d6de9b314660009e092af522d2fc" diff --git a/recipes/strong_type/config.yml b/recipes/strong_type/config.yml index 5469ad726c024..b91eac17af3a4 100644 --- a/recipes/strong_type/config.yml +++ b/recipes/strong_type/config.yml @@ -1,4 +1,6 @@ versions: + "v15": + folder: all "v14": folder: all "v13": From 64eb987d51a5158e1989e58199038eb48fa7cbbb Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 9 Jul 2024 17:32:15 +0900 Subject: [PATCH 082/641] (#24557) blend2d: add version 0.11.3 --- 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 839e0c16a15fb..d6a075271dc7f 100644 --- a/recipes/blend2d/all/conandata.yml +++ b/recipes/blend2d/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.11.3": + url: "https://blend2d.com/download/blend2d-0.11.3.tar.gz" + sha256: "6dfb2c0260073f2af6c3dfe6c30a31da637e6facf7802f6b2836cc3c4e74fdd8" "0.11.1": url: "https://blend2d.com/download/blend2d-0.11.1.tar.gz" sha256: "f46d61b6aa477fea1a353a41f5906d4e861817ae059ed22fc6ecdd50ff859dd2" diff --git a/recipes/blend2d/config.yml b/recipes/blend2d/config.yml index 8c167771e148d..d02e5977a476a 100644 --- a/recipes/blend2d/config.yml +++ b/recipes/blend2d/config.yml @@ -1,4 +1,6 @@ versions: + "0.11.3": + folder: all "0.11.1": folder: all "0.10.6": From bf342a7a2a56ad20e31b565d2e785f7e8f23f624 Mon Sep 17 00:00:00 2001 From: Luis Caro Campos <3535649+jcar87@users.noreply.github.com> Date: Tue, 9 Jul 2024 09:42:37 +0100 Subject: [PATCH 083/641] (#24554) Revert "llvm-openmp: match FindOpenMP.cmake output, add MSVC support" * Revert "(#22353) llvm-openmp: match FindOpenMP.cmake output, add MSVC support" This reverts commit a4e1f4fd8aa5311ee49ec0af464205995750032b. * Update conanfile.py --- .../all/cmake/conan-llvm-openmp-vars.cmake.in | 158 ----------------- recipes/llvm-openmp/all/conandata.yml | 55 +++++- recipes/llvm-openmp/all/conanfile.py | 164 +++++------------- .../10/0001-disable-build-testing.patch | 35 ++++ .../11/0001-disable-build-testing.patch | 37 ++++ .../12/0001-disable-build-testing.patch | 40 +++++ .../13/0001-disable-build-testing.patch | 40 +++++ .../14/0001-disable-build-testing.patch | 62 +++++++ .../15/0001-disable-build-testing.patch | 62 +++++++ .../16/0001-disable-build-testing.patch | 44 +++++ .../17/0001-disable-build-testing.patch | 44 +++++ .../8/0001-disable-build-testing.patch | 25 +++ .../all/test_package/CMakeLists.txt | 28 --- .../llvm-openmp/all/test_package/conanfile.py | 11 -- .../all/test_package/test_package.c | 1 - .../all/test_package/test_package.cpp | 1 - .../all/test_v1_package/conanfile.py | 1 - recipes/llvm-openmp/config.yml | 8 +- 18 files changed, 482 insertions(+), 334 deletions(-) delete mode 100644 recipes/llvm-openmp/all/cmake/conan-llvm-openmp-vars.cmake.in create mode 100644 recipes/llvm-openmp/all/patches/10/0001-disable-build-testing.patch create mode 100644 recipes/llvm-openmp/all/patches/11/0001-disable-build-testing.patch create mode 100644 recipes/llvm-openmp/all/patches/12/0001-disable-build-testing.patch create mode 100644 recipes/llvm-openmp/all/patches/13/0001-disable-build-testing.patch create mode 100644 recipes/llvm-openmp/all/patches/14/0001-disable-build-testing.patch create mode 100644 recipes/llvm-openmp/all/patches/15/0001-disable-build-testing.patch create mode 100644 recipes/llvm-openmp/all/patches/16/0001-disable-build-testing.patch create mode 100644 recipes/llvm-openmp/all/patches/17/0001-disable-build-testing.patch create mode 100644 recipes/llvm-openmp/all/patches/8/0001-disable-build-testing.patch diff --git a/recipes/llvm-openmp/all/cmake/conan-llvm-openmp-vars.cmake.in b/recipes/llvm-openmp/all/cmake/conan-llvm-openmp-vars.cmake.in deleted file mode 100644 index a563629ae8506..0000000000000 --- a/recipes/llvm-openmp/all/cmake/conan-llvm-openmp-vars.cmake.in +++ /dev/null @@ -1,158 +0,0 @@ -# Reproduces the output of https://github.com/Kitware/CMake/blob/v3.28.1/Modules/FindOpenMP.cmake - -# For Conan v1 compatibility -foreach(_suffix RELEASE DEBUG RELWITHDEBINFO MINSIZEREL) - if(DEFINED OpenMP_OpenMP_INCLUDE_DIRS_${_suffix}) - set(_v1_suffix _${_suffix}) - endif() -endforeach() - -set(OpenMP_C_FLAGS "@OpenMP_FLAGS@") -set(OpenMP_C_INCLUDE_DIR "${OpenMP_INCLUDE_DIR${_v1_suffix}}") -set(OpenMP_C_INCLUDE_DIRS "${OpenMP_INCLUDE_DIRS${_v1_suffix}}") -set(OpenMP_C_LIB_NAMES "@OpenMP_LIB_NAMES@") -set(OpenMP_C_LIBRARIES "${OpenMP_LIBRARIES${_v1_suffix}}") -set(OpenMP_C_DEFINITIONS "${OpenMP_DEFINITIONS${_v1_suffix}}") - -set(OpenMP_CXX_FLAGS "${OpenMP_C_FLAGS}") -set(OpenMP_CXX_INCLUDE_DIR "${OpenMP_C_INCLUDE_DIR}") -set(OpenMP_CXX_INCLUDE_DIRS "${OpenMP_C_INCLUDE_DIRS}") -set(OpenMP_CXX_LIB_NAMES "${OpenMP_C_LIB_NAMES}") -set(OpenMP_CXX_LIBRARIES "${OpenMP_C_LIBRARIES}") -set(OpenMP_CXX_DEFINITIONS "${OpenMP_C_DEFINITIONS}") - -set(OpenMP_omp_LIBRARY "${OpenMP_C_LIBRARIES}") - -# Determine OpenMP specification date and version supported by the compiler. -function(_openmp_get_compiler_spec_date) - set(BUILD_DIR "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/FindOpenMP") - set(SRC_FILE "${BUILD_DIR}/ompver.c") - if(NOT CMAKE_C_COMPILER_LOADED) - set(SRC_FILE "${BUILD_DIR}/ompver.cpp") - endif() - set(BIN_FILE "${BUILD_DIR}/ompver.bin") - file(WRITE "${SRC_FILE}" " - #include - const char ompver_str[] = { 'I', 'N', 'F', 'O', ':', 'O', 'p', 'e', 'n', 'M', - 'P', '-', 'd', 'a', 't', 'e', '[', - ('0' + ((_OPENMP/100000)%10)), - ('0' + ((_OPENMP/10000)%10)), - ('0' + ((_OPENMP/1000)%10)), - ('0' + ((_OPENMP/100)%10)), - ('0' + ((_OPENMP/10)%10)), - ('0' + ((_OPENMP/1)%10)), - ']', '\\0' }; - int main(void) - { - puts(ompver_str); - return 0; - } - ") - try_compile(OpenMP_SPECTEST ${BUILD_DIR} - SOURCES "${SRC_FILE}" - COMPILE_DEFINITIONS "${OpenMP_C_FLAGS}" - CMAKE_FLAGS "-DINCLUDE_DIRECTORIES:STRING=${OpenMP_C_INCLUDE_DIR}" - COPY_FILE "${BIN_FILE}" - ) - if(NOT OpenMP_SPECTEST) - if(OpenMP_FIND_REQUIRED) - message(FATAL_ERROR "Failed to build OpenMP test executable for specification date detection") - elseif(NOT OpenMP_FIND_QUIETLY) - message(SEND_ERROR "Failed to build OpenMP test executable for specification date detection") - endif() - return() - endif() - file(STRINGS ${BIN_FILE} specstr LIMIT_COUNT 1 REGEX "INFO:OpenMP-date") - if(specstr MATCHES ".*INFO:OpenMP-date\\[0*([^]]*)\\].*") - set(OpenMP_SPEC_DATE ${CMAKE_MATCH_1} PARENT_SCOPE) - else() - if(OpenMP_FIND_REQUIRED) - message(FATAL_ERROR "Failed to detect OpenMP specification date") - elseif(NOT OpenMP_FIND_QUIETLY) - message(SEND_ERROR "Failed to detect OpenMP specification date") - endif() - return() - endif() -endfunction() - -function(_openmp_set_version_by_spec_date) - set(OpenMP_SPEC_DATE_MAP - "202111=5.2" - "202011=5.1" - # Preview versions - "201611=5.0" # OpenMP 5.0 preview 1 - # Combined versions, 2.5 onwards - "201811=5.0" - "201611=5.0" - "201511=4.5" - "201307=4.0" - "201107=3.1" - "200805=3.0" - "200505=2.5" - # C/C++ version 2.0 - "200203=2.0" - # Fortran version 2.0 - "200011=2.0" - # Fortran version 1.1 - "199911=1.1" - # C/C++ version 1.0 (there's no 1.1 for C/C++) - "199810=1.0" - # Fortran version 1.0 - "199710=1.0" - ) - if(OpenMP_SPEC_DATE_MAP MATCHES "${OpenMP_SPEC_DATE}=([0-9]+)\\.([0-9]+)") - set(major "${CMAKE_MATCH_1}") - set(minor "${CMAKE_MATCH_2}") - else() - if(OpenMP_FIND_REQUIRED) - message(FATAL_ERROR "Failed to detect OpenMP specification version") - elseif(NOT OpenMP_FIND_QUIETLY) - message(SEND_ERROR "Failed to detect OpenMP specification version") - endif() - return() - endif() - set(OpenMP_VERSION_MAJOR "${major}" PARENT_SCOPE) - set(OpenMP_VERSION_MINOR "${minor}" PARENT_SCOPE) - set(OpenMP_VERSION "${major}.${minor}" PARENT_SCOPE) -endfunction() - -# Compare the OpenMP API version supported by the compiler to -# the version supported by the LLVM OMP runtime and use the lower of the two. -# Note that this differs slightly from the CMake's FindOpenMP.cmake implementation, -# which checks only the version supported by the compiler. -_openmp_get_compiler_spec_date() -if(OpenMP_SPEC_DATE GREATER @OpenMP_SPEC_DATE@) - set(OpenMP_SPEC_DATE @OpenMP_SPEC_DATE@) - set(OpenMP_VERSION_MAJOR @OpenMP_VERSION_MAJOR@) - set(OpenMP_VERSION_MINOR @OpenMP_VERSION_MINOR@) - set(OpenMP_VERSION @OpenMP_VERSION@) -else() - _openmp_set_version_by_spec_date() -endif() - -foreach(_lang C CXX) - set(OpenMP_${_lang}_FOUND TRUE) - set(OpenMP_${_lang}_SPEC_DATE "${OpenMP_SPEC_DATE}") - set(OpenMP_${_lang}_VERSION_MAJOR "${OpenMP_VERSION_MAJOR}") - set(OpenMP_${_lang}_VERSION_MINOR "${OpenMP_VERSION_MINOR}") - set(OpenMP_${_lang}_VERSION "${OpenMP_VERSION}") -endforeach() - -# Check specification version against the requested min version, validate components -include(FindPackageHandleStandardArgs) -find_package_handle_standard_args(OpenMP - VERSION_VAR OpenMP_VERSION - REQUIRED_VARS - OpenMP_C_FLAGS - OpenMP_C_LIB_NAMES - OpenMP_C_SPEC_DATE - OpenMP_C_VERSION - OpenMP_CXX_FLAGS - OpenMP_CXX_LIB_NAMES - OpenMP_CXX_SPEC_DATE - OpenMP_CXX_VERSION - HANDLE_COMPONENTS -) -set(OPENMP_FOUND ${OpenMP_FOUND}) -set(OpenMP_C_FOUND ${OpenMP_FOUND}) -set(OpenMP_CXX_FOUND ${OpenMP_FOUND}) diff --git a/recipes/llvm-openmp/all/conandata.yml b/recipes/llvm-openmp/all/conandata.yml index 8bd5a66437442..cb5f1104f3fc9 100644 --- a/recipes/llvm-openmp/all/conandata.yml +++ b/recipes/llvm-openmp/all/conandata.yml @@ -1,11 +1,4 @@ sources: - "18.1.8": - openmp: - url: "https://github.com/llvm/llvm-project/releases/download/llvmorg-18.1.8/openmp-18.1.8.src.tar.xz" - sha256: "60ed57245e73894e4a2a89b15889f367bd906abfe6d3f92e1718223d4b496150" - cmake: - url: "https://github.com/llvm/llvm-project/releases/download/llvmorg-18.1.8/cmake-18.1.8.src.tar.xz" - sha256: "59badef592dd34893cd319d42b323aaa990b452d05c7180ff20f23ab1b41e837" "17.0.6": openmp: url: "https://github.com/llvm/llvm-project/releases/download/llvmorg-17.0.6/openmp-17.0.6.src.tar.xz" @@ -46,8 +39,56 @@ sources: "11.1.0": url: "https://github.com/llvm/llvm-project/releases/download/llvmorg-11.1.0/openmp-11.1.0.src.tar.xz" sha256: "d187483b75b39acb3ff8ea1b7d98524d95322e3cb148842957e9b0fbb866052e" + "10.0.0": + url: "https://github.com/llvm/llvm-project/releases/download/llvmorg-10.0.0/openmp-10.0.0.src.tar.xz" + sha256: "3b9ff29a45d0509a1e9667a0feb43538ef402ea8cfc7df3758a01f20df08adfa" + "9.0.1": + url: "https://github.com/llvm/llvm-project/releases/download/llvmorg-9.0.1/openmp-9.0.1.src.tar.xz" + sha256: "5c94060f846f965698574d9ce22975c0e9f04c9b14088c3af5f03870af75cace" + "8.0.1": + url: "https://github.com/llvm/llvm-project/releases/download/llvmorg-8.0.1/openmp-8.0.1.src.tar.xz" + sha256: "3e85dd3cad41117b7c89a41de72f2e6aa756ea7b4ef63bb10dcddf8561a7722c" patches: + "17.0.4": + - patch_file: "patches/17/0001-disable-build-testing.patch" + patch_description: "Disable building of tools, gdb-plugin, tests and docs" + patch_type: "conan" + "16.0.6": + - patch_file: "patches/16/0001-disable-build-testing.patch" + patch_description: "Disable building of tools, gdb-plugin, tests and docs" + patch_type: "conan" + "15.0.7": + - patch_file: "patches/15/0001-disable-build-testing.patch" + patch_description: "Disable building of tools, gdb-plugin, tests and docs" + patch_type: "conan" + "14.0.6": + - patch_file: "patches/14/0001-disable-build-testing.patch" + patch_description: "Disable building of tools, gdb-plugin, tests and docs" + patch_type: "conan" + "13.0.1": + - patch_file: "patches/13/0001-disable-build-testing.patch" + patch_description: "Disable building of tools, gdb-plugin, tests and docs" + patch_type: "conan" + "12.0.1": + - patch_file: "patches/12/0001-disable-build-testing.patch" + patch_description: "Disable building of tools, gdb-plugin, tests and docs" + patch_type: "conan" "11.1.0": + - patch_file: "patches/11/0001-disable-build-testing.patch" + patch_description: "Disable building of tools, gdb-plugin, tests and docs" + patch_type: "conan" - patch_file: "patches/11/0002-fix-armv8-build.patch" patch_description: "Fix build issues on armv8 architecture" patch_type: "portability" + "10.0.0": + - patch_file: "patches/10/0001-disable-build-testing.patch" + patch_description: "Disable building of tools, gdb-plugin, tests and docs" + patch_type: "conan" + "9.0.1": + - patch_file: "patches/8/0001-disable-build-testing.patch" + patch_description: "Disable building of tools, gdb-plugin, tests and docs" + patch_type: "conan" + "8.0.1": + - patch_file: "patches/8/0001-disable-build-testing.patch" + patch_description: "Disable building of tools, gdb-plugin, tests and docs" + patch_type: "conan" diff --git a/recipes/llvm-openmp/all/conanfile.py b/recipes/llvm-openmp/all/conanfile.py index 6ebb088d900ca..c1412f45efbaa 100644 --- a/recipes/llvm-openmp/all/conanfile.py +++ b/recipes/llvm-openmp/all/conanfile.py @@ -1,14 +1,13 @@ import os -import re import textwrap from conan import ConanFile -from conan.errors import ConanInvalidConfiguration, ConanException +from conan.errors import ConanInvalidConfiguration from conan.tools.apple import is_apple_os from conan.tools.build import check_min_cppstd from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout from conan.tools.env import VirtualBuildEnv -from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, replace_in_file, move_folder_contents, rmdir, load, save +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, replace_in_file, save, move_folder_contents, rmdir from conan.tools.microsoft import is_msvc from conan.tools.scm import Version @@ -58,57 +57,45 @@ def _version_major(self): def export_sources(self): export_conandata_patches(self) - copy(self, "*.cmake.in", self.recipe_folder, self.export_sources_folder) def config_options(self): if self.settings.os == "Windows": del self.options.fPIC - if is_apple_os(self) or self.settings.os == "Windows": - del self.options.build_libomptarget def configure(self): if self.options.shared: self.options.rm_safe("fPIC") - if self.settings.os == "Windows": - del self.options.shared - self.package_type = "shared-library" - - def layout(self): - cmake_layout(self, src_folder="src") def requirements(self): - if self.options.get_safe("build_libomptarget") and self._version_major >= 13: + if self.options.build_libomptarget and self._version_major >= 13: self.requires(f"llvm-core/{self.version}") - def validate(self): - if self.settings.os == "Windows": - if self._version_major < 17: - # fatal error LNK1181: cannot open input file 'build\runtime\src\omp.dll.lib' - raise ConanInvalidConfiguration(f"{self.ref} build is broken on MSVC for versions < 17") + def layout(self): + cmake_layout(self, src_folder="src") - if not self._openmp_flags: + def validate(self): + if is_msvc(self): + raise ConanInvalidConfiguration("llvm-openmp is not compatible with MSVC") + if self.settings.compiler not in ["apple-clang", "clang", "gcc", "intel-cc"]: raise ConanInvalidConfiguration( f"{self.settings.compiler} is not supported by this recipe. Contributions are welcome!" ) - if self._version_major >= 17: if self.settings.compiler.cppstd: check_min_cppstd(self, 17) 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++17, which your compiler does not support.") - if is_apple_os(self) and self.settings.arch == "armv8": - if self._version_major >= 12 and self.settings.build_type == "Debug": + if self._version_major <= 10: + raise ConanInvalidConfiguration("ARM v8 not supported") + if self._version_major != 11 and self.settings.build_type == "Debug": # All versions except for v11 crash with a segfault for the simple test_package.cpp test - # Might be related to https://github.com/llvm/llvm-project/issues/49923 raise ConanInvalidConfiguration("Debug mode not supported for ARM v8") def build_requirements(self): if self._version_major >= 17: self.tool_requires("cmake/[>=3.20 <4]") - if is_msvc(self): - self.tool_requires("strawberryperl/5.32.1.1") def source(self): if self._version_major >= 15: @@ -132,41 +119,20 @@ def generate(self): env.generate() tc = CMakeToolchain(self) tc.variables["OPENMP_STANDALONE_BUILD"] = True - tc.variables["LIBOMP_ENABLE_SHARED"] = self.options.get_safe("shared", True) - tc.variables["OPENMP_ENABLE_LIBOMPTARGET"] = self.options.get_safe("build_libomptarget", False) - # Do not build OpenMP Tools Interface (OMPT) + tc.variables["LIBOMP_ENABLE_SHARED"] = self.options.shared + tc.variables["OPENMP_ENABLE_LIBOMPTARGET"] = self.options.build_libomptarget + # Do not buidl OpenMP Tools Interface (OMPT) tc.variables["LIBOMP_OMPT_SUPPORT"] = False - # Should not be needed and causes the library to be copied on Windows due to lack of symlink support - tc.variables["LIBOMP_INSTALL_ALIASES"] = False - # The library file incorrectly includes a "lib" prefix on Windows otherwise - if self.settings.os == "Windows": - tc.variables["LIBOMP_LIB_NAME"] = "omp" tc.generate() def _patch_sources(self): apply_conandata_patches(self) - if self._version_major < 17: - # Fix CMake version and policies not being propagated in linker tests - replace_in_file(self, os.path.join(self.source_folder, "runtime", "cmake", "LibompCheckLinkerFlag.cmake"), - "cmake_minimum_required(", - "cmake_minimum_required(VERSION 3.15) #") - # Ensure sufficient CMake policy version is used for tc.variables - replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), - "cmake_minimum_required(", - "cmake_minimum_required(VERSION 3.15) #") - # Disable tests replace_in_file(self, os.path.join(self.source_folder, "runtime", "CMakeLists.txt"), "add_subdirectory(test)", "") - # v12 can be built without LLVM includes if self._version_major == 12: + # v12 can be built without LLVM includes replace_in_file(self, os.path.join(self.source_folder, "libomptarget", "CMakeLists.txt"), "if (NOT LIBOMPTARGET_LLVM_INCLUDE_DIRS)", "if (FALSE)") - # TODO: looks like a bug, should ask upstream - # The built import lib is named "libomp.dll.lib" otherwise, which also causes install() to fail - if self._version_major >= 14: - replace_in_file(self, os.path.join(self.source_folder, "runtime", "src", "CMakeLists.txt"), - "set(LIBOMP_GENERATED_IMP_LIB_FILENAME ${LIBOMP_LIB_FILE}${CMAKE_STATIC_LIBRARY_SUFFIX})", - "set(LIBOMP_GENERATED_IMP_LIB_FILENAME ${LIBOMP_LIB_NAME}${CMAKE_STATIC_LIBRARY_SUFFIX})") def build(self): self._patch_sources() @@ -174,71 +140,17 @@ def build(self): cmake.configure() cmake.build() - @property - def _module_file_rel_path(self): - return os.path.join("lib", "cmake", "openmp", "conan-llvm-openmp-vars.cmake") - - @property - def _conan1_targets_module_file_rel_path(self): - return os.path.join("lib", "cmake", "openmp", f"conan-official-{self.name}-targets.cmake") - - @property - def _openmp_flags(self): - # Based on https://github.com/Kitware/CMake/blob/v3.28.1/Modules/FindOpenMP.cmake#L104-L135 - if self.settings.compiler == "clang": - return ["-fopenmp=libomp"] - elif self.settings.compiler == "apple-clang": - return ["-Xclang", "-fopenmp"] - elif self.settings.compiler == "gcc": - return ["-fopenmp"] - elif self.settings.compiler == "intel-cc": - return ["-Qopenmp"] - elif self.settings.compiler == "sun-cc": - return ["-xopenmp"] - elif is_msvc(self): - return ["-openmp:llvm"] - return None - - @property - def _system_libs(self): - if self.settings.os in ["Linux", "FreeBSD"]: - return ["m", "dl", "pthread", "rt"] - if self.settings.os == "Windows": - return ["psapi"] - return [] - - @property - def _omp_runtime_version(self): - # llvm-openmp has hardcoded its OMP runtime version since v9 - # https://github.com/llvm/llvm-project/commit/e4b4f994d2f6a090694276b40d433dc1a58beb24 - cmake_content = load(self, os.path.join(self.source_folder, "runtime", "CMakeLists.txt")) - year_date = re.search(r"set\(LIBOMP_OMP_YEAR_MONTH (\d{6})\)", cmake_content).group(1) - if year_date != "201611": - raise ConanException(f"Unexpected LIBOMP_OMP_YEAR_MONTH value: {year_date}") - return "5.0", "201611" - - def _write_cmake_module(self): - omp_version, omp_spec_date = self._omp_runtime_version - cmake_module = load(self, os.path.join(self.export_sources_folder, "cmake", "conan-llvm-openmp-vars.cmake.in")) - cmake_module = cmake_module.replace("@OpenMP_FLAGS@", " ".join(self._openmp_flags)) - cmake_module = cmake_module.replace("@OpenMP_LIB_NAMES@", ";".join(["omp"] + self._system_libs)) - cmake_module = cmake_module.replace("@OpenMP_SPEC_DATE@", omp_spec_date) - cmake_module = cmake_module.replace("@OpenMP_VERSION_MAJOR@", str(Version(omp_version).major)) - cmake_module = cmake_module.replace("@OpenMP_VERSION_MINOR@", str(Version(omp_version).minor)) - cmake_module = cmake_module.replace("@OpenMP_VERSION@", omp_version) - save(self, os.path.join(self.package_folder, self._module_file_rel_path), cmake_module) - def package(self): - copy(self, "LICENSE.txt", self.source_folder, os.path.join(self.package_folder, "licenses")) + copy(self, "LICENSE.txt", + src=self.source_folder, + dst=os.path.join(self.package_folder, "licenses")) cmake = CMake(self) cmake.install() rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) - self._write_cmake_module() - # TODO: to remove in conan v2 once cmake_find_package* generators removed self._create_cmake_module_alias_targets( - os.path.join(self.package_folder, self._conan1_targets_module_file_rel_path), + os.path.join(self.package_folder, self._module_file_rel_path), { "OpenMP::OpenMP_C": "OpenMP::OpenMP", "OpenMP::OpenMP_CXX": "OpenMP::OpenMP", @@ -256,27 +168,29 @@ def _create_cmake_module_alias_targets(self, module_file, targets): """) save(self, module_file, content) + @property + def _module_file_rel_path(self): + return os.path.join("lib", "cmake", f"conan-official-{self.name}-targets.cmake") + def package_info(self): - # Match FindOpenMP.cmake module provided by CMake - self.cpp_info.set_property("cmake_find_mode", "both") self.cpp_info.set_property("cmake_file_name", "OpenMP") + self.cpp_info.set_property("cmake_target_name", "OpenMP::OpenMP") + self.cpp_info.set_property("cmake_target_aliases", ["OpenMP::OpenMP_C", "OpenMP::OpenMP_CXX"]) - omp = self.cpp_info.components["omp"] - omp.set_property("cmake_target_name", "OpenMP::OpenMP") - omp.set_property("cmake_target_aliases", ["OpenMP::OpenMP_C", "OpenMP::OpenMP_CXX"]) - omp.libs = ["omp"] - omp.system_libs = self._system_libs - omp.cflags = self._openmp_flags - omp.cxxflags = self._openmp_flags - - omp.builddirs.append(os.path.join(self.package_folder, "lib", "cmake", "openmp")) - self.cpp_info.set_property("cmake_build_modules", [self._module_file_rel_path]) + if self.settings.compiler in ("clang", "apple-clang"): + self.cpp_info.cxxflags = ["-Xpreprocessor", "-fopenmp"] + elif self.settings.compiler == "gcc": + self.cpp_info.cxxflags = ["-fopenmp"] + elif self.settings.compiler == "intel-cc": + self.cpp_info.cxxflags = ["/Qopenmp"] if self.settings.os == "Windows" else ["-Qopenmp"] + self.cpp_info.cflags = self.cpp_info.cxxflags + self.cpp_info.libs = ["omp"] + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.system_libs = ["dl", "m", "pthread", "rt"] # TODO: to remove in conan v2 once cmake_find_package* generators removed self.cpp_info.names["cmake_find_package"] = "OpenMP" self.cpp_info.names["cmake_find_package_multi"] = "OpenMP" - omp.names["cmake_find_package"] = "OpenMP" - omp.names["cmake_find_package_multi"] = "OpenMP" - omp.builddirs.append(os.path.join(self.package_folder, "lib", "cmake")) - omp.build_modules["cmake_find_package"] = [self._module_file_rel_path, self._conan1_targets_module_file_rel_path] - omp.build_modules["cmake_find_package_multi"] = [self._module_file_rel_path, self._conan1_targets_module_file_rel_path] + self.cpp_info.builddirs.append(os.path.join(self.package_folder, "lib", "cmake")) + self.cpp_info.build_modules["cmake_find_package"] = [self._module_file_rel_path] + self.cpp_info.build_modules["cmake_find_package_multi"] = [self._module_file_rel_path] diff --git a/recipes/llvm-openmp/all/patches/10/0001-disable-build-testing.patch b/recipes/llvm-openmp/all/patches/10/0001-disable-build-testing.patch new file mode 100644 index 0000000000000..65692e0ed9c15 --- /dev/null +++ b/recipes/llvm-openmp/all/patches/10/0001-disable-build-testing.patch @@ -0,0 +1,35 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -45,14 +39,6 @@ endif() + include(config-ix) + include(HandleOpenMPOptions) + +-# Set up testing infrastructure. +-include(OpenMPTesting) +- +-set(OPENMP_TEST_FLAGS "" CACHE STRING +- "Extra compiler flags to send to the test compiler.") +-set(OPENMP_TEST_OPENMP_FLAGS ${OPENMP_TEST_COMPILER_OPENMP_FLAGS} CACHE STRING +- "OpenMP compiler flag to use for testing OpenMP runtime libraries.") +- + + # Build host runtime library. + add_subdirectory(runtime) +@@ -79,17 +65,3 @@ if (OPENMP_ENABLE_LIBOMPTARGET) + add_subdirectory(libomptarget) + endif() + +-set(ENABLE_OMPT_TOOLS ON) +-# Currently tools are not tested well on Windows or MacOS X. +-if (APPLE OR WIN32) +- set(ENABLE_OMPT_TOOLS OFF) +-endif() +- +-option(OPENMP_ENABLE_OMPT_TOOLS "Enable building ompt based tools for OpenMP." +- ${ENABLE_OMPT_TOOLS}) +-if (OPENMP_ENABLE_OMPT_TOOLS) +- add_subdirectory(tools) +-endif() +- +-# Now that we have seen all testuites, create the check-openmp target. +-construct_check_openmp_target() diff --git a/recipes/llvm-openmp/all/patches/11/0001-disable-build-testing.patch b/recipes/llvm-openmp/all/patches/11/0001-disable-build-testing.patch new file mode 100644 index 0000000000000..dde4403117078 --- /dev/null +++ b/recipes/llvm-openmp/all/patches/11/0001-disable-build-testing.patch @@ -0,0 +1,37 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -45,15 +39,6 @@ endif() + include(config-ix) + include(HandleOpenMPOptions) + +-# Set up testing infrastructure. +-include(OpenMPTesting) +- +-set(OPENMP_TEST_FLAGS "" CACHE STRING +- "Extra compiler flags to send to the test compiler.") +-set(OPENMP_TEST_OPENMP_FLAGS ${OPENMP_TEST_COMPILER_OPENMP_FLAGS} CACHE STRING +- "OpenMP compiler flag to use for testing OpenMP runtime libraries.") +- +- + # Build host runtime library. + add_subdirectory(runtime) + +@@ -78,18 +63,3 @@ if (OPENMP_ENABLE_LIBOMPTARGET) + + add_subdirectory(libomptarget) + endif() +- +-set(ENABLE_OMPT_TOOLS ON) +-# Currently tools are not tested well on Windows or MacOS X. +-if (APPLE OR WIN32) +- set(ENABLE_OMPT_TOOLS OFF) +-endif() +- +-option(OPENMP_ENABLE_OMPT_TOOLS "Enable building ompt based tools for OpenMP." +- ${ENABLE_OMPT_TOOLS}) +-if (OPENMP_ENABLE_OMPT_TOOLS) +- add_subdirectory(tools) +-endif() +- +-# Now that we have seen all testsuites, create the check-openmp target. +-construct_check_openmp_target() diff --git a/recipes/llvm-openmp/all/patches/12/0001-disable-build-testing.patch b/recipes/llvm-openmp/all/patches/12/0001-disable-build-testing.patch new file mode 100644 index 0000000000000..f455aa8e37168 --- /dev/null +++ b/recipes/llvm-openmp/all/patches/12/0001-disable-build-testing.patch @@ -0,0 +1,40 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -47,14 +41,6 @@ endif() + include(config-ix) + include(HandleOpenMPOptions) + +-# Set up testing infrastructure. +-include(OpenMPTesting) +- +-set(OPENMP_TEST_FLAGS "" CACHE STRING +- "Extra compiler flags to send to the test compiler.") +-set(OPENMP_TEST_OPENMP_FLAGS ${OPENMP_TEST_COMPILER_OPENMP_FLAGS} CACHE STRING +- "OpenMP compiler flag to use for testing OpenMP runtime libraries.") +- + set(ENABLE_LIBOMPTARGET ON) + # Currently libomptarget cannot be compiled on Windows or MacOS X. + # Since the device plugins are only supported on Linux anyway, +@@ -97,22 +83,3 @@ if (OPENMP_ENABLE_LIBOMPTARGET) + + add_subdirectory(libomptarget) + endif() +- +-set(ENABLE_OMPT_TOOLS ON) +-# Currently tools are not tested well on Windows or MacOS X. +-if (APPLE OR WIN32) +- set(ENABLE_OMPT_TOOLS OFF) +-endif() +- +-option(OPENMP_ENABLE_OMPT_TOOLS "Enable building ompt based tools for OpenMP." +- ${ENABLE_OMPT_TOOLS}) +-if (OPENMP_ENABLE_OMPT_TOOLS) +- add_subdirectory(tools) +-endif() +- +- +-# Build documentation +-add_subdirectory(docs) +- +-# Now that we have seen all testsuites, create the check-openmp target. +-construct_check_openmp_target() diff --git a/recipes/llvm-openmp/all/patches/13/0001-disable-build-testing.patch b/recipes/llvm-openmp/all/patches/13/0001-disable-build-testing.patch new file mode 100644 index 0000000000000..d319a4099d212 --- /dev/null +++ b/recipes/llvm-openmp/all/patches/13/0001-disable-build-testing.patch @@ -0,0 +1,40 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -44,14 +39,6 @@ + # Check and set up common compiler flags. + include(config-ix) + include(HandleOpenMPOptions) +- +-# Set up testing infrastructure. +-include(OpenMPTesting) +- +-set(OPENMP_TEST_FLAGS "" CACHE STRING +- "Extra compiler flags to send to the test compiler.") +-set(OPENMP_TEST_OPENMP_FLAGS ${OPENMP_TEST_COMPILER_OPENMP_FLAGS} CACHE STRING +- "OpenMP compiler flag to use for testing OpenMP runtime libraries.") + + set(ENABLE_LIBOMPTARGET ON) + # Currently libomptarget cannot be compiled on Windows or MacOS X. +@@ -81,22 +68,3 @@ + + add_subdirectory(libomptarget) + endif() +- +-set(ENABLE_OMPT_TOOLS ON) +-# Currently tools are not tested well on Windows or MacOS X. +-if (APPLE OR WIN32) +- set(ENABLE_OMPT_TOOLS OFF) +-endif() +- +-option(OPENMP_ENABLE_OMPT_TOOLS "Enable building ompt based tools for OpenMP." +- ${ENABLE_OMPT_TOOLS}) +-if (OPENMP_ENABLE_OMPT_TOOLS) +- add_subdirectory(tools) +-endif() +- +- +-# Build documentation +-add_subdirectory(docs) +- +-# Now that we have seen all testsuites, create the check-openmp target. +-construct_check_openmp_target() diff --git a/recipes/llvm-openmp/all/patches/14/0001-disable-build-testing.patch b/recipes/llvm-openmp/all/patches/14/0001-disable-build-testing.patch new file mode 100644 index 0000000000000..464d6918a7551 --- /dev/null +++ b/recipes/llvm-openmp/all/patches/14/0001-disable-build-testing.patch @@ -0,0 +1,62 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -50,25 +45,12 @@ + include(config-ix) + include(HandleOpenMPOptions) + +-# Set up testing infrastructure. +-include(OpenMPTesting) +- +-set(OPENMP_TEST_FLAGS "" CACHE STRING +- "Extra compiler flags to send to the test compiler.") +-set(OPENMP_TEST_OPENMP_FLAGS ${OPENMP_TEST_COMPILER_OPENMP_FLAGS} CACHE STRING +- "OpenMP compiler flag to use for testing OpenMP runtime libraries.") +- + set(ENABLE_LIBOMPTARGET ON) + # Currently libomptarget cannot be compiled on Windows or MacOS X. + # Since the device plugins are only supported on Linux anyway, + # there is no point in trying to compile libomptarget on other OSes. + if (APPLE OR WIN32 OR NOT OPENMP_HAVE_STD_CPP14_FLAG) + set(ENABLE_LIBOMPTARGET OFF) +-endif() +- +-set(ENABLE_LIBOMPTARGET_PROFILING OFF) +-if (ENABLE_LIBOMPTARGET AND NOT LLVM_RUNTIMES_BUILD) +- set(ENABLE_LIBOMPTARGET_PROFILING ON) + endif() + + option(OPENMP_ENABLE_LIBOMPTARGET "Enable building libomptarget for offloading." +@@ -81,9 +63,6 @@ + # to enable time profiling support in the OpenMP runtime. + add_subdirectory(runtime) + +-# Build libompd.so +-add_subdirectory(libompd) +- + if (OPENMP_ENABLE_LIBOMPTARGET) + # Check that the library can actually be built. + if (APPLE OR WIN32) +@@ -94,23 +73,3 @@ + + add_subdirectory(libomptarget) + endif() +- +-set(ENABLE_OMPT_TOOLS ON) +-# Currently tools are not tested well on Windows or MacOS X. +-if (APPLE OR WIN32) +- set(ENABLE_OMPT_TOOLS OFF) +-endif() +- +-option(OPENMP_ENABLE_OMPT_TOOLS "Enable building ompt based tools for OpenMP." +- ${ENABLE_OMPT_TOOLS}) +-if (OPENMP_ENABLE_OMPT_TOOLS) +- add_subdirectory(tools) +-endif() +- +-option(OPENMP_MSVC_NAME_SCHEME "Build dll with MSVC naming scheme." OFF) +- +-# Build documentation +-add_subdirectory(docs) +- +-# Now that we have seen all testsuites, create the check-openmp target. +-construct_check_openmp_target() diff --git a/recipes/llvm-openmp/all/patches/15/0001-disable-build-testing.patch b/recipes/llvm-openmp/all/patches/15/0001-disable-build-testing.patch new file mode 100644 index 0000000000000..0a0b868b908cb --- /dev/null +++ b/recipes/llvm-openmp/all/patches/15/0001-disable-build-testing.patch @@ -0,0 +1,62 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -55,25 +51,12 @@ + include(config-ix) + include(HandleOpenMPOptions) + +-# Set up testing infrastructure. +-include(OpenMPTesting) +- +-set(OPENMP_TEST_FLAGS "" CACHE STRING +- "Extra compiler flags to send to the test compiler.") +-set(OPENMP_TEST_OPENMP_FLAGS ${OPENMP_TEST_COMPILER_OPENMP_FLAGS} CACHE STRING +- "OpenMP compiler flag to use for testing OpenMP runtime libraries.") +- + set(ENABLE_LIBOMPTARGET ON) + # Currently libomptarget cannot be compiled on Windows or MacOS X. + # Since the device plugins are only supported on Linux anyway, + # there is no point in trying to compile libomptarget on other OSes. + if (APPLE OR WIN32 OR NOT OPENMP_HAVE_STD_CPP14_FLAG) + set(ENABLE_LIBOMPTARGET OFF) +-endif() +- +-set(ENABLE_LIBOMPTARGET_PROFILING OFF) +-if (ENABLE_LIBOMPTARGET AND NOT LLVM_RUNTIMES_BUILD) +- set(ENABLE_LIBOMPTARGET_PROFILING ON) + endif() + + option(OPENMP_ENABLE_LIBOMPTARGET "Enable building libomptarget for offloading." +@@ -86,9 +69,6 @@ + # to enable time profiling support in the OpenMP runtime. + add_subdirectory(runtime) + +-# Build libompd.so +-add_subdirectory(libompd) +- + if (OPENMP_ENABLE_LIBOMPTARGET) + # Check that the library can actually be built. + if (APPLE OR WIN32) +@@ -99,23 +79,3 @@ + + add_subdirectory(libomptarget) + endif() +- +-set(ENABLE_OMPT_TOOLS ON) +-# Currently tools are not tested well on Windows or MacOS X. +-if (APPLE OR WIN32) +- set(ENABLE_OMPT_TOOLS OFF) +-endif() +- +-option(OPENMP_ENABLE_OMPT_TOOLS "Enable building ompt based tools for OpenMP." +- ${ENABLE_OMPT_TOOLS}) +-if (OPENMP_ENABLE_OMPT_TOOLS) +- add_subdirectory(tools) +-endif() +- +-option(OPENMP_MSVC_NAME_SCHEME "Build dll with MSVC naming scheme." OFF) +- +-# Build documentation +-add_subdirectory(docs) +- +-# Now that we have seen all testsuites, create the check-openmp target. +-construct_check_openmp_target() diff --git a/recipes/llvm-openmp/all/patches/16/0001-disable-build-testing.patch b/recipes/llvm-openmp/all/patches/16/0001-disable-build-testing.patch new file mode 100644 index 0000000000000..5c9f08ac35cca --- /dev/null +++ b/recipes/llvm-openmp/all/patches/16/0001-disable-build-testing.patch @@ -0,0 +1,44 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -61,14 +57,6 @@ + # Check and set up common compiler flags. + include(config-ix) + include(HandleOpenMPOptions) +- +-# Set up testing infrastructure. +-include(OpenMPTesting) +- +-set(OPENMP_TEST_FLAGS "" CACHE STRING +- "Extra compiler flags to send to the test compiler.") +-set(OPENMP_TEST_OPENMP_FLAGS ${OPENMP_TEST_COMPILER_OPENMP_FLAGS} CACHE STRING +- "OpenMP compiler flag to use for testing OpenMP runtime libraries.") + + set(ENABLE_LIBOMPTARGET ON) + # Currently libomptarget cannot be compiled on Windows or MacOS X. +@@ -107,26 +95,3 @@ + + add_subdirectory(libomptarget) + endif() +- +-set(ENABLE_OMPT_TOOLS ON) +-# Currently tools are not tested well on Windows or MacOS X. +-if (APPLE OR WIN32) +- set(ENABLE_OMPT_TOOLS OFF) +-endif() +- +-option(OPENMP_ENABLE_OMPT_TOOLS "Enable building ompt based tools for OpenMP." +- ${ENABLE_OMPT_TOOLS}) +-if (OPENMP_ENABLE_OMPT_TOOLS) +- add_subdirectory(tools) +-endif() +- +-option(OPENMP_MSVC_NAME_SCHEME "Build dll with MSVC naming scheme." OFF) +- +-# Build libompd.so +-add_subdirectory(libompd) +- +-# Build documentation +-add_subdirectory(docs) +- +-# Now that we have seen all testsuites, create the check-openmp target. +-construct_check_openmp_target() diff --git a/recipes/llvm-openmp/all/patches/17/0001-disable-build-testing.patch b/recipes/llvm-openmp/all/patches/17/0001-disable-build-testing.patch new file mode 100644 index 0000000000000..afda1c6a0da19 --- /dev/null +++ b/recipes/llvm-openmp/all/patches/17/0001-disable-build-testing.patch @@ -0,0 +1,44 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -64,14 +60,6 @@ + # Check and set up common compiler flags. + include(config-ix) + include(HandleOpenMPOptions) +- +-# Set up testing infrastructure. +-include(OpenMPTesting) +- +-set(OPENMP_TEST_FLAGS "" CACHE STRING +- "Extra compiler flags to send to the test compiler.") +-set(OPENMP_TEST_OPENMP_FLAGS ${OPENMP_TEST_COMPILER_OPENMP_FLAGS} CACHE STRING +- "OpenMP compiler flag to use for testing OpenMP runtime libraries.") + + set(ENABLE_LIBOMPTARGET ON) + # Currently libomptarget cannot be compiled on Windows or MacOS X. +@@ -110,26 +98,3 @@ + + add_subdirectory(libomptarget) + endif() +- +-set(ENABLE_OMPT_TOOLS ON) +-# Currently tools are not tested well on Windows or MacOS X. +-if (APPLE OR WIN32) +- set(ENABLE_OMPT_TOOLS OFF) +-endif() +- +-option(OPENMP_ENABLE_OMPT_TOOLS "Enable building ompt based tools for OpenMP." +- ${ENABLE_OMPT_TOOLS}) +-if (OPENMP_ENABLE_OMPT_TOOLS) +- add_subdirectory(tools) +-endif() +- +-option(OPENMP_MSVC_NAME_SCHEME "Build dll with MSVC naming scheme." OFF) +- +-# Build libompd.so +-add_subdirectory(libompd) +- +-# Build documentation +-add_subdirectory(docs) +- +-# Now that we have seen all testsuites, create the check-openmp target. +-construct_check_openmp_target() diff --git a/recipes/llvm-openmp/all/patches/8/0001-disable-build-testing.patch b/recipes/llvm-openmp/all/patches/8/0001-disable-build-testing.patch new file mode 100644 index 0000000000000..3215d61a23b9f --- /dev/null +++ b/recipes/llvm-openmp/all/patches/8/0001-disable-build-testing.patch @@ -0,0 +1,25 @@ +diff --git a/openmp/CMakeLists.txt b/openmp/CMakeLists.txt +index 597eedcec0b..4395761dac4 100644 +--- CMakeLists.txt ++++ CMakeLists.txt +@@ -45,14 +39,6 @@ endif() + include(config-ix) + include(HandleOpenMPOptions) + +-# Set up testing infrastructure. +-include(OpenMPTesting) +- +-set(OPENMP_TEST_FLAGS "" CACHE STRING +- "Extra compiler flags to send to the test compiler.") +-set(OPENMP_TEST_OPENMP_FLAGS ${OPENMP_TEST_COMPILER_OPENMP_FLAGS} CACHE STRING +- "OpenMP compiler flag to use for testing OpenMP runtime libraries.") +- + + # Build host runtime library. + add_subdirectory(runtime) +@@ -79,5 +65,3 @@ if (OPENMP_ENABLE_LIBOMPTARGET) + add_subdirectory(libomptarget) + endif() + +-# Now that we have seen all testuites, create the check-openmp target. +-construct_check_openmp_target() diff --git a/recipes/llvm-openmp/all/test_package/CMakeLists.txt b/recipes/llvm-openmp/all/test_package/CMakeLists.txt index 916b3718719c2..491aa7ec1f5d3 100644 --- a/recipes/llvm-openmp/all/test_package/CMakeLists.txt +++ b/recipes/llvm-openmp/all/test_package/CMakeLists.txt @@ -1,36 +1,8 @@ cmake_minimum_required(VERSION 3.15) project(PackageTest CXX C) -# FIXME: fails with Conan v1 generators -# find_package(OpenMP CONFIG COMPONENTS Fortran QUIET) -# if(OpenMP_FOUND) -# message(FATAL_ERROR "OpenMP should have failed to find Fortran.") -# endif() - -# FIXME: Conan seems to override the OpenMP_FOUND variable to TRUE in MODULE mode -# find_package(OpenMP MODULE COMPONENTS Fortran QUIET) -# if(OpenMP_FOUND) -# message(FATAL_ERROR "OpenMP should have failed to find Fortran.") -# endif() - find_package(OpenMP CONFIG REQUIRED) -message("OpenMP_FOUND: ${OpenMP_CXX_FOUND}") -message("OpenMP_VERSION: ${OpenMP_VERSION}") -message("OpenMP_C_FOUND: ${OpenMP_CXX_FOUND}") -message("OpenMP_CXX_FOUND: ${OpenMP_CXX_FOUND}") -message("OpenMP_CXX_VERSION: ${OpenMP_CXX_VERSION}") -message("OpenMP_CXX_SPEC_DATE: ${OpenMP_CXX_SPEC_DATE}") -message("OpenMP_CXX_INCLUDE_DIRS: ${OpenMP_CXX_INCLUDE_DIRS}") -message("OpenMP_CXX_LIB_NAMES: ${OpenMP_CXX_LIB_NAMES}") -message("OpenMP_CXX_LIBRARIES: ${OpenMP_CXX_LIBRARIES}") -message("OpenMP_CXX_FLAGS: ${OpenMP_CXX_FLAGS}") -message("OpenMP_omp_LIBRARY: ${OpenMP_omp_LIBRARY}") - -if(NOT DEFINED OpenMP_CXX_SPEC_DATE) - message(FATAL_ERROR "FindOpenMP.cmake did not set all variables correctly.") -endif() - add_executable(test_package_cxx test_package.cpp) target_link_libraries(test_package_cxx OpenMP::OpenMP_CXX) diff --git a/recipes/llvm-openmp/all/test_package/conanfile.py b/recipes/llvm-openmp/all/test_package/conanfile.py index 6dfdd10386483..b9c17185d658e 100644 --- a/recipes/llvm-openmp/all/test_package/conanfile.py +++ b/recipes/llvm-openmp/all/test_package/conanfile.py @@ -1,7 +1,6 @@ from conan import ConanFile from conan.tools.build import can_run from conan.tools.cmake import cmake_layout, CMake -from conan.tools.env import Environment import os @@ -16,16 +15,6 @@ def requirements(self): def layout(self): cmake_layout(self) - def generate(self): - env = Environment() - # Trigger printing of runtime version info on startup. - # Should state "LLVM OMP" as the runtime library ID if everything is configured correctly. - env.define("KMP_VERSION", "TRUE") - # Display general OpenMP parameters in a standardized format. - # https://www.openmp.org/spec-html/5.0/openmpse60.html - env.define("OMP_DISPLAY_ENV", "TRUE") - env.vars(self, scope="run").save_script("conan_openmp_version") - def build(self): cmake = CMake(self) cmake.configure() diff --git a/recipes/llvm-openmp/all/test_package/test_package.c b/recipes/llvm-openmp/all/test_package/test_package.c index 68ce5b735cb44..103d724f00fcd 100644 --- a/recipes/llvm-openmp/all/test_package/test_package.c +++ b/recipes/llvm-openmp/all/test_package/test_package.c @@ -21,6 +21,5 @@ int main() printf("There are probably missing compiler flags.\n"); return 1; } - printf("OpenMP API version supported by the compiler: %d\n", _OPENMP); return 0; } diff --git a/recipes/llvm-openmp/all/test_package/test_package.cpp b/recipes/llvm-openmp/all/test_package/test_package.cpp index f6af1cdfb670c..b602ec5a096c9 100644 --- a/recipes/llvm-openmp/all/test_package/test_package.cpp +++ b/recipes/llvm-openmp/all/test_package/test_package.cpp @@ -19,6 +19,5 @@ int main() std::cout << "There are probably missing compiler flags.\n"; return 1; } - std::cout << "OpenMP API version supported by the compiler: " << _OPENMP << "\n"; return 0; } diff --git a/recipes/llvm-openmp/all/test_v1_package/conanfile.py b/recipes/llvm-openmp/all/test_v1_package/conanfile.py index 489209c17fc0b..b6e98e149af12 100644 --- a/recipes/llvm-openmp/all/test_v1_package/conanfile.py +++ b/recipes/llvm-openmp/all/test_v1_package/conanfile.py @@ -13,7 +13,6 @@ def build(self): def test(self): if not tools.cross_building(self): - os.environ["KMP_VERSION"] = "TRUE" for executable in ["test_package_cxx", "test_package_c"]: bin_path = os.path.join("bin", executable) self.run(bin_path, run_environment=True) diff --git a/recipes/llvm-openmp/config.yml b/recipes/llvm-openmp/config.yml index 684578eae1830..2f6f02e2e7d3f 100644 --- a/recipes/llvm-openmp/config.yml +++ b/recipes/llvm-openmp/config.yml @@ -1,6 +1,4 @@ versions: - "18.1.8": - folder: all "17.0.6": folder: all "17.0.4": @@ -17,3 +15,9 @@ versions: folder: all "11.1.0": folder: all + "10.0.0": + folder: all + "9.0.1": + folder: all + "8.0.1": + folder: all From 832ff6dd9098928c6dd5d222bd780b1240dfed2e Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 9 Jul 2024 18:16:02 +0900 Subject: [PATCH 084/641] (#24534) c-ares: add version 1.32.1, remove older versions * c-ares: add version 1.32.0, remove older versions * update 1.32.1 --- recipes/c-ares/all/conandata.yml | 23 +++++------------------ recipes/c-ares/config.yml | 14 ++------------ 2 files changed, 7 insertions(+), 30 deletions(-) diff --git a/recipes/c-ares/all/conandata.yml b/recipes/c-ares/all/conandata.yml index 22fdd92f351ad..4085cf579ede7 100644 --- a/recipes/c-ares/all/conandata.yml +++ b/recipes/c-ares/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "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" "1.31.0": url: "https://github.com/c-ares/c-ares/releases/download/v1.31.0/c-ares-1.31.0.tar.gz" sha256: "0167a33dba96ca8de29f3f598b1e6cabe531799269fd63d0153aa0e6f5efeabd" @@ -14,27 +17,11 @@ sources: "1.26.0": url: "https://github.com/c-ares/c-ares/releases/download/cares-1_26_0/c-ares-1.26.0.tar.gz" sha256: "bed58c4f02b009080ebda6c2467ba469722ac6aebbf4497dc44a83d8c6194e50" + # keep 1.25.0 for libnghttp2, trantor, libcoro "1.25.0": url: "https://github.com/c-ares/c-ares/releases/download/cares-1_25_0/c-ares-1.25.0.tar.gz" sha256: "71832b93a48f5ff579c505f4869120c14e57b783275367207f1a98314aa724e5" - "1.22.1": - url: "https://github.com/c-ares/c-ares/releases/download/cares-1_22_1/c-ares-1.22.1.tar.gz" - sha256: "f67c180deb799c670d9dda995a18ce06f6c7320b6c6363ff8fa85b77d0da9db8" - "1.22.0": - url: "https://github.com/c-ares/c-ares/releases/download/cares-1_22_0/c-ares-1.22.0.tar.gz" - sha256: "ad2e205088083317147c9f9eab5f24b82c3d50927c381a7c963deeb1182dbc21" - "1.21.0": - url: "https://github.com/c-ares/c-ares/releases/download/cares-1_21_0/c-ares-1.21.0.tar.gz" - sha256: "cd7aa3af1d3ee780d6437039a7ddb7f1ec029f9c4f7aabb0197e384eb5bc2f2d" - "1.20.1": - url: "https://github.com/c-ares/c-ares/releases/download/cares-1_20_1/c-ares-1.20.1.tar.gz" - sha256: "de24a314844cb157909730828560628704f4f896d167dd7da0fa2fb93ea18b10" + # keep 1.19.1 for grpc "1.19.1": url: "https://github.com/c-ares/c-ares/releases/download/cares-1_19_1/c-ares-1.19.1.tar.gz" sha256: "321700399b72ed0e037d0074c629e7741f6b2ec2dda92956abe3e9671d3e268e" - "1.19.0": - url: "https://github.com/c-ares/c-ares/releases/download/cares-1_19_0/c-ares-1.19.0.tar.gz" - sha256: "bfceba37e23fd531293829002cac0401ef49a6dc55923f7f92236585b7ad1dd3" - "1.18.1": - url: "https://github.com/c-ares/c-ares/releases/download/cares-1_18_1/c-ares-1.18.1.tar.gz" - sha256: "1a7d52a8a84a9fbffb1be9133c0f6e17217d91ea5a6fa61f6b4729cda78ebbcf" diff --git a/recipes/c-ares/config.yml b/recipes/c-ares/config.yml index 41f2a05256ac8..32d339359feea 100644 --- a/recipes/c-ares/config.yml +++ b/recipes/c-ares/config.yml @@ -1,4 +1,6 @@ versions: + "1.32.1": + folder: all "1.31.0": folder: all "1.30.0": @@ -11,17 +13,5 @@ versions: folder: all "1.25.0": folder: all - "1.22.1": - folder: all - "1.22.0": - folder: all - "1.21.0": - folder: all - "1.20.1": - folder: all "1.19.1": folder: all - "1.19.0": - folder: all - "1.18.1": - folder: all From 498ac1ba83e3ca25864542b8cbecb783aae72dab Mon Sep 17 00:00:00 2001 From: Uilian Ries Date: Tue, 9 Jul 2024 12:42:24 +0200 Subject: [PATCH 085/641] (#24551) [ffmpeg] Link missing xcb components Signed-off-by: Uilian Ries --- recipes/ffmpeg/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/ffmpeg/all/conanfile.py b/recipes/ffmpeg/all/conanfile.py index 6cd1f6feec751..0d94387010d3c 100644 --- a/recipes/ffmpeg/all/conanfile.py +++ b/recipes/ffmpeg/all/conanfile.py @@ -823,7 +823,7 @@ def _add_component(name, dependencies): if self.options.get_safe("with_libalsa"): avdevice.requires.append("libalsa::libalsa") if self.options.get_safe("with_xcb"): - avdevice.requires.append("xorg::xcb") + avdevice.requires.extend(["xorg::xcb", "xorg::xcb-shm", "xorg::xcb-xfixes", "xorg::xcb-shape", "xorg::xv", "xorg::xext"]) if self.options.get_safe("with_pulse"): avdevice.requires.append("pulseaudio::pulseaudio") if self.options.get_safe("with_appkit"): From c0c1576bf20e9cb61265c8332fcf981c72459426 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 10 Jul 2024 01:32:11 +0900 Subject: [PATCH 086/641] (#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 431db14e7df51..a7d688f285681 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 e16cb400c4480..efc7447d06943 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 087/641] (#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 1587140b431f7..4568b8acd6407 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 60b120e4f9dc5..0e6a519c86124 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 a682e35c6d452..2dd41938c3d09 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 088/641] (#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 564b19b00cd64..8cf1e63318981 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 089/641] (#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 de3c880433421..7866aab966417 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 090/641] (#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 123647cd81c5f..94a9a85900a6d 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 31e2badfe4c2f..bb6c09f07b3de 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 091/641] (#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 b122737101341..97b4bcc886c5c 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 092/641] (#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 856586629c80e..bd4149d822688 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 b8cc90950df51..b53dac867c374 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 093/641] (#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 094/641] (#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 0000000000000..2fd6dd33feee7 --- /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 0000000000000..2efbdaef9686f --- /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 0000000000000..640984ec9c7f0 --- /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 0000000000000..e28de31d33b1c --- /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 0000000000000..bb32b01f0db92 --- /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 0000000000000..1f484bca5aa17 --- /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 095/641] (#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 8308d9f0765f6..e2b77352008d8 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 2fb2f4162d6a3..60f8f892f1bc0 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 096/641] (#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 57f4fedf15a32..ff346a78a0f7d 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 7d388efa3e5ae..ef65493e12e2f 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 097/641] (#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 0000000000000..46e5bc05a5d70 --- /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 0000000000000..62ba6f53644b1 --- /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 0000000000000..48f2abf1a5de9 --- /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 0000000000000..8347b50cbb47d --- /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 0000000000000..2dfe88d001d05 --- /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 0000000000000..bfd5501b81141 --- /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 0000000000000..23cc6b485edbc --- /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 0000000000000..5fdbe6d99f6dc --- /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 0000000000000..00034be2a0119 --- /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 0000000000000..dc736edb41043 --- /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 098/641] (#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 2606f171ddcec..752c04acf11c3 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 099/641] (#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 0000000000000..17fe5ab522e62 --- /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 0000000000000..adf05fa3505c4 --- /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 0000000000000..29d5d52c61281 --- /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 0000000000000..0a6bc68712d90 --- /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 0000000000000..03387869c0a9d --- /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 0000000000000..95efce85442dd --- /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 100/641] (#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 8740b23580975..0000000000000 --- 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 0000000000000..3421127d0076f --- /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 7c4f531b134a3..5daf69357f98b 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 432bfb37aeca5..d1ed51bb5b937 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 3f3a1aa9d1821..767943c116cee 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 5059612e70e16..f305f9b713d22 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 0000000000000..91630d79f4abb --- /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 0000000000000..e7dbf9e47271c --- /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 543f01b80f536..e4181f963c4e1 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 101/641] (#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 826e4f114106f..dde2abd593222 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 6ccdcc81fb42a..2ab322c38bc8d 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 0000000000000..ba054b959ca4f --- /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 0000000000000..3096261030b0d --- /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 102/641] (#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 dde2abd593222..9723a1277a5c1 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 0000000000000..a97c9a79ae133 --- /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 0df94096d0615..0000000000000 --- 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 f0bd1289c0ca6..178cce999a640 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 103/641] (#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 4bd29282ff03a..1968085d2b1e5 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 26adbfc52a4f8..448de784dc4da 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 104/641] (#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 f8c452bd8a5e4..be4e7f8263cbc 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 9202e5ce9c4a9..d5bc79ec13e97 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 105/641] (#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 b164bc68a1b90..bda0c9f5ba9f9 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 e70c9cb544fb1..167c9652d196e 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 aeed151aa95e0..0000000000000 --- 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 573bce3b91e25..ed37614dda7ca 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 106/641] (#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 0b340ef68332f..8c70c0dff65c4 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 7878d4c106a55..b500f2488a199 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 107/641] (#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 2bf854f46723a..8d3de77ad0a97 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 20e353f6ee522..e38d73d503e6f 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 108/641] (#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 7ad19553c3a85..4b8d5fc088e08 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 109/641] (#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 73b69372cf8f4..d53c3de3dfbc3 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 c64435c5746f7..02e1f24f77f3f 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 0000000000000..e65c9a909930e --- /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 50d07b3052d3e..e4ae3c108dbd4 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 0a6bc68712d90..f5c4345946223 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 0000000000000..193917ddd512b --- /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 c399abcf8d219..98eb0ea449f54 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 38f4483872d47..b7e21a6312c34 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 a09a8d0001ec6..471b2c25702d4 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 110/641] (#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 394a54354a73d..f92af6ff75c03 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 3312e7972a7a4..87ce8800e9d4e 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 be7607c4d1266..cce887c4b4859 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 111/641] (#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 ea032fb6c5ddd..63fd8a8038b15 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 112/641] (#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 7b4ddfdc76fc6..ee19f74eeca81 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 10b57ed42fdf7..9ea0680d5bf45 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 9370babb6565a..8d4de7c167625 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 113/641] (#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 681dd5c613eec..94c9cd557b1f0 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 3db82178c2eeb..0c9046c699ed9 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 0312deadc10a9..19a22b67425e0 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 5381386ee75ee..0000000000000 --- 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 96f25a4bd1d23..9876f21755330 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 114/641] (#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 3284b09ee8d98..35b1b14775dc9 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 f75c692a8d93d..eeaf0710c5e7a 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 e102478003a7f..f518e618fe0e7 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 115/641] (#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 42f0c9762b0b9..ba54e961b9268 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 9f9994bf80db1..d87e034bb9160 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 116/641] (#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 0000000000000..f19fe2ba05117 --- /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 0000000000000..8e73409204f38 --- /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 0000000000000..2935185362d0c --- /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 0000000000000..081c97abefb38 --- /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 0000000000000..bdfe611442b89 --- /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 0000000000000..6a0b843662fca --- /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 117/641] (#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 20665bebe59ae..05927569c3b21 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 118/641] (#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 4514bc0f40509..18806738cffac 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 e5d0241981b9f..fd5b09b5d2d5d 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 bc4d571521f81..9a97cca323477 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 119/641] (#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 fff916ce447bb..b5f547e360340 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 7d45a41ba65a6..0000000000000 --- 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 747b79bc8b544..0000000000000 --- 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 c3baaee7f7c7d..4aae3708205a1 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 120/641] (#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 a47bfa540ad57..90b6177bbef9d 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 fca46b7f10736..362f2e5a309dd 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 0000000000000..f99604741682a --- /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 511bd030e9af6..2c38fc9d0cd69 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 121/641] (#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 002c89f370676..1e5afccbe9b49 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 0000000000000..360b25feaf147 --- /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 e353de8ba013d..488b018eaeca3 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 122/641] (#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 c6aadd8b682fe..711fe3eaa7335 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 05a0c0e049e56..711c61c005037 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 123/641] (#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 bca15363d987d..15095b9589cff 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 124/641] (#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 63606cbea47b1..ec5b451e74c04 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 125/641] (#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 dafaaf15309ac..1d4c62bc9edab 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 126/641] (#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 a6d5fb2e5d5f7..e3b8080de35a7 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 127/641] (#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 4a85145efdbc0..bf4e54a525f42 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 0dc9dad8aa3db..7634ab35b992b 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 dee7836ac518b..0000000000000 --- 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 0000000000000..d1a6b8f79dfef --- /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 0000000000000..7d30621d33694 --- /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 0000000000000..36c0b8d389474 --- /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 0000000000000..5a77cc2e613f6 --- /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 15a54da82cf76..9bdf7d4baad66 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 cb18d0a94bddb..3e5ae9905391e 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 be878ce25fffc..0000000000000 --- 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 e7078c1b51419..0000000000000 --- 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 18a37cf90692e..53d020094793e 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 f16bc97992e86..0000000000000 --- 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 5fbf37e412127..0000000000000 --- 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 0e75e172635d2..eac63c2367c27 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 128/641] (#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 677f51dce82b0..313852081c905 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 129/641] (#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 7634ab35b992b..e8ae71aeb20b8 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 130/641] (#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 2b0003b1adc84..d36546a97d0f6 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 131/641] (#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 347edb5af1787..94f6829c40eea 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 5e502dd6fac1c..5557e99d09d21 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 132/641] (#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 0000000000000..61314f6985693 --- /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 0000000000000..62478d1b6985f --- /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 0000000000000..32484e5b71ec5 --- /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 0000000000000..02eb5ce439fb4 --- /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 0000000000000..875f7bb1c1123 --- /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 0000000000000..6895ae8f05494 --- /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 133/641] (#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 b22247dc8573d..7b9115d9da952 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 fa66f2eb7d4d7..e0f7e6d533d7f 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 134/641] (#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 4085cf579ede7..4707b2bebca1a 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 32d339359feea..fa9c8c280d1f5 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 135/641] (#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 252e1a38c700d..3d6ead71c8ec8 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 24ddb8ef2b935..3c2e35ec8e993 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 136/641] (#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 3472b4e6e2200..311b92ac7d1b5 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 082f448005d3f..8ed902567cf53 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 97827ec9a391e..0d0ff4ded0853 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 137/641] (#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 2e5c98f10fb1b..5ec660a369fa8 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 34d172078c697..22c106719d701 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 138/641] (#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 0000000000000..8a1ee68e8c4ed --- /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 139/641] (#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 450b3b65da338..28d9619ab0124 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 ae138de6957a2..5a16edd20d5af 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 140/641] (#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 de70002df8416..d32d6dc01cb9f 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 a056814ff0165..df60f29fb3584 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 7f42fe99a398a..45ba8e874f0e1 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 141/641] (#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 5ad399f8fa0f9..974392dab738f 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 ad2031f5acf6b..e76982e6ef25b 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 0000000000000..9b99e3972d230 --- /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 0000000000000..b180a57e2d452 --- /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 a9fb96656f203..08478d9835129 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 e45e8eaf9a346..89da0e2089324 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 142/641] (#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 e231222d58659..aa96940081481 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 9ee5f53ad1cbe..6d012719cd8e2 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 143/641] (#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 a35ee1375a199..ae2caf93865a3 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 dbe55c83d4f49..308dbf8194407 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 144/641] (#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 49d66d9be1d5a..ffa121dbd1c68 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 56924b287ebfd..2f4f7b8b725d0 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 93f5bd7f9ab8a..0000000000000 --- 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 5693ab70111d5..0000000000000 --- 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 4275c0782ed46..56b6a86f5e653 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 bd6c5fcac524c..a0d8cc252fedd 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 145/641] (#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 ec0a90e4ddd03..eedbacc3e1c75 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 146/641] (#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 a946b4b5f2ecd..ac9cc25487e7a 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 147/641] (#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 354d3819dc46d..232115da3d96e 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 148/641] (#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 11b37a50dbe81..9477b5d2f991b 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 a01e300c4e30c..0f76703e92e08 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 149/641] (#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 cddf4c7d973c9..c1ea2906cfbd4 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 762b68a2142aa..a9ad50f6f92b6 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 150/641] (#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 719dc54ae5a72..db1ee3caae6a8 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 11300088df46e..cae941dd0cc89 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 fef29e0dad433..7a2d6d99b91e4 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 151/641] (#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 cec95d7e33d7e..72803e3d4aa14 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 85bb474d8c75b..89e8119810b9e 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 38ee5a2a97729..083004c9db197 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 152/641] (#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 3094ffc04d061..5e77688b77f2b 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 b4d76faa5ed41..772d3a2cb6618 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 0a6bc68712d90..1a364276dd853 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 6b277544863db..9a75f507a8f98 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 0d20897301b68..0000000000000 --- 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 38f4483872d47..0000000000000 --- 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 3122441aef13c..c8dc8eaef31be 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 153/641] (#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 4f1d604b9b789..3ed398c5a2d7b 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 09616d2e081cf..63c4029aead7b 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 154/641] (#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 e93b6ba1b6012..d50cf8d87d51a 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 610b8f5b3b81f..b499d3b7e32dc 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 155/641] (#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 a78c2d2c2da43..31aa321346999 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 f20cc54f7acb5..b6a780899bca5 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 2928e57dc1b28..0af5118e3b73a 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 156/641] (#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 8927c006e472b..471710d33e7c9 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 89bbd2a608d1e..9eb411b3e5186 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 4283c517286f9..ae16141456580 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 157/641] (#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 7ae1dc4743d98..b14780dd20c90 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 f500b1f6947df..bc5ebc68cd927 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 66e68aaaf6fad..c7b2d5892fa8b 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 158/641] (#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 2ab322c38bc8d..d1e395a15a858 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 159/641] (#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 9311e262a5a90..ed28eb0b6337f 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 f9abafa35f177..605a6adf2d073 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 1e0d22057397b..a2441c8c55d86 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 160/641] (#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 ba2243425c538..5d3ef4f707e9a 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 b8ee3e687f441..db787f96cb936 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 161/641] (#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 c1ea2906cfbd4..7959b73239b48 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 a9ad50f6f92b6..1f33473eb51a7 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 162/641] (#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 d38eb7af87816..7e3584bc700c7 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 26cd13020e94c..3b3066260406f 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 163/641] (#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 fd921713e43f5..504fe8367f255 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 df618397bce1c..ce69026f02b64 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 9421431ffbd78..78d5c217becaf 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 164/641] (#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 d6a075271dc7f..54dc0ba094e18 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 d02e5977a476a..b62e83e2e1cd2 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 165/641] (#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 322f4f504eca0..c2d8a566521d4 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 c6da95529c7e5..56576fba93cde 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 166/641] (#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 99b31fa742027..69f80f0f2eee0 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 167/641] (#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 d1a6b8f79dfef..693b7c8e2a330 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 7d30621d33694..3bf059795e135 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 36c0b8d389474..a97cd9a17b217 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 5a77cc2e613f6..43591e8d36116 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 168/641] (#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 60bff7fddfd16..3d0fe776ff4b8 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 169/641] (#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 8467da32623a7..547a052a46a96 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 5eef7e23a9317..c138b7fd62011 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 170/641] (#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 4b8d5fc088e08..7a667791d5e12 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 0a820a622ea67..e0f4cd3b99c95 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 171/641] (#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 f3c3a88f7edef..e5d11350e20d2 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 4b83ac8cb2f11..84543460d120f 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 172/641] (#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 96a4c747a1a95..cab7ae30015bb 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 ebfcf9dec9aca..c1b3ae45e3f99 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 7674f2d958229..dcf5ab8c72631 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 173/641] (#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 0d94387010d3c..6e07ad722a2f4 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 174/641] (#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 72803e3d4aa14..449f9025ed1c6 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 89e8119810b9e..ab2848babbb5d 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 4811c5114c3c2..fc973c8b2b019 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 a9fb96656f203..9fd1075c52a6b 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 083004c9db197..fa97242180e6b 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 175/641] (#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 fc3f8472653fd..27dd4979a6d6f 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 00e8eb7116e69..ea0b3ac51007a 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 5de5fbc440858..0000000000000 --- 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 b2fe91a0e8bf9..0000000000000 --- 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 2333a27871ed9..0000000000000 --- 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 f96920e268df8..7af8322c88129 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 176/641] (#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 ed96865802cc0..065e1f2da34d4 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 177/641] (#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 ffa121dbd1c68..2419b336ab78d 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 0000000000000..9c7748fc3e0f1 --- /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 178/641] (#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 1968085d2b1e5..8d7b19a192cd6 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 448de784dc4da..62dcfcddca37d 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 179/641] (#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 69f80f0f2eee0..b11a59b3d17b6 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 3d0fe776ff4b8..9c046142124ca 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 180/641] (#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 18c5b099c2c71..db15e75e26a4f 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 7d2ceec33ba43..4fc3f3659a659 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 71746ecdc81bd..c6c0e669617aa 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 181/641] (#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 d1e395a15a858..491dcc7587018 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 182/641] (#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 e3bb4f4c9035b..3e08beff90722 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 a696da22a6a0a..6bf090b4a0669 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 5fc71b60926cd..9b11652fad543 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 a45f9d7d13297..1450559554d50 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 183/641] (#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 b11a59b3d17b6..cd5ddffbd5999 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 9c046142124ca..1e24a9986d989 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 184/641] (#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 ebed177675bb0..c90421153fff4 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 185/641] (#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 f8c576a4749fe..9d51335bc5f52 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 47bfe18256ddd..90669ce351aaf 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 42431fc83ed1e..43ca2b954f0dc 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 186/641] (#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 475c92e1a56fd..1fad76276ca33 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 7c777ca96ad4c..c1669e45a6c47 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 6df647ee3d6a7..ea0f41f79734d 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 187/641] (#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 f02aae783d14c..02f7c64ddfad5 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 e624f9f76f9b5..82b06f8697908 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 ba756f64d8e76..0000000000000 --- 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 7d7d56d1f60b6..0000000000000 --- 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 500c20a889d8c..0000000000000 --- 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 b3782f6654ad3..0000000000000 --- 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 0000000000000..d154a1133b327 --- /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 f87e0b5ca8eb9..957285057e22b 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 75526b1d02b79..0c7c612cdc73e 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 a41a7cbb0ffc2..e52184bafc974 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 188/641] (#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 caee6f61d4f89..6ca1f29254c5b 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 ac581e3e79204..be43bdb8956f4 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 0000000000000..38089ef589d9a --- /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 05f05dd40b2ba..0000000000000 --- 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 a9fbb7f543162..7433710099642 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 0000000000000..af5cd82ec83dc --- /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 528e8031367ec..50be3a04fdea9 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 de3b75d9538de..0000000000000 --- 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 20d4d2e28d57e..0000000000000 --- 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 2d50305e8506d..f6f5b5679b9d4 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 189/641] (#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 22671b2e2dbe7..3d9d1c4c370e7 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 556004392d827..d2314dfa54789 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 4948dbd895802..12fa634205705 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 190/641] (#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 5ecb23c111e1a..65c8b63bf0804 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 0000000000000..2bbd6313a54a7 --- /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 0000000000000..33106dff23d74 --- /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 460a704f2241d..518666119a0f9 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 191/641] (#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 ac81047f5f6b3..86dbccc43bd11 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 6ba04d6746f11..a610df26ea139 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 2c9b67b0ff120..111b726b75323 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 192/641] (#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 f4a45a5fbdb30..fcc0c8b59fca8 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 49fe058e91455..f9c0bcaec2901 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 0000000000000..205b84f1dcbf0 --- /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 0a86bfa38351a..7cb403e14cb9a 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 193/641] (#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 1fa4f5c98ec9a..fad17557e62be 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 a9cb3640b85e1..947465a4a0c1c 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 0168ee0addf88..07c28129c1bb5 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 194/641] (#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 6582079e3edd8..2302eb69e2d87 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 195/641] (#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 0000000000000..11c4aae27deb2 --- /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 0000000000000..9a88f82447a58 --- /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 0000000000000..f3619ef8d61cf --- /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 0000000000000..ef5d7042163ec --- /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 0000000000000..7bcbdb54c0b0f --- /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 0000000000000..2d7b667f12200 --- /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 196/641] (#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 243efd0d24b9d..554c60438f66f 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 e9824e01dcd11..51015201a5c54 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 197/641] (#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 171741d9a625a..7bda923d38021 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 2511e879a6bf4..4d70a7b853851 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 7831e6ed51225..864345cea83ba 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 198/641] (#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 4707b2bebca1a..67e69235450f7 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 fa9c8c280d1f5..fd77325df168c 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 199/641] (#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 4ce3fd15b7dba..0567d38d76228 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 5391a6c157e8a..3b312ef9f419c 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 c1b9e6f304394..c8909e199de65 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 200/641] (#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 ad6e1f0b56004..47b30faf7d121 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 d7616b7f25016..d8ff67e582f8b 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 201/641] (#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 fa57f13e90da7..b6a96e96b90f5 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 0c42204d47369..fe91f9493569b 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 202/641] (#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 3237b40de8ad1..6d978bb17a1e1 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 203/641] (#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 0000000000000..9fbac6aa78698 --- /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 0000000000000..73c08a93a80d6 --- /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 0000000000000..a090c65f0323b --- /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 0000000000000..d7de1f914ce42 --- /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 0000000000000..95ccf7f207da6 --- /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 0000000000000..36b74a86356a1 --- /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 204/641] (#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 05927569c3b21..0dedc986c45ca 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 205/641] (#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 cd5ddffbd5999..0d4dd6e0622f8 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 1e24a9986d989..15b0c62488f23 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 206/641] (#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 3980215f4b1d7..03fae8567c8cd 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 207/641] (#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 890473cb50a68..b506775776cce 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 75a077fc6305a..b502330e87c37 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 4915edd8e2890..e2719579f8a54 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 208/641] (#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 f10a35809ada3..603a09fa7a854 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 209/641] (#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 0d11db68fc293..6c9a4ef2b991c 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 d5866335fec6a..a56d8c5c4fe51 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 d12764c12f1eb..89a6d714d6406 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 210/641] (#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 01898ea7a626a..ef96ec4edd10e 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 c95085d906413..a4f69271c3eb5 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 0000000000000..0484b48da6ca2 --- /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 97294286ce46b..6f563b16b51e2 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 211/641] (#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 603a09fa7a854..4135ca7f24965 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 212/641] (#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 7a667791d5e12..50a877da3fb5c 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 e0f4cd3b99c95..7976423523961 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 213/641] (#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 6d978bb17a1e1..7e39d21f295c8 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 214/641] (#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 0d4dd6e0622f8..dfe46275f3a61 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 215/641] (#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 dd1f6736ca7be..6f473b8334656 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 38b22762f5273..98f41919c3397 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 216/641] (#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 0b0de62c879d3..849efb9333447 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 073c5e204a51e..1821ed75da1ec 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 217/641] (#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 4f2cc09884562..0b83e5b3ee609 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 e2bfcefef6878..9de343b664f1f 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 c2aa05a42982f..9a8d3df5bb88c 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": From deff6e2ddb01e6424510f75c49df4d7af8ad739b Mon Sep 17 00:00:00 2001 From: Uno Wu Date: Wed, 31 Jul 2024 18:09:28 +0800 Subject: [PATCH 218/641] (#22421) aws-c-io: add v0.14.1 * aws-c-io: add v0.14.1 * Fix dependency conflict * Moved dependency version control to conandata * Refactor yaml * Fixing linter * Fixing linter --------- Co-authored-by: PerseoGI --- recipes/aws-c-io/all/conandata.yml | 24 ++++++++++++++++++++++++ recipes/aws-c-io/all/conanfile.py | 16 ++++++---------- recipes/aws-c-io/config.yml | 2 ++ 3 files changed, 32 insertions(+), 10 deletions(-) diff --git a/recipes/aws-c-io/all/conandata.yml b/recipes/aws-c-io/all/conandata.yml index 1e15f1d87d7c3..a70c427e6a279 100644 --- a/recipes/aws-c-io/all/conandata.yml +++ b/recipes/aws-c-io/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.14.1": + url: "https://github.com/awslabs/aws-c-io/archive/v0.14.1.tar.gz" + sha256: "d0512b36ac2ad50536172865c0fa7528725c3a9f9031879279b82f9f0924b453" "0.13.35": url: "https://github.com/awslabs/aws-c-io/archive/v0.13.35.tar.gz" sha256: "a9232dbbb3324de36a280859a4ea84dd2b75e47961805f1cffe0f3a7e1831711" @@ -17,3 +20,24 @@ sources: "0.10.13": url: "https://github.com/awslabs/aws-c-io/archive/v0.10.13.tar.gz" sha256: "ee34a93190e35a5c372ba73661dd69c48986e051a4b26dedb62bc5aa78f1660f" + +version_mappings: + # the versions of aws-c-common and aws-c-io are tied since aws-c-common/0.6.12 and aws-c-io/0.10.10 + # Please refer https://github.com/conan-io/conan-center-index/issues/7763 + "0.10.13": &v0_10_13 + aws-c-common: "0.8.2" + aws-c-cal: "0.5.13" + s2n: "1.3.55" + "0.10.20": *v0_10_13 + "0.11.2": *v0_10_13 + "0.13.4": *v0_10_13 + "0.13.32": &v0_13_32 + aws-c-common: "0.9.6" + aws-c-cal: "0.6.1" + s2n: "1.3.55" + "0.13.35": *v0_13_32 + "0.14.1": + aws-c-common: "0.9.12" + aws-c-cal: "0.6.9" + s2n: "1.4.1" + diff --git a/recipes/aws-c-io/all/conanfile.py b/recipes/aws-c-io/all/conanfile.py index 36c3965b9abd8..284cde25af16a 100644 --- a/recipes/aws-c-io/all/conanfile.py +++ b/recipes/aws-c-io/all/conanfile.py @@ -1,7 +1,6 @@ from conan import ConanFile from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout from conan.tools.files import get, copy, rmdir, save -from conan.tools.scm import Version import os import textwrap @@ -40,17 +39,14 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - # the versions of aws-c-common and aws-c-io are tied since aws-c-common/0.6.12 and aws-c-io/0.10.10 - # Please refer https://github.com/conan-io/conan-center-index/issues/7763 - if Version(self.version) <= "0.13.4": - self.requires("aws-c-common/0.8.2", transitive_headers=True, transitive_libs=True) - self.requires("aws-c-cal/0.5.13") - else: - self.requires("aws-c-common/0.9.6", transitive_headers=True, transitive_libs=True) - self.requires("aws-c-cal/0.6.9", transitive_headers=True, transitive_libs=True) + def _mapping_requires(dep, **kwargs): + required_version = self.conan_data["version_mappings"][self.version][dep] + self.requires(f"{dep}/{required_version}", **kwargs) + _mapping_requires("aws-c-common", transitive_headers=True, transitive_libs=True) + _mapping_requires("aws-c-cal", transitive_headers=True, transitive_libs=True) if self.settings.os in ["Linux", "FreeBSD", "Android"]: - self.requires("s2n/1.3.55") + _mapping_requires("s2n") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) diff --git a/recipes/aws-c-io/config.yml b/recipes/aws-c-io/config.yml index 8a602cc8c0e60..069070f53b1fc 100644 --- a/recipes/aws-c-io/config.yml +++ b/recipes/aws-c-io/config.yml @@ -1,4 +1,6 @@ versions: + "0.14.1": + folder: all "0.13.35": folder: all "0.13.32": From 88d20e4a702e505f68a74fe4ca650ac11dcd0d84 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 31 Jul 2024 19:50:46 +0900 Subject: [PATCH 219/641] (#22998) aws-c-auth: add version 0.7.21 * aws-c-auth: add version 0.7.16 * update 0.7.17 * update 0.7.20 * update 0.7.21 --- recipes/aws-c-auth/all/conandata.yml | 3 +++ recipes/aws-c-auth/all/conanfile.py | 2 +- recipes/aws-c-auth/config.yml | 2 ++ 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/recipes/aws-c-auth/all/conandata.yml b/recipes/aws-c-auth/all/conandata.yml index 027010126b13f..ed85abf4d870c 100644 --- a/recipes/aws-c-auth/all/conandata.yml +++ b/recipes/aws-c-auth/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.7.21": + url: "https://github.com/awslabs/aws-c-auth/archive/v0.7.21.tar.gz" + sha256: "802054ff0a82c9fc977671f7d2be1c55229a97d808e0d53784a749be32ceb5ec" "0.7.8": url: "https://github.com/awslabs/aws-c-auth/archive/v0.7.8.tar.gz" sha256: "5db8ab91262b5c055e3634f2c9dc2bc1a3285c2dd5513fdcafcb3e79468dc7de" diff --git a/recipes/aws-c-auth/all/conanfile.py b/recipes/aws-c-auth/all/conanfile.py index edc82083e9c0b..23636f36d1ad3 100644 --- a/recipes/aws-c-auth/all/conanfile.py +++ b/recipes/aws-c-auth/all/conanfile.py @@ -62,7 +62,7 @@ def requirements(self): self.requires("aws-c-common/0.9.6", transitive_headers=True, transitive_libs=True) self.requires("aws-c-cal/0.6.9") self.requires("aws-c-io/0.13.35", transitive_headers=True, transitive_libs=True) - self.requires("aws-c-http/0.7.14", transitive_headers=True) + self.requires("aws-c-http/0.8.1", transitive_headers=True) self.requires("aws-c-sdkutils/0.1.12", transitive_headers=True) def source(self): diff --git a/recipes/aws-c-auth/config.yml b/recipes/aws-c-auth/config.yml index 8edcc1ff10f28..dfdab8e268054 100644 --- a/recipes/aws-c-auth/config.yml +++ b/recipes/aws-c-auth/config.yml @@ -1,4 +1,6 @@ versions: + "0.7.21": + folder: all "0.7.8": folder: all "0.7.7": From 26d5b44c5247e586626e14ac7a0e56e710c2ec16 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 31 Jul 2024 20:36:24 +0900 Subject: [PATCH 220/641] (#24704) libcurl: add version 8.9.1 * libcurl: add version 8.9.0 * add build_requires in test_package * revert * update 8.9.1 --- recipes/libcurl/all/conandata.yml | 5 +++++ recipes/libcurl/config.yml | 2 ++ 2 files changed, 7 insertions(+) diff --git a/recipes/libcurl/all/conandata.yml b/recipes/libcurl/all/conandata.yml index 612b8f0180798..b90b6d33233cb 100644 --- a/recipes/libcurl/all/conandata.yml +++ b/recipes/libcurl/all/conandata.yml @@ -1,4 +1,9 @@ sources: + "8.9.1": + url: + - "https://curl.se/download/curl-8.9.1.tar.xz" + - "https://github.com/curl/curl/releases/download/curl-8_9_1/curl-8.9.1.tar.xz" + sha256: "f292f6cc051d5bbabf725ef85d432dfeacc8711dd717ea97612ae590643801e5" "8.8.0": url: - "https://curl.se/download/curl-8.8.0.tar.xz" diff --git a/recipes/libcurl/config.yml b/recipes/libcurl/config.yml index 74fce7bdf4ef1..30551059764ab 100644 --- a/recipes/libcurl/config.yml +++ b/recipes/libcurl/config.yml @@ -1,4 +1,6 @@ versions: + "8.9.1": + folder: all "8.8.0": folder: all "8.6.0": From dc4cecba0f339afcf3df08d2bce6d5c57de17faf Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 31 Jul 2024 21:13:13 +0900 Subject: [PATCH 221/641] (#24752) libbacktrace: add version cci.20240730 * libbacktrace: add version cci.20240719 * fix compilation error on MSVC * add patch_source * update cci.20240730 --- recipes/libbacktrace/all/conandata.yml | 14 +++++++++ recipes/libbacktrace/all/conanfile.py | 4 +-- ...cci.20240719-0001-pointer-arithmetic.patch | 31 +++++++++++++++++++ recipes/libbacktrace/config.yml | 2 ++ 4 files changed, 49 insertions(+), 2 deletions(-) create mode 100644 recipes/libbacktrace/all/patches/cci.20240719-0001-pointer-arithmetic.patch diff --git a/recipes/libbacktrace/all/conandata.yml b/recipes/libbacktrace/all/conandata.yml index 56d79ce7402eb..7aec17549ec3c 100644 --- a/recipes/libbacktrace/all/conandata.yml +++ b/recipes/libbacktrace/all/conandata.yml @@ -1,8 +1,22 @@ sources: + "cci.20240730": + url: "https://github.com/ianlancetaylor/libbacktrace/archive/0dd27b95f9f2c11b4a89db5f185a888af912838e.tar.gz" + sha256: "dfbc52012846c57759eaaa5131c329c43f77695c808b3e1847ec2dacce238c35" "cci.20210118": url: "https://github.com/ianlancetaylor/libbacktrace/archive/dedbe13fda00253fe5d4f2fb812c909729ed5937.tar.gz" sha256: "dc8c167f48f3de5ae318c528b26b72f300edb6e33744e55394674fd4b7cdd21d" patches: + "cci.20240730": + - patch_file: "patches/cci.20240719-0001-pointer-arithmetic.patch" + patch_description: "casting pointer types for pointer arithmetics" + patch_type: "portability" + - patch_file: "patches/0002-msvc-unistd-alternative.patch" + patch_description: "support msvc for codes using unistd.h" + patch_type: "portability" "cci.20210118": - patch_file: "patches/0001-pointer-arithmetic.patch" + patch_description: "casting pointer types for pointer arithmetics" + patch_type: "portability" - patch_file: "patches/0002-msvc-unistd-alternative.patch" + patch_description: "support msvc for codes using unistd.h" + patch_type: "portability" diff --git a/recipes/libbacktrace/all/conanfile.py b/recipes/libbacktrace/all/conanfile.py index 2fa71b8e36228..fd0cc977d3ab2 100644 --- a/recipes/libbacktrace/all/conanfile.py +++ b/recipes/libbacktrace/all/conanfile.py @@ -14,9 +14,9 @@ class LibbacktraceConan(ConanFile): name = "libbacktrace" description = "A C library that may be linked into a C/C++ program to produce symbolic backtraces." + license = "BSD-3-Clause" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/ianlancetaylor/libbacktrace" - license = "BSD-3-Clause" topics = ("backtrace", "stack-trace") package_type = "library" settings = "os", "arch", "compiler", "build_type" @@ -52,7 +52,7 @@ def layout(self): def validate(self): check_min_vs(self, "180") if is_msvc(self) and self.options.shared: - raise ConanInvalidConfiguration("libbacktrace shared is not supported with Visual Studio") + raise ConanInvalidConfiguration(f"{self.ref} shared is not supported with Visual Studio") def build_requirements(self): if self._settings_build.os == "Windows": diff --git a/recipes/libbacktrace/all/patches/cci.20240719-0001-pointer-arithmetic.patch b/recipes/libbacktrace/all/patches/cci.20240719-0001-pointer-arithmetic.patch new file mode 100644 index 0000000000000..dbf4fb3485b67 --- /dev/null +++ b/recipes/libbacktrace/all/patches/cci.20240719-0001-pointer-arithmetic.patch @@ -0,0 +1,31 @@ +diff --git a/pecoff.c b/pecoff.c +index 636e1b1..975e417 100644 +--- a/pecoff.c ++++ b/pecoff.c +@@ -704,7 +704,7 @@ coff_add (struct backtrace_state *state, int descriptor, + magic_ok = memcmp (magic, "PE\0", 4) == 0; + fhdr_off += 4; + +- memcpy (&fhdr, fhdr_view.data + 4, sizeof fhdr); ++ memcpy (&fhdr, (char*)fhdr_view.data + 4, sizeof fhdr); + } + else + { +@@ -738,7 +738,7 @@ coff_add (struct backtrace_state *state, int descriptor, + sects_view_valid = 1; + opt_hdr = (const b_coff_optional_header *) sects_view.data; + sects = (const b_coff_section_header *) +- (sects_view.data + fhdr.size_of_optional_header); ++ ((b_coff_optional_header *)sects_view.data + fhdr.size_of_optional_header); + + is_64 = 0; + memset (&image_base, 0, sizeof image_base); +@@ -781,7 +781,7 @@ coff_add (struct backtrace_state *state, int descriptor, + goto fail; + syms_view_valid = 1; + +- str_size = coff_read4 (syms_view.data + syms_size); ++ str_size = coff_read4 ((const unsigned char *)((char *)syms_view.data + syms_size)); + + str_off = syms_off + syms_size; + diff --git a/recipes/libbacktrace/config.yml b/recipes/libbacktrace/config.yml index bc0e7ddecd921..952bd0433d7d5 100644 --- a/recipes/libbacktrace/config.yml +++ b/recipes/libbacktrace/config.yml @@ -1,3 +1,5 @@ versions: + "cci.20240730": + folder: all "cci.20210118": folder: all From e8cc85413c4e65b6e9cc9847c463b8b900d39b54 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 31 Jul 2024 21:54:45 +0900 Subject: [PATCH 222/641] (#24767) roaring: add version 4.1.1 --- recipes/roaring/all/conandata.yml | 3 +++ recipes/roaring/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/roaring/all/conandata.yml b/recipes/roaring/all/conandata.yml index 610e2569247a2..4b22213f390c1 100644 --- a/recipes/roaring/all/conandata.yml +++ b/recipes/roaring/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "4.1.1": + url: "https://github.com/RoaringBitmap/CRoaring/archive/refs/tags/v4.1.1.tar.gz" + sha256: "42804cc2bb5c9279ec4fcaa56d2d6b389da934634abcce8dbc4e4c1d60e1468d" "4.1.0": url: "https://github.com/RoaringBitmap/CRoaring/archive/refs/tags/v4.1.0.tar.gz" sha256: "0596c6e22bcccb56f38260142b435f1f72aef7721fa370fd9f2b88380245fc1d" diff --git a/recipes/roaring/config.yml b/recipes/roaring/config.yml index 4c7b26e41f0a9..36112c3ea8ab6 100644 --- a/recipes/roaring/config.yml +++ b/recipes/roaring/config.yml @@ -1,4 +1,6 @@ versions: + "4.1.1": + folder: all "4.1.0": folder: all "4.0.0": From d797828da37ec5fcebbaa2231446fd33f7768946 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 31 Jul 2024 22:33:11 +0900 Subject: [PATCH 223/641] (#24771) bitsery: add version 5.2.4 --- recipes/bitsery/all/conandata.yml | 3 +++ recipes/bitsery/all/conanfile.py | 4 ++-- recipes/bitsery/config.yml | 2 ++ 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/recipes/bitsery/all/conandata.yml b/recipes/bitsery/all/conandata.yml index 5af8798ccd4e5..fd5e93d076949 100644 --- a/recipes/bitsery/all/conandata.yml +++ b/recipes/bitsery/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "5.2.4": + url: "https://github.com/fraillt/bitsery/archive/v5.2.4.tar.gz" + sha256: "ff741a3fee5420b31af31c7a8cefbcc3aaaf6f7f8c3ac49aa020f99b21d96020" "5.2.3": url: "https://github.com/fraillt/bitsery/archive/v5.2.3.tar.gz" sha256: "896d82ab4ccea9899ff2098aa69ad6d25e524ee1d4c747ce3232d0afe3cd05a5" diff --git a/recipes/bitsery/all/conanfile.py b/recipes/bitsery/all/conanfile.py index 2e0ffa53b2c89..26bcf9c123505 100644 --- a/recipes/bitsery/all/conanfile.py +++ b/recipes/bitsery/all/conanfile.py @@ -13,10 +13,10 @@ class BitseryConan(ConanFile): "Header only C++ binary serialization library. It is designed around " "the networking requirements for real-time data delivery, especially for games." ) - topics = ("serialization", "binary", "header-only") + license = "MIT" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/fraillt/bitsery" - license = "MIT" + topics = ("serialization", "binary", "header-only") package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True diff --git a/recipes/bitsery/config.yml b/recipes/bitsery/config.yml index 383bfb1cfff8d..ef54c243e956f 100644 --- a/recipes/bitsery/config.yml +++ b/recipes/bitsery/config.yml @@ -1,4 +1,6 @@ versions: + "5.2.4": + folder: all "5.2.3": folder: all "5.2.2": From a6164a464bb43901a6de4ff0a767166993b39379 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Wed, 31 Jul 2024 08:25:38 -0700 Subject: [PATCH 224/641] (#20336) boost: remove `b2-default` value of `layout` option logic of this value in configure() can't work in conan v2, it raises a ConanException. If folks want default layout for Windows, they can set layout to versioned instead of this removed b2-layout. --- recipes/boost/all/conanfile.py | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/recipes/boost/all/conanfile.py b/recipes/boost/all/conanfile.py index 7e39d21f295c8..56d8d710c299b 100644 --- a/recipes/boost/all/conanfile.py +++ b/recipes/boost/all/conanfile.py @@ -82,7 +82,7 @@ class BoostConan(ConanFile): "filesystem_no_deprecated": [True, False], "filesystem_use_std_fs": [True, False], "filesystem_version": [None, "3", "4"], - "layout": ["system", "versioned", "tagged", "b2-default"], + "layout": ["system", "versioned", "tagged"], "magic_autolink": [True, False], # enables BOOST_ALL_NO_LIB "diagnostic_definitions": [True, False], # enables BOOST_LIB_DIAGNOSTIC "python_executable": [None, "ANY"], # system default python installation is used, if None @@ -625,9 +625,6 @@ def configure(self): if self.options.get_safe("without_stacktrace", True): self.options.rm_safe("with_stacktrace_backtrace") - if self.options.layout == "b2-default": - self.options.layout = "versioned" if self.settings.os == "Windows" else "system" - if self.options.without_fiber: self.options.rm_safe("numa") From ff4d8bc53cb398306a30f981d8045a767f31317c Mon Sep 17 00:00:00 2001 From: Uilian Ries Date: Wed, 31 Jul 2024 19:23:21 +0100 Subject: [PATCH 225/641] (#24776) [ffmpeg] Follow-up to mediacodec support * Add mediacodec support * Disable option values to follow upstream Signed-off-by: Uilian Ries --------- Signed-off-by: Uilian Ries Co-authored-by: Connor S. MacDonald --- recipes/ffmpeg/all/conanfile.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/recipes/ffmpeg/all/conanfile.py b/recipes/ffmpeg/all/conanfile.py index 6e07ad722a2f4..d44409678d1b4 100644 --- a/recipes/ffmpeg/all/conanfile.py +++ b/recipes/ffmpeg/all/conanfile.py @@ -74,6 +74,8 @@ class FFMpegConan(ConanFile): "with_libsvtav1": [True, False], "with_libaom": [True, False], "with_libdav1d": [True, False], + "with_jni": [True, False], + "with_mediacodec": [True, False], "disable_everything": [True, False], "disable_all_encoders": [True, False], "disable_encoders": [None, "ANY"], @@ -154,6 +156,8 @@ class FFMpegConan(ConanFile): "with_libsvtav1": True, "with_libaom": True, "with_libdav1d": True, + "with_jni": False, + "with_mediacodec": False, "disable_everything": False, "disable_all_encoders": False, "disable_encoders": None, @@ -227,6 +231,7 @@ def _dependencies(self): "with_libsvtav1": ["avcodec"], "with_libaom": ["avcodec"], "with_libdav1d": ["avcodec"], + "with_mediacodec": ["with_jni"], } @property @@ -254,6 +259,9 @@ def config_options(self): del self.options.with_videotoolbox if not is_apple_os(self): del self.options.with_avfoundation + if not self.settings.os == "Android": + del self.options.with_jni + del self.options.with_mediacodec if not self._version_supports_libsvtav1: self.options.rm_safe("with_libsvtav1") @@ -499,6 +507,8 @@ def opt_append_disable_if_set(args, what, v): 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")), + opt_enable_disable("jni", self.options.get_safe("with_jni")), + opt_enable_disable("mediacodec", self.options.get_safe("with_mediacodec")), "--disable-cuda", # FIXME: CUDA support "--disable-cuvid", # FIXME: CUVID support # Licenses From 52bfdedd6a02231ae99501b25cd88ea2b84c1551 Mon Sep 17 00:00:00 2001 From: Uilian Ries Date: Wed, 31 Jul 2024 23:03:14 +0100 Subject: [PATCH 226/641] (#24762) [ffmpeg] Do not use self.dependencis in build * Move self.deps to generate Signed-off-by: Uilian Ries * Save openssl libs in file Signed-off-by: Uilian Ries --------- Signed-off-by: Uilian Ries --- recipes/ffmpeg/all/conanfile.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/recipes/ffmpeg/all/conanfile.py b/recipes/ffmpeg/all/conanfile.py index d44409678d1b4..f1ef30eb1d0c5 100644 --- a/recipes/ffmpeg/all/conanfile.py +++ b/recipes/ffmpeg/all/conanfile.py @@ -5,7 +5,7 @@ from conan.tools.env import Environment, VirtualBuildEnv, VirtualRunEnv from conan.tools.files import ( apply_conandata_patches, chdir, copy, export_conandata_patches, get, rename, - replace_in_file, rm, rmdir + replace_in_file, rm, rmdir, save, load ) from conan.tools.gnu import Autotools, AutotoolsDeps, AutotoolsToolchain, PkgConfigDeps from conan.tools.layout import basic_layout @@ -399,11 +399,10 @@ def _patch_sources(self): "#define X264_API_IMPORTS 1", "") if self.options.with_ssl == "openssl": # https://trac.ffmpeg.org/ticket/5675 - openssl_libraries = " ".join( - [f"-l{lib}" for lib in self.dependencies["openssl"].cpp_info.aggregated_components().libs]) + openssl_libs = load(self, os.path.join(self.build_folder, "openssl_libs.list")) replace_in_file(self, os.path.join(self.source_folder, "configure"), "check_lib openssl openssl/ssl.h SSL_library_init -lssl -lcrypto -lws2_32 -lgdi32 ||", - f"check_lib openssl openssl/ssl.h OPENSSL_init_ssl {openssl_libraries} || ") + f"check_lib openssl openssl/ssl.h OPENSSL_init_ssl {openssl_libs} || ") replace_in_file(self, os.path.join(self.source_folder, "configure"), "echo libx264.lib", "echo x264.lib") @@ -679,6 +678,10 @@ def opt_append_disable_if_set(args, what, v): deps = PkgConfigDeps(self) deps.generate() + if self.options.with_ssl == "openssl": + openssl_libs = " ".join([f"-l{lib}" for lib in self.dependencies["openssl"].cpp_info.aggregated_components().libs]) + save(self, os.path.join(self.build_folder, "openssl_libs.list"), openssl_libs) + def _split_and_format_options_string(self, flag_name, options_list): if not options_list: return [] From a20d8e1106cbc2ad6c89b2a58c353922e3ea4411 Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 1 Aug 2024 16:32:50 +0900 Subject: [PATCH 227/641] (#24785) libxlsxwriter: add version 1.1.8 * libxlsxwriter: add version 1.1.8 * remove destination in self.get() --- recipes/libxlsxwriter/all/conandata.yml | 7 +++++++ recipes/libxlsxwriter/all/conanfile.py | 5 ++--- recipes/libxlsxwriter/config.yml | 2 ++ 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/recipes/libxlsxwriter/all/conandata.yml b/recipes/libxlsxwriter/all/conandata.yml index 2cd855a6df663..da8b13009453a 100644 --- a/recipes/libxlsxwriter/all/conandata.yml +++ b/recipes/libxlsxwriter/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.1.8": + url: "https://github.com/jmcnamara/libxlsxwriter/archive/v1.1.8.tar.gz" + sha256: "122c98353e5b69284a1cd782be7ae67bdefde2146f8197ef89a1aaf886058e86" "1.1.7": url: "https://github.com/jmcnamara/libxlsxwriter/archive/RELEASE_1.1.7.tar.gz" sha256: "1f378e25d8bb5be258d3e04d3d24b8c23ff21bf206e6e206661844a96ca25eda" @@ -15,6 +18,10 @@ sources: url: "https://github.com/jmcnamara/libxlsxwriter/archive/RELEASE_1.0.0.tar.gz" sha256: "8b353379333c323d14a9d265cd2491d3a6c0032c8d6ec2141f10b82ab66a087c" patches: + "1.1.8": + - patch_file: "patches/1.1.7-0001-fix-cmake.patch" + patch_description: "Fix CMake: robust dependencies discovery & avoid some hardcoded flags" + patch_type: "conan" "1.1.7": - patch_file: "patches/1.1.7-0001-fix-cmake.patch" patch_description: "Fix CMake: robust dependencies discovery & avoid some hardcoded flags" diff --git a/recipes/libxlsxwriter/all/conanfile.py b/recipes/libxlsxwriter/all/conanfile.py index 1c65ddbb9e247..0435ae0e28bb1 100644 --- a/recipes/libxlsxwriter/all/conanfile.py +++ b/recipes/libxlsxwriter/all/conanfile.py @@ -11,11 +11,11 @@ class LibxlsxwriterConan(ConanFile): name = "libxlsxwriter" + description = "A C library for creating Excel XLSX files" license = "BSD-2-Clause" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/jmcnamara/libxlsxwriter" topics = ("excel", "xlsx") - description = "A C library for creating Excel XLSX files" package_type = "library" settings = "os", "arch", "compiler", "build_type" @@ -65,8 +65,7 @@ def validate(self): raise ConanInvalidConfiguration(f"{self.name}:md5=openssl is not suppported in {self.ref}") 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) diff --git a/recipes/libxlsxwriter/config.yml b/recipes/libxlsxwriter/config.yml index 5eb935f412b85..d944ed1b5f8d7 100644 --- a/recipes/libxlsxwriter/config.yml +++ b/recipes/libxlsxwriter/config.yml @@ -1,4 +1,6 @@ versions: + "1.1.8": + folder: "all" "1.1.7": folder: "all" "1.1.5": From 6120f16398dd6dae2c1744e787c8f3d32d838e7d Mon Sep 17 00:00:00 2001 From: Kevin Albertson Date: Thu, 1 Aug 2024 04:13:09 -0400 Subject: [PATCH 228/641] (#24783) mongo-c-driver: add version 1.27.4 --- recipes/mongo-c-driver/all/conandata.yml | 3 +++ recipes/mongo-c-driver/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/mongo-c-driver/all/conandata.yml b/recipes/mongo-c-driver/all/conandata.yml index 2f74d581142e4..9d462dd06666e 100644 --- a/recipes/mongo-c-driver/all/conandata.yml +++ b/recipes/mongo-c-driver/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.27.4": + url: "https://github.com/mongodb/mongo-c-driver/archive/refs/tags/1.27.4.tar.gz" + sha256: "37898440ebfd6fedfdb9cbbff7b0c5813f7e157b584a881538f124d086f880df" "1.27.3": url: "https://github.com/mongodb/mongo-c-driver/archive/refs/tags/1.27.3.tar.gz" sha256: "2593048270f8426c3dc60f0a3c22c3da92ae00a3ef284da7e662a1348ca1685c" diff --git a/recipes/mongo-c-driver/config.yml b/recipes/mongo-c-driver/config.yml index e4d32528df309..e082954093227 100644 --- a/recipes/mongo-c-driver/config.yml +++ b/recipes/mongo-c-driver/config.yml @@ -1,4 +1,6 @@ versions: + "1.27.4": + folder: all "1.27.3": folder: all "1.27.2": From 5b997c00ddf01f217b1364eecf8df37efe33158a Mon Sep 17 00:00:00 2001 From: Hans-Joachim Krauch Date: Thu, 1 Aug 2024 10:31:43 +0200 Subject: [PATCH 229/641] (#24761) foxglove-websocket: Add version 1.3.0 * foxglove-websocket: Add version 1.3.0 * udpate hash --- recipes/foxglove-websocket/all/conandata.yml | 3 +++ recipes/foxglove-websocket/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/foxglove-websocket/all/conandata.yml b/recipes/foxglove-websocket/all/conandata.yml index 697b11f6c928c..82e61d0221936 100644 --- a/recipes/foxglove-websocket/all/conandata.yml +++ b/recipes/foxglove-websocket/all/conandata.yml @@ -1,4 +1,7 @@ sources: + 1.3.0: + url: https://github.com/foxglove/ws-protocol/archive/refs/tags/releases/cpp/v1.3.0.tar.gz + sha256: 5c1d4cda60a89bf635ef0150e8cd2f4da569f92beb8ac8555795ed7fd47f2a21 1.2.0: url: https://github.com/foxglove/ws-protocol/archive/refs/tags/releases/cpp/v1.2.0.tar.gz sha256: 0471d3932500ed6acd87a99cd76e048366c82f2527c1631afcee4f8ab71c4ab7 diff --git a/recipes/foxglove-websocket/config.yml b/recipes/foxglove-websocket/config.yml index 6f923ecb4a132..6431a1556fee0 100644 --- a/recipes/foxglove-websocket/config.yml +++ b/recipes/foxglove-websocket/config.yml @@ -1,4 +1,6 @@ versions: + 1.3.0: + folder: all 1.2.0: folder: all 1.1.0: From 8882a5b0bf5c097d7c770a7b79ac38d2e40430ae Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Thu, 1 Aug 2024 11:45:30 +0300 Subject: [PATCH 230/641] (#21665) geos: add v3.12.1, simplify patching * geos: add v3.12.1, simplify patching * geos: don't use strict=False for patching * geos: bump to v3.12.2 --- recipes/geos/all/conandata.yml | 9 ++---- recipes/geos/all/conanfile.py | 18 ++++++----- .../all/patches/3.12.0-0001-fix-cmake.patch | 31 ------------------- recipes/geos/config.yml | 2 ++ 4 files changed, 16 insertions(+), 44 deletions(-) delete mode 100644 recipes/geos/all/patches/3.12.0-0001-fix-cmake.patch diff --git a/recipes/geos/all/conandata.yml b/recipes/geos/all/conandata.yml index cce81a5d0af84..32c3f79cfd503 100644 --- a/recipes/geos/all/conandata.yml +++ b/recipes/geos/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.12.2": + url: "https://github.com/libgeos/geos/releases/download/3.12.2/geos-3.12.2.tar.bz2" + sha256: "34c7770bf0090ee88488af98767d08e779f124fa33437e0aabec8abd4609fec6" "3.12.0": url: "https://github.com/libgeos/geos/releases/download/3.12.0/geos-3.12.0.tar.bz2" sha256: "d96db96011259178a35555a0f6d6e75a739e52a495a6b2aa5efb3d75390fbc39" @@ -17,9 +20,3 @@ sources: "3.10.2": url: "https://download.osgeo.org/geos/geos-3.10.2.tar.bz2" sha256: "50bbc599ac386b4c2b3962dcc411f0040a61f204aaef4eba7225ecdd0cf45715" -patches: - "3.12.0": - - patch_file: "patches/3.12.0-0001-fix-cmake.patch" - patch_description: "Fix CMake on Windows with Visual Studio" - patch_type: "official" - patch_source: "https://github.com/libgeos/geos/pull/945" diff --git a/recipes/geos/all/conanfile.py b/recipes/geos/all/conanfile.py index 5bfc63783c7e5..ebf8ae42c76d7 100644 --- a/recipes/geos/all/conanfile.py +++ b/recipes/geos/all/conanfile.py @@ -2,7 +2,7 @@ from conan.errors import ConanInvalidConfiguration from conan.tools.build import check_min_cppstd, stdcpp_library from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout -from conan.tools.files import copy, get, rmdir, export_conandata_patches, apply_conandata_patches +from conan.tools.files import copy, get, rmdir, replace_in_file from conan.tools.scm import Version import os @@ -11,10 +11,10 @@ class GeosConan(ConanFile): name = "geos" - description = "C++11 library for performing operations on two-dimensional vector geometries" + description = "GEOS is a C++ library for performing operations on two-dimensional vector geometries." license = "LGPL-2.1" topics = ("osgeo", "geometry", "topology", "geospatial") - homepage = "https://trac.osgeo.org/geos" + homepage = "https://libgeos.org/" url = "https://github.com/conan-io/conan-center-index" package_type = "library" settings = "os", "arch", "compiler", "build_type" @@ -51,9 +51,6 @@ def _compilers_minimum_version(self): def _has_inline_option(self): return Version(self.version) < "3.11.0" - def export_sources(self): - export_conandata_patches(self) - def config_options(self): if self.settings.os == "Windows": del self.options.fPIC @@ -96,8 +93,15 @@ def generate(self): tc.variables["BUILD_GEOSOP"] = self.options.utils tc.generate() + def _patch_sources(self): + # Avoid setting CMAKE_BUILD_TYPE default when multi-config generators are used. + # https://github.com/libgeos/geos/pull/945 + if Version(self.version) <= "3.12.1": + replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), + "set(CMAKE_BUILD_TYPE ${DEFAULT_BUILD_TYPE})", "") + def build(self): - apply_conandata_patches(self) + self._patch_sources() cmake = CMake(self) cmake.configure() cmake.build() diff --git a/recipes/geos/all/patches/3.12.0-0001-fix-cmake.patch b/recipes/geos/all/patches/3.12.0-0001-fix-cmake.patch deleted file mode 100644 index d0abdd50a8211..0000000000000 --- a/recipes/geos/all/patches/3.12.0-0001-fix-cmake.patch +++ /dev/null @@ -1,31 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 7a2906c..cdab138 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -114,8 +114,12 @@ endif() - - # Make sure we know our build type - if(NOT CMAKE_BUILD_TYPE) -- set(CMAKE_BUILD_TYPE ${DEFAULT_BUILD_TYPE}) -- message(STATUS "GEOS: Using default build type: ${CMAKE_BUILD_TYPE}") -+ get_property(_is_multi_config_generator GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) -+ if (NOT _is_multi_config_generator) -+ set(CMAKE_BUILD_TYPE ${DEFAULT_BUILD_TYPE}) -+ message(STATUS "GEOS: Using default build type: ${CMAKE_BUILD_TYPE}") -+ endif() -+ unset(_is_multi_config_generator) - else() - message(STATUS "GEOS: Build type: ${CMAKE_BUILD_TYPE}") - endif() -@@ -186,6 +190,11 @@ set(CMAKE_CXX_FLAGS_ASAN "${CMAKE_CXX_FLAGS_DEBUG} -fsanitize=address -fno-omit- - set(CMAKE_EXE_LINKER_FLAGS_ASAN "${CMAKE_EXE_LINKER_FLAGS_DEBUG} -fsanitize=address") - set(CMAKE_SHARED_LINKER_FLAGS_ASAN "${CMAKE_SHARED_LINKER_FLAGS_DEBUG} -fsanitize=address") - -+get_property(_cmake_build_type_is_cache CACHE CMAKE_BUILD_TYPE PROPERTY TYPE) -+if (_cmake_build_type_is_cache) -+ set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS "Debug" "Release" "MinSizeRel" "RelWithDebInfo" "ASAN") -+endif() -+unset(_cmake_build_type_is_cache) - set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS "Debug" "Release" "MinSizeRel" "RelWithDebInfo" "ASAN") - - #----------------------------------------------------------------------------- diff --git a/recipes/geos/config.yml b/recipes/geos/config.yml index bbc8ab7daf85c..8d3308284cb94 100644 --- a/recipes/geos/config.yml +++ b/recipes/geos/config.yml @@ -1,4 +1,6 @@ versions: + "3.12.2": + folder: all "3.12.0": folder: all "3.11.2": From 78cf76da959322176306e4362d1ab7e40a474cb0 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Thu, 1 Aug 2024 12:27:20 +0300 Subject: [PATCH 231/641] (#21910) mariadb-connector-c: add v3.3.8 * mariadb-connector-c: add v3.3.8 * mariadb-connector-c: fix "warnings as errors" handling * mariadb-connector-c: restore the fix-install-and-static-or-shared patch --- recipes/mariadb-connector-c/all/conandata.yml | 19 +-- recipes/mariadb-connector-c/all/conanfile.py | 11 +- .../patches/3.1.19-0002-remove-wx-flag.patch | 13 -- ...001-fix-install-and-static-or-shared.patch | 9 -- .../3.3.3-0002-find-package-zstd.patch | 13 -- ...001-fix-install-and-static-or-shared.patch | 117 ++++++++++++++++++ recipes/mariadb-connector-c/config.yml | 2 + 7 files changed, 139 insertions(+), 45 deletions(-) delete mode 100644 recipes/mariadb-connector-c/all/patches/3.1.19-0002-remove-wx-flag.patch delete mode 100644 recipes/mariadb-connector-c/all/patches/3.3.3-0002-find-package-zstd.patch create mode 100644 recipes/mariadb-connector-c/all/patches/3.3.8-0001-fix-install-and-static-or-shared.patch diff --git a/recipes/mariadb-connector-c/all/conandata.yml b/recipes/mariadb-connector-c/all/conandata.yml index df3894df1372a..599405bd8a89f 100644 --- a/recipes/mariadb-connector-c/all/conandata.yml +++ b/recipes/mariadb-connector-c/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.3.8": + url: "https://downloads.mariadb.com/Connectors/c/connector-c-3.3.8/mariadb-connector-c-3.3.8-src.tar.gz" + sha256: "f9f076b4aa9fb22cc94b24f82c80f9ef063805ecd6533a2eb5d5060cf93833e8" "3.3.3": url: "https://downloads.mariadb.com/Connectors/c/connector-c-3.3.3/mariadb-connector-c-3.3.3-src.tar.gz" sha256: "d77630e2376fe08185b5354621c877b0a203a6b186a0694574d37b764aeb2874" @@ -12,16 +15,17 @@ sources: url: "https://downloads.mariadb.com/Connectors/c/connector-c-3.1.11/mariadb-connector-c-3.1.11-src.tar.gz" sha256: "3e6f6c399493fe90efdc21a3fe70c30434b7480e8195642a959f1dd7a0fa5b0f" patches: - "3.3.3": - - patch_file: "patches/3.3.3-0002-find-package-zstd.patch" - patch_description: "Use ZSTD cmake file from Conan" + "3.3.8": + - patch_file: "patches/3.3.8-0001-fix-install-and-static-or-shared.patch" + patch_description: "fix install path, separate static/shared build" patch_type: "conan" + - patch_file: "patches/3.1.11-0004-include-mysqld_error-header.patch" + patch_description: "always include mysqld_error.h" + patch_type: "portability" + "3.3.3": - patch_file: "patches/3.3.3-0001-fix-install-and-static-or-shared.patch" patch_description: "fix install path, separate static/shared build" patch_type: "conan" - - patch_file: "patches/3.1.19-0002-remove-wx-flag.patch" - patch_description: "remove WX flags in MSVC" - patch_type: "conan" - patch_file: "patches/3.1.11-0003-include-order-windows-winsock2.patch" patch_description: "fix include order for windows winsock2" patch_type: "portability" @@ -32,9 +36,6 @@ patches: - patch_file: "patches/3.1.19-0001-fix-install-and-static-or-shared.patch" patch_description: "fix install path, separate static/shared build" patch_type: "conan" - - patch_file: "patches/3.1.19-0002-remove-wx-flag.patch" - patch_description: "remove WX flags in MSVC" - patch_type: "conan" - patch_file: "patches/3.1.11-0003-include-order-windows-winsock2.patch" patch_description: "fix include order for windows winsock2" patch_type: "portability" diff --git a/recipes/mariadb-connector-c/all/conanfile.py b/recipes/mariadb-connector-c/all/conanfile.py index 576fa5d4f935e..28811d8017067 100644 --- a/recipes/mariadb-connector-c/all/conanfile.py +++ b/recipes/mariadb-connector-c/all/conanfile.py @@ -92,6 +92,7 @@ def generate(self): tc.variables["INSTALL_BINDIR"] = "bin" tc.variables["INSTALL_LIBDIR"] = "lib" tc.variables["INSTALL_PLUGINDIR"] = os.path.join("lib", "plugin").replace("\\", "/") + tc.variables["ZLIB_LIBRARY"] = "ZLIB::ZLIB" # To install relocatable shared libs on Macos tc.cache_variables["CMAKE_POLICY_DEFAULT_CMP0042"] = "NEW" tc.generate() @@ -104,7 +105,7 @@ def _patch_sources(self): apply_conandata_patches(self) root_cmake = os.path.join(self.source_folder, "CMakeLists.txt") - replace_in_file(self, root_cmake, "${ZLIB_LIBRARY}", "${ZLIB_LIBRARIES}") + libmariadb_cmake = os.path.join(self.source_folder, "libmariadb", "CMakeLists.txt") replace_in_file(self, root_cmake, "SET(SSL_LIBRARIES ${OPENSSL_SSL_LIBRARY} ${OPENSSL_CRYPTO_LIBRARY})", @@ -113,6 +114,14 @@ def _patch_sources(self): replace_in_file(self, root_cmake, "${CURL_LIBRARIES}", "CURL::libcurl") plugins_io_cmake = os.path.join(self.source_folder, "plugins", "io", "CMakeLists.txt") replace_in_file(self, plugins_io_cmake, "${CURL_LIBRARIES}", "CURL::libcurl") + if Version(self.version) >= "3.3.6": + replace_in_file(self, root_cmake, "${WARNING_AS_ERROR}", "") + elif Version(self.version) >= "3.1.18": + replace_in_file(self, root_cmake, " -WX", "") + if Version(self.version) >= "3.3": + replace_in_file(self, root_cmake, + "INCLUDE(${CC_SOURCE_DIR}/cmake/FindZStd.cmake)", + "find_package(ZSTD REQUIRED CONFIG)") def build(self): self._patch_sources() diff --git a/recipes/mariadb-connector-c/all/patches/3.1.19-0002-remove-wx-flag.patch b/recipes/mariadb-connector-c/all/patches/3.1.19-0002-remove-wx-flag.patch deleted file mode 100644 index 4dde44415f18b..0000000000000 --- a/recipes/mariadb-connector-c/all/patches/3.1.19-0002-remove-wx-flag.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index f3b6cbd..f3e8993 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -100,7 +100,7 @@ IF(MSVC) - ADD_DEFINITIONS(-DWIN32_LEAN_AND_MEAN) - IF (MSVC) - # Treat warnings as errors -- SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -WX") -+ # SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -WX") - SET(CONFIG_TYPES "DEBUG" "RELEASE" "RELWITHDEBINFO") - FOREACH(BUILD_TYPE ${CONFIG_TYPES}) - FOREACH(COMPILER CXX C) diff --git a/recipes/mariadb-connector-c/all/patches/3.3.3-0001-fix-install-and-static-or-shared.patch b/recipes/mariadb-connector-c/all/patches/3.3.3-0001-fix-install-and-static-or-shared.patch index 8a6f9ad7f1f55..31844dd32529b 100644 --- a/recipes/mariadb-connector-c/all/patches/3.3.3-0001-fix-install-and-static-or-shared.patch +++ b/recipes/mariadb-connector-c/all/patches/3.3.3-0001-fix-install-and-static-or-shared.patch @@ -2,15 +2,6 @@ diff --git a/libmariadb/CMakeLists.txt b/libmariadb/CMakeLists.txt index 070fdc9..77584e6 100644 --- a/libmariadb/CMakeLists.txt +++ b/libmariadb/CMakeLists.txt -@@ -288,7 +288,7 @@ SET(MARIADB_NONBLOCK_SYMBOLS - - # handle static plugins - SET(LIBMARIADB_SOURCES ${LIBMARIADB_SOURCES} ${LIBMARIADB_PLUGIN_SOURCES}) --SET(SYSTEM_LIBS ${SYSTEM_LIBS} ${LIBMARIADB_PLUGIN_LIBS} ${ZSTD_LIBRARY} ${ZLIB_LIBRARY}) -+SET(SYSTEM_LIBS ${SYSTEM_LIBS} ${LIBMARIADB_PLUGIN_LIBS} ${ZSTD_LIBRARY} ZLIB::ZLIB) - MESSAGE(STATUS "SYSTEM_LIBS: ${SYSTEM_LIBS}") - INCLUDE_DIRECTORIES(${LIBMARIADB_PLUGIN_INCLUDES}) - ADD_DEFINITIONS(${LIBMARIADB_PLUGIN_DEFS}) @@ -404,7 +404,7 @@ ELSE() ENDIF() diff --git a/recipes/mariadb-connector-c/all/patches/3.3.3-0002-find-package-zstd.patch b/recipes/mariadb-connector-c/all/patches/3.3.3-0002-find-package-zstd.patch deleted file mode 100644 index 19168ffa68018..0000000000000 --- a/recipes/mariadb-connector-c/all/patches/3.3.3-0002-find-package-zstd.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index f3b6cbd..5a60394 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -221,7 +221,7 @@ INCLUDE(${CC_SOURCE_DIR}/cmake/SearchLibrary.cmake) - - # Compression plugins: ZSTD, ZLIB - --INCLUDE(${CC_SOURCE_DIR}/cmake/FindZStd.cmake) -+find_package(ZSTD REQUIRED CONFIG) - - IF(WITH_EXTERNAL_ZLIB) - IF(NOT ZLIB_FOUND) diff --git a/recipes/mariadb-connector-c/all/patches/3.3.8-0001-fix-install-and-static-or-shared.patch b/recipes/mariadb-connector-c/all/patches/3.3.8-0001-fix-install-and-static-or-shared.patch new file mode 100644 index 0000000000000..0dfadf76c0436 --- /dev/null +++ b/recipes/mariadb-connector-c/all/patches/3.3.8-0001-fix-install-and-static-or-shared.patch @@ -0,0 +1,117 @@ +--- libmariadb/CMakeLists.txt ++++ libmariadb/CMakeLists.txt +@@ -414,7 +414,7 @@ + ENDIF() + + +-IF(CMAKE_VERSION VERSION_GREATER 2.8.7) ++IF(FALSE) + # CREATE OBJECT LIBRARY + ADD_LIBRARY(mariadb_obj OBJECT ${LIBMARIADB_SOURCES}) + IF(UNIX) +@@ -443,21 +443,24 @@ + "FILE_DESCRIPTION:Dynamic lib for client/server communication") + ENDIF() + ++IF(NOT BUILD_SHARED_LIBS) + ADD_LIBRARY(mariadbclient STATIC ${MARIADB_OBJECTS} ${EMPTY_FILE}) + TARGET_LINK_LIBRARIES(mariadbclient ${SYSTEM_LIBS} ${CRYPTO_LIBS}) +- ++ELSE() + IF(UNIX) + ADD_LIBRARY(libmariadb SHARED ${libmariadb_RC} ${MARIADB_OBJECTS} ${EMPTY_FILE}) + SET_TARGET_PROPERTIES(libmariadb PROPERTIES COMPILE_FLAGS "${CMAKE_SHARED_LIBRARY_C_FLAGS}") + ELSE() +- ADD_LIBRARY(libmariadb SHARED ${libmariadb_RC} ${MARIADB_OBJECTS} mariadbclient.def) ++ ADD_LIBRARY(libmariadb SHARED ${libmariadb_RC} ${MARIADB_OBJECTS} ${EMPTY_FILE} mariadbclient.def) + SET_TARGET_PROPERTIES(libmariadb PROPERTIES LINKER_LANGUAGE C) + ENDIF() + + TARGET_LINK_LIBRARIES(libmariadb LINK_PRIVATE ${SYSTEM_LIBS} ${CRYPTO_LIBS}) + + SIGN_TARGET(libmariadb) +- ++ENDIF() ++ ++IF(BUILD_SHARED_LIBS) + IF(CMAKE_SYSTEM_NAME MATCHES "Linux" OR + CMAKE_SYSTEM_NAME MATCHES "kFreeBSD" OR + CMAKE_SYSTEM_NAME MATCHES "GNU") +@@ -466,11 +469,14 @@ + ENDIF() + SET_TARGET_PROPERTIES(libmariadb PROPERTIES LINK_FLAGS "${CC_BINARY_DIR}/libmariadb/mariadbclient.def") + ENDIF() +- ++ELSE() + SET_TARGET_PROPERTIES(mariadbclient PROPERTIES IMPORTED_INTERFACE_LINK_LIBRARIES "${SYSTEM_LIBS}") ++ENDIF() ++IF(BUILD_SHARED_LIBS) + SET_TARGET_PROPERTIES(libmariadb PROPERTIES IMPORTED_INTERFACE_LINK_LIBRARIES "${SYSTEM_LIBS}") + + SET_TARGET_PROPERTIES(libmariadb PROPERTIES PREFIX "") ++ENDIF() + + # + # Installation +@@ -490,11 +496,15 @@ + ENDIF() + ENDIF() + ++IF(NOT BUILD_SHARED_LIBS) + create_symlink(libmariadb${CMAKE_STATIC_LIBRARY_SUFFIX} mariadbclient ${INSTALL_LIBDIR}) +- ++ENDIF() ++ ++IF(BUILD_SHARED_LIBS) + SET_TARGET_PROPERTIES(libmariadb PROPERTIES VERSION + ${CPACK_PACKAGE_VERSION_MAJOR} + SOVERSION ${CPACK_PACKAGE_VERSION_MAJOR}) ++ELSE() + + IF(NOT WIN32) + SET_TARGET_PROPERTIES(mariadbclient PROPERTIES OUTPUT_NAME "${LIBMARIADB_STATIC_NAME}") +@@ -502,20 +512,33 @@ + + INSTALL(TARGETS mariadbclient + COMPONENT Development +- DESTINATION ${INSTALL_LIBDIR}) ++ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} ++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) ++ENDIF() ++ ++IF(BUILD_SHARED_LIBS) + IF(WIN32) + INSTALL(TARGETS libmariadb + COMPONENT SharedLibraries +- DESTINATION ${INSTALL_LIBDIR}) ++ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} ++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) + ELSE() + # in cmake 3.12+ we can use + #INSTALL(TARGETS libmariadb LIBRARY DESTINATION ${INSTALL_LIBDIR} + # COMPONENT SharedLibraries NAMELINK_COMPONENT Development) + # but as long as we build on CentOS 7 with its cmake 2.8.12.2 we have to use +-INSTALL(TARGETS libmariadb LIBRARY DESTINATION ${INSTALL_LIBDIR} +- COMPONENT SharedLibraries NAMELINK_SKIP) +-INSTALL(TARGETS libmariadb LIBRARY DESTINATION ${INSTALL_LIBDIR} +- COMPONENT Development NAMELINK_ONLY) ++INSTALL(TARGETS libmariadb LIBRARY ++ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} ++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} ++ COMPONENT SharedLibraries) ++INSTALL(TARGETS libmariadb LIBRARY ++ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} ++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} ++ COMPONENT Development) + ENDIF() + + IF(MSVC) +@@ -524,3 +547,4 @@ + CONFIGURATIONS Debug RelWithDebInfo + COMPONENT Development) + ENDIF() ++ENDIF() diff --git a/recipes/mariadb-connector-c/config.yml b/recipes/mariadb-connector-c/config.yml index c4757604b999d..4b9cbb0316174 100644 --- a/recipes/mariadb-connector-c/config.yml +++ b/recipes/mariadb-connector-c/config.yml @@ -1,4 +1,6 @@ versions: + "3.3.8": + folder: all "3.3.3": folder: all "3.1.19": From a1a4583df788c6b974c6b3aeb5bc7805dd62aa80 Mon Sep 17 00:00:00 2001 From: sophieeihpos Date: Thu, 1 Aug 2024 12:22:18 +0100 Subject: [PATCH 232/641] (#24765) grpc : remove download_archive in CmakeLists.txt MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * grpc : remove download_archive in CmakeLists.txt * Disable downloading thirdparty content * Cleanup --------- Co-authored-by: Abril Rincón Blanco --- recipes/grpc/all/conanfile.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/recipes/grpc/all/conanfile.py b/recipes/grpc/all/conanfile.py index e8ae71aeb20b8..f133e9a897253 100644 --- a/recipes/grpc/all/conanfile.py +++ b/recipes/grpc/all/conanfile.py @@ -77,7 +77,7 @@ def _supports_libsystemd(self): 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")) @@ -195,6 +195,9 @@ def generate(self): if self._supports_libsystemd: tc.cache_variables["gRPC_USE_SYSTEMD"] = self.options.with_libsystemd + + if Version(self.version) >= "1.62.0": + tc.cache_variables["gRPC_DOWNLOAD_ARCHIVES"] = False tc.generate() @@ -225,7 +228,7 @@ def _patch_sources(self): '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)", + 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) From e68ba908297984a77f9a0d9d80dce2fc13545de6 Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 1 Aug 2024 20:51:10 +0900 Subject: [PATCH 233/641] (#24766) imgui: add version 1.91.0 --- recipes/imgui/all/conandata.yml | 6 ++++++ recipes/imgui/config.yml | 4 ++++ 2 files changed, 10 insertions(+) diff --git a/recipes/imgui/all/conandata.yml b/recipes/imgui/all/conandata.yml index 13e8b4cdf2bb6..121bde17f2f83 100644 --- a/recipes/imgui/all/conandata.yml +++ b/recipes/imgui/all/conandata.yml @@ -1,4 +1,10 @@ sources: + "1.91.0": + url: "https://github.com/ocornut/imgui/archive/v1.91.0.tar.gz" + sha256: "6e62c87252e6b3725ba478a1c04dc604aa0aaeec78fedcf4011f1e52548f4cc9" + "1.91.0-docking": + url: "https://github.com/ocornut/imgui/archive/v1.91.0-docking.tar.gz" + sha256: "b08a569eedcf2bf25e763e034754fdbe37dfcb035072310781c92fa6e6504bf7" "1.90.9": url: "https://github.com/ocornut/imgui/archive/v1.90.9.tar.gz" sha256: "04943919721e874ac75a2f45e6eb6c0224395034667bf508923388afda5a50bf" diff --git a/recipes/imgui/config.yml b/recipes/imgui/config.yml index a40371b3d6a3b..25bef8f3ff274 100644 --- a/recipes/imgui/config.yml +++ b/recipes/imgui/config.yml @@ -1,4 +1,8 @@ versions: + "1.91.0": + folder: all + "1.91.0-docking": + folder: all "1.90.9": folder: all "1.90.9-docking": From cbaffbf15139c4bee82f54a821cef3aa54cbc093 Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 1 Aug 2024 21:11:04 +0900 Subject: [PATCH 234/641] (#24779) libdivide: add version 5.1 --- recipes/libdivide/all/conandata.yml | 3 +++ recipes/libdivide/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/libdivide/all/conandata.yml b/recipes/libdivide/all/conandata.yml index 6b1811615bec8..1cbb0260b35e7 100644 --- a/recipes/libdivide/all/conandata.yml +++ b/recipes/libdivide/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "5.1": + url: "https://github.com/ridiculousfish/libdivide/archive/refs/tags/v5.1.tar.gz" + sha256: "fec2e4141878c58eb92cfcd478accc3b7f34b39491c1e638566f083d378cc7d4" "5.0": url: "https://github.com/ridiculousfish/libdivide/archive/refs/tags/5.0.tar.gz" sha256: "01ffdf90bc475e42170741d381eb9cfb631d9d7ddac7337368bcd80df8c98356" diff --git a/recipes/libdivide/config.yml b/recipes/libdivide/config.yml index c374cc0645132..042bc67b62f0b 100644 --- a/recipes/libdivide/config.yml +++ b/recipes/libdivide/config.yml @@ -1,4 +1,6 @@ versions: + "5.1": + folder: all "5.0": folder: all "3.0": From d3723659898db536294d87c919dbedc2efe164ce Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 1 Aug 2024 21:30:41 +0900 Subject: [PATCH 235/641] (#24781) croncpp: add version 2023.03.30, remove cci version --- recipes/croncpp/all/conandata.yml | 6 +++--- recipes/croncpp/all/conanfile.py | 32 ++++++++++++++----------------- recipes/croncpp/config.yml | 2 +- 3 files changed, 18 insertions(+), 22 deletions(-) diff --git a/recipes/croncpp/all/conandata.yml b/recipes/croncpp/all/conandata.yml index 7f25de8a50772..30cf4b9d03ad4 100644 --- a/recipes/croncpp/all/conandata.yml +++ b/recipes/croncpp/all/conandata.yml @@ -1,4 +1,4 @@ sources: - "cci.20220503": - url: "https://github.com/mariusbancila/croncpp/archive/5c28f410db1af9507ef8469c9796a7070e5e8e2e.tar.gz" - sha256: "cabc480c78ebf12b11bd9fcd705a7ecb1c85ac88a8c9debe8de67f30abd808a8" + "2023.03.30": + url: "https://github.com/mariusbancila/croncpp/archive/refs/tags/v2023.03.30.tar.gz" + sha256: "0731b7f900a670c009585eb5e9639722aeff6531dbbd5bfc9ce895459733837e" diff --git a/recipes/croncpp/all/conanfile.py b/recipes/croncpp/all/conanfile.py index ffab100ea6a29..7c51f39f65111 100644 --- a/recipes/croncpp/all/conanfile.py +++ b/recipes/croncpp/all/conanfile.py @@ -1,9 +1,8 @@ -import os - from conan import ConanFile from conan.tools.build import check_min_cppstd -from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout -from conan.tools.files import copy, get, rmdir +from conan.tools.files import copy, get +from conan.tools.layout import basic_layout +import os required_conan_version = ">=1.52.0" @@ -25,7 +24,7 @@ def _min_cppstd(self): return 11 def layout(self): - cmake_layout(self, src_folder="src") + basic_layout(self, src_folder="src") def package_id(self): self.info.clear() @@ -37,21 +36,18 @@ def validate(self): def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) - def generate(self): - tc = CMakeToolchain(self) - tc.generate() - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - def package(self): - copy(self, "LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) - cmake = CMake(self) - cmake.install() - rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) + copy(self, "LICENSE", self.source_folder, os.path.join(self.package_folder, "licenses")) + copy( + self, + "*.h", + os.path.join(self.source_folder, "include"), + os.path.join(self.package_folder, "include"), + ) def package_info(self): self.cpp_info.bindirs = [] self.cpp_info.libdirs = [] + + self.cpp_info.set_property("cmake_file_name", "croncpp") + self.cpp_info.set_property("cmake_target_name","croncpp::croncpp") diff --git a/recipes/croncpp/config.yml b/recipes/croncpp/config.yml index 162ec03638ac6..858a21517c5cd 100644 --- a/recipes/croncpp/config.yml +++ b/recipes/croncpp/config.yml @@ -1,3 +1,3 @@ versions: - "cci.20220503": + "2023.03.30": folder: "all" From f49d4dfa7ae4462b886a8c9c20add8c8885a7fb6 Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 1 Aug 2024 21:52:26 +0900 Subject: [PATCH 236/641] (#24784) etl: add version 20.39.0, remove older versions --- recipes/etl/all/conandata.yml | 24 +++--------------------- recipes/etl/config.yml | 16 ++-------------- 2 files changed, 5 insertions(+), 35 deletions(-) diff --git a/recipes/etl/all/conandata.yml b/recipes/etl/all/conandata.yml index d43f353b12095..d4b8a19032a19 100644 --- a/recipes/etl/all/conandata.yml +++ b/recipes/etl/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "20.39.0": + url: "https://github.com/ETLCPP/etl/archive/20.39.0.tar.gz" + sha256: "1553dfaba3ba8a44a592367127b145ba6e413bf2df376808bdb6fe7a7635c197" "20.38.17": url: "https://github.com/ETLCPP/etl/archive/20.38.17.tar.gz" sha256: "5b490aca3faad3796a48bf0980e74f2a67953967fad3c051a6d4981051cb0b9a" @@ -20,24 +23,3 @@ sources: "20.38.10": url: "https://github.com/ETLCPP/etl/archive/20.38.10.tar.gz" sha256: "562f9b5d9e6786350b09d87be9c5f030073e34d7bf0a975de3e91476ddd471a3" - "20.38.7": - url: "https://github.com/ETLCPP/etl/archive/20.38.7.tar.gz" - sha256: "65cfc033bacab452af05a36bd53b8cdc2bdfd1492b2adc5bb51d2f00e451491f" - "20.38.6": - url: "https://github.com/ETLCPP/etl/archive/20.38.6.tar.gz" - sha256: "95515f2229fe75393d18ee95548998a06e65a02acd5eedae5808dd34f8201462" - "20.38.4": - url: "https://github.com/ETLCPP/etl/archive/20.38.4.tar.gz" - sha256: "4074583bacac17e7944030f099d18a4ea3591d5d58b8d8b85c1b7f080a3e9610" - "20.38.3": - url: "https://github.com/ETLCPP/etl/archive/20.38.3.tar.gz" - sha256: "7d2f384dfa9a50c8e066b716524016d2b62e753b0b75fed09a2b7e2c260759d2" - "20.38.0": - url: "https://github.com/ETLCPP/etl/archive/20.38.0.tar.gz" - sha256: "7e29ce81a2a2d5826286502a2ad5bde1f4b591d2c9e0ef7ccc335e75445223cd" - "20.37.3": - url: "https://github.com/ETLCPP/etl/archive/20.37.3.tar.gz" - sha256: "fbdf60c770772cd96d1eb25bdf56e4f45f23bf4029e18ef1f2af1f2056b9ea41" - "20.36.0": - url: "https://github.com/ETLCPP/etl/archive/20.36.0.tar.gz" - sha256: "bcab607d619008c7e3942ecc9cb429e17deb553c81bc5f1fd013fbc1e17f1344" diff --git a/recipes/etl/config.yml b/recipes/etl/config.yml index e0622751730c6..daa3200bd03a1 100644 --- a/recipes/etl/config.yml +++ b/recipes/etl/config.yml @@ -1,4 +1,6 @@ versions: + "20.39.0": + folder: all "20.38.17": folder: all "20.38.16": @@ -13,17 +15,3 @@ versions: folder: all "20.38.10": folder: all - "20.38.7": - folder: all - "20.38.6": - folder: all - "20.38.4": - folder: all - "20.38.3": - folder: all - "20.38.0": - folder: all - "20.37.3": - folder: all - "20.36.0": - folder: all From 364bac59e327728fdeca6a20f3fa2b29443df4ce Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 1 Aug 2024 22:12:04 +0900 Subject: [PATCH 237/641] (#24786) glaze: add version 3.1.9 --- recipes/glaze/all/conandata.yml | 3 +++ recipes/glaze/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/glaze/all/conandata.yml b/recipes/glaze/all/conandata.yml index 449f9025ed1c6..37dae29f62f35 100644 --- a/recipes/glaze/all/conandata.yml +++ b/recipes/glaze/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.1.9": + url: "https://github.com/stephenberry/glaze/archive/v3.1.9.tar.gz" + sha256: "adfce5acc9d3d88525c006a525e8f21d2a4bb628b5f7022720625f052d88a73d" "3.1.7": url: "https://github.com/stephenberry/glaze/archive/v3.1.7.tar.gz" sha256: "388483bb3dfa1fe25c1dfec24f0afd1651e0303833cfa1b7f51020a2569e992a" diff --git a/recipes/glaze/config.yml b/recipes/glaze/config.yml index fa97242180e6b..d002391c927d4 100644 --- a/recipes/glaze/config.yml +++ b/recipes/glaze/config.yml @@ -1,4 +1,6 @@ versions: + "3.1.9": + folder: all "3.1.7": folder: all "2.9.5": From f774dcbeea6377d6f5dd6d590a9fae310d623a9e Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 1 Aug 2024 22:51:27 +0900 Subject: [PATCH 238/641] (#24592) libheif: add version 1.18.1 * libheif: add version 1.18.0 * update 1.18.1 * require cmake --- recipes/libheif/all/conandata.yml | 5 +++ recipes/libheif/all/conanfile.py | 41 +++++++++++++++++-- .../all/patches/0001-cmake_1.18.1.patch | 13 ++++++ recipes/libheif/config.yml | 2 + 4 files changed, 58 insertions(+), 3 deletions(-) create mode 100644 recipes/libheif/all/patches/0001-cmake_1.18.1.patch diff --git a/recipes/libheif/all/conandata.yml b/recipes/libheif/all/conandata.yml index e7a2fc9ba8c25..60f47c54dcbbb 100644 --- a/recipes/libheif/all/conandata.yml +++ b/recipes/libheif/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.18.1": + url: "https://github.com/strukturag/libheif/releases/download/v1.18.1/libheif-1.18.1.tar.gz" + sha256: "8702564b0f288707ea72b260b3bf4ba9bf7abfa7dac01353def3a86acd6bbb76" "1.16.2": url: "https://github.com/strukturag/libheif/releases/download/v1.16.2/libheif-1.16.2.tar.gz" sha256: "7f97e4205c0bd9f9b8560536c8bd2e841d1c9a6d610401eb3eb87ed9cdfe78ea" @@ -15,6 +18,8 @@ sources: url: "https://github.com/strukturag/libheif/releases/download/v1.9.1/libheif-1.9.1.tar.gz" sha256: "5f65ca2bd2510eed4e13bdca123131c64067e9dd809213d7aef4dc5e37948bca" patches: + "1.18.1": + - patch_file: "patches/0001-cmake_1.18.1.patch" "1.16.2": - patch_file: "patches/0001-cmake_1.16.2.patch" - patch_file: "patches/0002-plugins_cmake_1.16.2.patch" diff --git a/recipes/libheif/all/conanfile.py b/recipes/libheif/all/conanfile.py index 912d662dba19e..c13632c993b86 100644 --- a/recipes/libheif/all/conanfile.py +++ b/recipes/libheif/all/conanfile.py @@ -2,6 +2,8 @@ from conan.tools.build import check_min_cppstd, stdcpp_library from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rmdir +from conan.tools.scm import Version +from conan.tools.env import VirtualBuildEnv import os required_conan_version = ">=1.54.0" @@ -10,11 +12,10 @@ class LibheifConan(ConanFile): name = "libheif" description = "libheif is an HEIF and AVIF file format decoder and encoder." - topics = ("heif", "codec", "video") + license = ("LGPL-3.0-only", "GPL-3.0-or-later", "MIT") url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/strukturag/libheif" - license = ("LGPL-3.0-only", "GPL-3.0-or-later", "MIT") - + topics = ("heif", "codec", "video") package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { @@ -24,6 +25,8 @@ class LibheifConan(ConanFile): "with_x265": [True, False], "with_libaomav1": [True, False], "with_dav1d": [True, False], + "with_jpeg": [True, False], + "with_openjpeg": [True, False], } default_options = { "shared": False, @@ -32,6 +35,8 @@ class LibheifConan(ConanFile): "with_x265": False, "with_libaomav1": False, "with_dav1d": False, + "with_jpeg": False, + "with_openjpeg": False, } def export_sources(self): @@ -40,6 +45,9 @@ def export_sources(self): def config_options(self): if self.settings.os == "Windows": del self.options.fPIC + if Version(self.version) < "1.17.0": + del self.options.with_jpeg + del self.options.with_openjpeg def configure(self): if self.options.shared: @@ -57,26 +65,47 @@ def requirements(self): self.requires("libaom-av1/3.6.1") if self.options.with_dav1d: self.requires("dav1d/1.2.1") + if self.options.get_safe("with_jpeg"): + self.requires("libjpeg/9f") + if self.options.get_safe("with_openjpeg"): + self.requires("openjpeg/2.5.2") def validate(self): if self.settings.compiler.get_safe("cppstd"): check_min_cppstd(self, 11) + def build_requirements(self): + if Version(self.version) >= "1.18.0": + self.tool_requires("cmake/[>=3.16 <4]") + def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): tc = CMakeToolchain(self) + tc.variables["WITH_LIBSHARPYUV"] = False tc.variables["WITH_LIBDE265"] = self.options.with_libde265 tc.variables["WITH_X265"] = self.options.with_x265 tc.variables["WITH_AOM"] = self.options.with_libaomav1 + tc.variables["WITH_AOM_DECODER"] = self.options.with_libaomav1 + tc.variables["WITH_AOM_ENCODER"] = self.options.with_libaomav1 tc.variables["WITH_RAV1E"] = False tc.variables["WITH_DAV1D"] = self.options.with_dav1d tc.variables["WITH_EXAMPLES"] = False tc.variables["WITH_GDK_PIXBUF"] = False + tc.variables["BUILD_TESTING"] = False + tc.variables["WITH_JPEG_DECODER"] = self.options.get_safe("with_jpeg", False) + tc.variables["WITH_JPEG_ENCODER"] = self.options.get_safe("with_jpeg", False) + tc.variables["WITH_OpenJPEG_DECODER"] = self.options.get_safe("with_openjpeg", False) + tc.variables["WITH_OpenJPEG_ENCODER"] = self.options.get_safe("with_openjpeg", False) tc.generate() deps = CMakeDeps(self) + if Version(self.version) >= "1.18.0": + deps.set_property("libde265", "cmake_file_name", "LIBDE265") deps.generate() + if Version(self.version) >= "1.18.0": + venv = VirtualBuildEnv(self) + venv.generate(scope="build") def build(self): apply_conandata_patches(self) @@ -101,6 +130,8 @@ def package_info(self): self.cpp_info.components["heif"].defines = ["LIBHEIF_STATIC_BUILD"] if self.settings.os in ["Linux", "FreeBSD"]: self.cpp_info.components["heif"].system_libs.extend(["m", "pthread"]) + if Version(self.version) >= "1.18.0": + self.cpp_info.components["heif"].system_libs.append("dl") if not self.options.shared: libcxx = stdcpp_library(self) if libcxx: @@ -118,3 +149,7 @@ def package_info(self): self.cpp_info.components["heif"].requires.append("libaom-av1::libaom-av1") if self.options.with_dav1d: self.cpp_info.components["heif"].requires.append("dav1d::dav1d") + if self.options.get_safe("with_jpeg"): + self.cpp_info.components["heif"].requires.append("libjpeg::libjpeg") + if self.options.get_safe("with_openjpeg"): + self.cpp_info.components["heif"].requires.append("openjpeg::openjpeg") diff --git a/recipes/libheif/all/patches/0001-cmake_1.18.1.patch b/recipes/libheif/all/patches/0001-cmake_1.18.1.patch new file mode 100644 index 0000000000000..271d7b71513e3 --- /dev/null +++ b/recipes/libheif/all/patches/0001-cmake_1.18.1.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 12c4039..2ea1805 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -47,7 +47,7 @@ set(CMAKE_CXX_EXTENSIONS OFF) + + set(CMAKE_VISIBILITY_INLINES_HIDDEN 1) + +-set(CMAKE_POSITION_INDEPENDENT_CODE ON) ++# set(CMAKE_POSITION_INDEPENDENT_CODE ON) + + # Create the compile command database for clang by default + set(CMAKE_EXPORT_COMPILE_COMMANDS ON) diff --git a/recipes/libheif/config.yml b/recipes/libheif/config.yml index 887a8fb56ade3..da73440318e68 100644 --- a/recipes/libheif/config.yml +++ b/recipes/libheif/config.yml @@ -1,4 +1,6 @@ versions: + "1.18.1": + folder: all "1.16.2": folder: all "1.13.0": From a7f4478938365c60cf972ea49647a1ce85e44eab Mon Sep 17 00:00:00 2001 From: Esteban Dugueperoux <43169544+EstebanDugueperoux2@users.noreply.github.com> Date: Fri, 2 Aug 2024 09:51:10 +0200 Subject: [PATCH 239/641] (#24750) Add cctag 1.0.4 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Add cctag 1.0.4 * Add a comment to explain a version conditional patch * Try to fix missing prebuilt boot requirement * Rollback to boost 1.84.0 * Update recipes/cctag/all/conanfile.py Co-authored-by: Uilian Ries --------- Co-authored-by: Abril Rincón Blanco Co-authored-by: Uilian Ries --- recipes/cctag/all/conandata.yml | 3 +++ recipes/cctag/all/conanfile.py | 10 +++++++--- recipes/cctag/config.yml | 2 ++ 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/recipes/cctag/all/conandata.yml b/recipes/cctag/all/conandata.yml index 1f24a6339e1f2..85f3e81e772c2 100644 --- a/recipes/cctag/all/conandata.yml +++ b/recipes/cctag/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.0.4": + url: "https://github.com/alicevision/CCTag/archive/refs/tags/v1.0.4.tar.gz" + sha256: "f4ced6138419f4ad09d62d4373738c172586c91068faff8bf08c2caa5e76d516" "1.0.3": url: "https://github.com/alicevision/CCTag/archive/refs/tags/v1.0.3.tar.gz" sha256: "25396b03c4aa3c1be241a2a8518a29511cb4fff695caa5126203fbba8e8e444d" diff --git a/recipes/cctag/all/conanfile.py b/recipes/cctag/all/conanfile.py index 8d249cbcf72c9..617a9b8ecd704 100644 --- a/recipes/cctag/all/conanfile.py +++ b/recipes/cctag/all/conanfile.py @@ -59,7 +59,9 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("boost/1.84.0", transitive_headers=True, transitive_libs=True) + # boost/1.85.0 not compatible because of "error: 'numeric' is not a namespace-name" error + boost_version = "1.85.0" if Version(self.version) >= "1.0.4" else "1.84.0" + self.requires(f"boost/{boost_version}", transitive_headers=True, transitive_libs=True) self.requires("eigen/3.4.0", transitive_headers=True) if Version(self.version) >= "1.0.3": self.requires("onetbb/2021.10.0") @@ -126,8 +128,10 @@ def _patch_sources(self): replace_in_file(self, os.path.join(self.source_folder, "src", "CMakeLists.txt"), "${OpenCV_LIBS}", "opencv_core opencv_videoio opencv_imgproc opencv_imgcodecs") - # Remove very old CUDA compute capabilities - replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), + # From https://github.com/alicevision/CCTag/pull/210/files CCTAG_CUDA_CC_LIST_INIT0 variable doesn't exists anymore in favor of a chooseCudaCC() cmake function + if Version(self.version) < "1.0.4": + # Remove very old CUDA compute capabilities + replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), "set(CCTAG_CUDA_CC_LIST_INIT0 3.5 3.7 5.0 5.2)", "set(CCTAG_CUDA_CC_LIST_INIT0 5.0 5.2)") diff --git a/recipes/cctag/config.yml b/recipes/cctag/config.yml index 2350f098ddd20..20e7cbd11f28a 100644 --- a/recipes/cctag/config.yml +++ b/recipes/cctag/config.yml @@ -1,4 +1,6 @@ versions: + "1.0.4": + folder: all "1.0.3": folder: all "1.0.1": From 01e32ad19e594d5b34f44f260186d02ae89298f6 Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 2 Aug 2024 17:31:25 +0900 Subject: [PATCH 240/641] (#24595) simdutf: add version 5.3.1, remove older versions * simdutf: add version 5.3.0, remove older versions * update 5.3.1 --- recipes/simdutf/all/conandata.yml | 18 ++++----------- recipes/simdutf/all/conanfile.py | 18 +++++---------- .../all/patches/3.2.17-0001-fix-cmake.patch | 22 ------------------- recipes/simdutf/config.yml | 8 ++----- 4 files changed, 12 insertions(+), 54 deletions(-) delete mode 100644 recipes/simdutf/all/patches/3.2.17-0001-fix-cmake.patch diff --git a/recipes/simdutf/all/conandata.yml b/recipes/simdutf/all/conandata.yml index fe77b0830484e..599185d028d7d 100644 --- a/recipes/simdutf/all/conandata.yml +++ b/recipes/simdutf/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "5.3.1": + url: "https://github.com/simdutf/simdutf/archive/v5.3.1.tar.gz" + sha256: "373e1e66a1c245817f0aa08ae8693b71d1703f9355d364e0d9d002929738ddcc" "5.2.8": url: "https://github.com/simdutf/simdutf/archive/v5.2.8.tar.gz" sha256: "2706f1bef85a6d8598f82defd3848f1c5100e2e065c5d416d993118b53ea8d77" @@ -17,20 +20,7 @@ sources: "4.0.9": url: "https://github.com/simdutf/simdutf/archive/v4.0.9.tar.gz" sha256: "599E6558FC8D06F8346E5F210564F8B18751C93D83BCE1A40A0E6A326C57B61E" + # 4.0.5 is required by scnlib "4.0.5": url: "https://github.com/simdutf/simdutf/archive/v4.0.5.tar.gz" sha256: "040d80ff4321f89ea9739ccc7f468ece9c4bc2630f3d4762b6d829000d2ec625" - "4.0.4": - url: "https://github.com/simdutf/simdutf/archive/v4.0.4.tar.gz" - sha256: "fd24bab9754e24f42e6cd2c9d336accb2674c306f9221c00fb095fe95cfe9247" - "4.0.3": - url: "https://github.com/simdutf/simdutf/archive/v4.0.3.tar.gz" - sha256: "00429eca296f00d9b93939d2561538bad601602ad02fd01ba9ad366268773751" - "3.2.17": - url: "https://github.com/simdutf/simdutf/archive/v3.2.17.tar.gz" - sha256: "c24e3eec1e08522a09b33e603352e574f26d367a7701bf069a65881f64acd519" -patches: - "3.2.17": - - patch_file: "patches/3.2.17-0001-fix-cmake.patch" - patch_description: "remove static build, enable rpath on macOS" - patch_type: "conan" diff --git a/recipes/simdutf/all/conanfile.py b/recipes/simdutf/all/conanfile.py index 69d83bcb2ced4..7f4c06e0624c0 100644 --- a/recipes/simdutf/all/conanfile.py +++ b/recipes/simdutf/all/conanfile.py @@ -1,6 +1,6 @@ from conan import ConanFile from conan.errors import ConanInvalidConfiguration -from conan.tools.files import apply_conandata_patches, export_conandata_patches, get, copy, rmdir +from conan.tools.files import get, copy, rmdir from conan.tools.build import check_min_cppstd from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout from conan.tools.scm import Version @@ -31,9 +31,6 @@ class SimdutfConan(ConanFile): def _min_cppstd(self): return 11 - def export_sources(self): - export_conandata_patches(self) - def config_options(self): if self.settings.os == "Windows": del self.options.fPIC @@ -48,13 +45,11 @@ def layout(self): def validate(self): if self.info.settings.compiler.get_safe("cppstd"): check_min_cppstd(self, self._min_cppstd) - ## simdutf >= 4.0.0 requires _mm_storeu_si64 - if Version(self.version) >= "4.0.0": - if self.settings.compiler == "gcc" and Version(self.settings.compiler.version) < "9.0": - raise ConanInvalidConfiguration(f"{self.ref} doesn't support gcc < 9.") - if self.settings.compiler == "gcc" and self.settings.build_type == "Debug" and \ - Version(self.settings.compiler.version) < "10.0": - raise ConanInvalidConfiguration(f"{self.ref} doesn't support gcc < 10 with debug build") + if self.settings.compiler == "gcc" and Version(self.settings.compiler.version) < "9.0": + raise ConanInvalidConfiguration(f"{self.ref} doesn't support gcc < 9.") + if self.settings.compiler == "gcc" and self.settings.build_type == "Debug" and \ + Version(self.settings.compiler.version) < "10.0": + raise ConanInvalidConfiguration(f"{self.ref} doesn't support gcc < 10 with debug build") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) @@ -71,7 +66,6 @@ def generate(self): deps.generate() def build(self): - apply_conandata_patches(self) cmake = CMake(self) cmake.configure() cmake.build() diff --git a/recipes/simdutf/all/patches/3.2.17-0001-fix-cmake.patch b/recipes/simdutf/all/patches/3.2.17-0001-fix-cmake.patch deleted file mode 100644 index 6f1f0aa23c231..0000000000000 --- a/recipes/simdutf/all/patches/3.2.17-0001-fix-cmake.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff --git a/cmake/simdutf-flags.cmake b/cmake/simdutf-flags.cmake -index d1e9bcd..2ff37c0 100644 ---- a/cmake/simdutf-flags.cmake -+++ b/cmake/simdutf-flags.cmake -@@ -22,4 +22,3 @@ set(SIMDUTF_CXX_STANDARD 11 CACHE STRING "the C++ standard to use for simdutf") - set(CMAKE_CXX_STANDARD ${SIMDUTF_CXX_STANDARD}) - set(CMAKE_CXX_STANDARD_REQUIRED ON) - set(CMAKE_CXX_EXTENSIONS OFF) --set(CMAKE_MACOSX_RPATH OFF) -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index ed6be55..0b649c6 100644 ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -3,7 +3,7 @@ target_include_directories(simdutf-include-source INTERFACE $/simdutf.cpp) - target_link_libraries(simdutf-source INTERFACE simdutf-include-source) --add_library(simdutf STATIC simdutf.cpp) -+add_library(simdutf simdutf.cpp) - target_include_directories(simdutf PRIVATE $ ) - target_include_directories(simdutf PUBLIC "$") - diff --git a/recipes/simdutf/config.yml b/recipes/simdutf/config.yml index 5931b0efb2f62..c7f00a921b79e 100644 --- a/recipes/simdutf/config.yml +++ b/recipes/simdutf/config.yml @@ -1,4 +1,6 @@ versions: + "5.3.1": + folder: all "5.2.8": folder: all "5.2.6": @@ -13,9 +15,3 @@ versions: folder: all "4.0.5": folder: all - "4.0.4": - folder: all - "4.0.3": - folder: all - "3.2.17": - folder: all From 7ae889db18e07d7678fdf16bee25aaa8cc3c415e Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Fri, 2 Aug 2024 12:05:37 +0300 Subject: [PATCH 241/641] (#21988) libaom-av1: add v3.8.0, drop old versions * libaom-av1: add v3.8.0, drop old versions * libaom-av1: fix .lib name for DLL * libaom-av1: don't rename aom_dll.lib --- recipes/libaom-av1/all/conandata.yml | 33 ++++-------------- recipes/libaom-av1/all/conanfile.py | 7 ++-- .../all/patches/0001-3.1.1-fix-install.patch | 34 ------------------- ...all.patch => 0001-3.8.0-fix-install.patch} | 8 ++--- recipes/libaom-av1/config.yml | 10 ++---- 5 files changed, 17 insertions(+), 75 deletions(-) delete mode 100644 recipes/libaom-av1/all/patches/0001-3.1.1-fix-install.patch rename recipes/libaom-av1/all/patches/{0001-3.3.0-fix-install.patch => 0001-3.8.0-fix-install.patch} (77%) diff --git a/recipes/libaom-av1/all/conandata.yml b/recipes/libaom-av1/all/conandata.yml index bb3a5a205cc9f..a094fca193ea9 100644 --- a/recipes/libaom-av1/all/conandata.yml +++ b/recipes/libaom-av1/all/conandata.yml @@ -1,34 +1,25 @@ sources: + "3.8.0": + url: "https://storage.googleapis.com/aom-releases/libaom-3.8.0.tar.gz" + sha256: "a768d3e54c7f00cd38b01208d1ae52d671be410cfc387ff7881ea71c855f3600" "3.6.1": url: "https://storage.googleapis.com/aom-releases/libaom-3.6.1.tar.gz" sha256: "42b862f58b3d00bd3902d2dc469526574f5b012e5b178e6a9652845a113d6887" - "3.6.0": - url: "https://storage.googleapis.com/aom-releases/libaom-3.6.0.tar.gz" - sha256: "a4a6c0fab685da743b796662a928fcdf7ae60594edc306efb73e78a17ea6cde6" "3.5.0": url: "https://storage.googleapis.com/aom-releases/libaom-3.5.0.tar.gz" sha256: "d37dbee372e2430a7efde813984ae6d78bdf1fc4080ebe32457c9115408b0738" "3.4.0": url: "https://storage.googleapis.com/aom-releases/libaom-3.4.0.tar.gz" sha256: "bd754b58c3fa69f3ffd29da77de591bd9c26970e3b18537951336d6c0252e354" - "3.3.0": - url: "https://storage.googleapis.com/aom-releases/libaom-3.3.0.tar.gz" - sha256: "1dafde32bc2237bf0570294661ae61db30e818840f77dc4e90d1ebf5a6286664" - "3.1.2": - url: "https://storage.googleapis.com/aom-releases/libaom-3.1.2.tar.gz" - sha256: "a295eb3779657fad7d34217091ee4c6257d02580a82012231afef72792330075" - "3.1.1": - url: "https://storage.googleapis.com/aom-releases/libaom-3.1.1.tar.gz" - sha256: "7cd5e8e469268c37241df93fe61557ea0dc46980ca21b37e786e92a3d0729276" "2.0.1": url: "https://storage.googleapis.com/aom-releases/libaom-2.0.1.tar.gz" sha256: "a0cff299621e2ef885aba219c498fa39a7d9a7ddf47585a118fd66c64ad1b312" patches: - "3.6.1": - - patch_file: "patches/0001-3.4.0-fix-install.patch" + "3.8.0": + - patch_file: "patches/0001-3.8.0-fix-install.patch" patch_type: conan patch_description: Install just aom library without aom_static. - "3.6.0": + "3.6.1": - patch_file: "patches/0001-3.4.0-fix-install.patch" patch_type: conan patch_description: Install just aom library without aom_static. @@ -40,18 +31,6 @@ patches: - patch_file: "patches/0001-3.4.0-fix-install.patch" patch_type: conan patch_description: Install just aom library without aom_static. - "3.3.0": - - patch_file: "patches/0001-3.3.0-fix-install.patch" - patch_type: conan - patch_description: Install just aom library without aom_static. - "3.1.2": - - patch_file: "patches/0001-3.1.1-fix-install.patch" - patch_type: conan - patch_description: Install just aom library without aom_static. - "3.1.1": - - patch_file: "patches/0001-3.1.1-fix-install.patch" - patch_type: conan - patch_description: Install just aom library without aom_static. "2.0.1": - patch_file: "patches/0001-2.0.1-fix-install.patch" patch_type: conan diff --git a/recipes/libaom-av1/all/conanfile.py b/recipes/libaom-av1/all/conanfile.py index 714ea1c7238dd..26d670c71d8c3 100644 --- a/recipes/libaom-av1/all/conanfile.py +++ b/recipes/libaom-av1/all/conanfile.py @@ -52,7 +52,7 @@ def build_requirements(self): if self.options.get_safe("assembly", False): self.tool_requires("nasm/2.15.05") if self._settings_build.os == "Windows": - self.tool_requires("strawberryperl/5.30.0.1") + self.tool_requires("strawberryperl/5.32.1.1") def layout(self): cmake_layout(self, src_folder="src") @@ -94,6 +94,9 @@ def package(self): def package_info(self): self.cpp_info.set_property("pkg_config_name", "aom") - self.cpp_info.libs = ["aom"] + lib = "aom" + if Version(self.version) >= "3.8.0" and self.settings.os == "Windows" and self.options.shared: + lib = "aom_dll" + self.cpp_info.libs = [lib] if self.settings.os in ("FreeBSD", "Linux"): self.cpp_info.system_libs = ["pthread", "m"] diff --git a/recipes/libaom-av1/all/patches/0001-3.1.1-fix-install.patch b/recipes/libaom-av1/all/patches/0001-3.1.1-fix-install.patch deleted file mode 100644 index af10132d05fe7..0000000000000 --- a/recipes/libaom-av1/all/patches/0001-3.1.1-fix-install.patch +++ /dev/null @@ -1,34 +0,0 @@ ---- a/build/cmake/aom_install.cmake -+++ b/build/cmake/aom_install.cmake -@@ -26,7 +26,7 @@ endif() - # Note: aom.pc generation uses GNUInstallDirs: - # https://cmake.org/cmake/help/latest/module/GNUInstallDirs.html - macro(setup_aom_install_targets) -- if(NOT (MSVC OR XCODE)) -+ if(1) - include("GNUInstallDirs") - set(AOM_PKG_CONFIG_FILE "${AOM_CONFIG_DIR}/aom.pc") - -@@ -76,7 +76,8 @@ macro(setup_aom_install_targets) - endif() - - if(BUILD_SHARED_LIBS) -- set(AOM_INSTALL_LIBS aom aom_static) -+ set_target_properties(aom_static PROPERTIES OUTPUT_NAME aom_static) -+ set(AOM_INSTALL_LIBS aom) - else() - set(AOM_INSTALL_LIBS aom) - endif() -@@ -88,8 +89,10 @@ macro(setup_aom_install_targets) - install( - FILES "${AOM_PKG_CONFIG_FILE}" - DESTINATION "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/pkgconfig") -- install(TARGETS ${AOM_INSTALL_LIBS} DESTINATION -- "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}") -+ install(TARGETS ${AOM_INSTALL_LIBS} -+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} -+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} -+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) - - if(ENABLE_EXAMPLES) - install(TARGETS ${AOM_INSTALL_BINS} DESTINATION diff --git a/recipes/libaom-av1/all/patches/0001-3.3.0-fix-install.patch b/recipes/libaom-av1/all/patches/0001-3.8.0-fix-install.patch similarity index 77% rename from recipes/libaom-av1/all/patches/0001-3.3.0-fix-install.patch rename to recipes/libaom-av1/all/patches/0001-3.8.0-fix-install.patch index 0dc76d16fc7f5..1bb2cbdc3adb3 100644 --- a/recipes/libaom-av1/all/patches/0001-3.3.0-fix-install.patch +++ b/recipes/libaom-av1/all/patches/0001-3.8.0-fix-install.patch @@ -1,6 +1,6 @@ ---- a/build/cmake/aom_install.cmake -+++ b/build/cmake/aom_install.cmake -@@ -27,7 +27,7 @@ endif() +--- build/cmake/aom_install.cmake ++++ build/cmake/aom_install.cmake +@@ -27,7 +27,7 @@ # Note: aom.pc generation uses GNUInstallDirs: # https://cmake.org/cmake/help/latest/module/GNUInstallDirs.html macro(setup_aom_install_targets) @@ -9,7 +9,7 @@ include("GNUInstallDirs") set(AOM_PKG_CONFIG_FILE "${AOM_CONFIG_DIR}/aom.pc") -@@ -77,7 +77,8 @@ macro(setup_aom_install_targets) +@@ -79,7 +79,8 @@ endif() if(BUILD_SHARED_LIBS) diff --git a/recipes/libaom-av1/config.yml b/recipes/libaom-av1/config.yml index 2ac5e2242b2d4..45dfabb3e4ed1 100644 --- a/recipes/libaom-av1/config.yml +++ b/recipes/libaom-av1/config.yml @@ -1,17 +1,11 @@ versions: - "3.6.1": + "3.8.0": folder: all - "3.6.0": + "3.6.1": folder: all "3.5.0": folder: all "3.4.0": folder: all - "3.3.0": - folder: all - "3.1.2": - folder: all - "3.1.1": - folder: all "2.0.1": folder: all From e14148e4ec54974c16a241334a356d10e8fe5c9a Mon Sep 17 00:00:00 2001 From: jeremy-coulon Date: Fri, 2 Aug 2024 11:31:08 +0200 Subject: [PATCH 242/641] (#24728) [status-code] Add version cci.20240614 * [status-code] Add version cci.20240614 * Fix cmake error in test_v1_package add_library cannot create ALIAS target "status-code::hl" because target "status-code::status-code" is imported but not globally visible. --- recipes/status-code/all/conandata.yml | 3 +++ recipes/status-code/all/conanfile.py | 4 ++++ recipes/status-code/all/test_package/test_package.cpp | 6 +++++- recipes/status-code/all/test_v1_package/CMakeLists.txt | 4 ---- recipes/status-code/config.yml | 2 ++ 5 files changed, 14 insertions(+), 5 deletions(-) diff --git a/recipes/status-code/all/conandata.yml b/recipes/status-code/all/conandata.yml index 49b0985bc39b6..70939803c28aa 100644 --- a/recipes/status-code/all/conandata.yml +++ b/recipes/status-code/all/conandata.yml @@ -2,3 +2,6 @@ sources: "cci.20220616": url: "https://github.com/ned14/status-code/archive/38e1e862386cb38d577664fd681ef829b0e03fba.tar.gz" sha256: "faf112df1633a1ee1f58c8b056130154b7c0dbf12e7f006a04dc376500d271c3" + "cci.20240614": + url: "https://github.com/ned14/status-code/archive/a6689afceb19ed127ec4a828dcf1597102e6c02d.tar.gz" + sha256: "f9725675f9d124d2223f9554f11a7f9dcb4893ea2b8a73bd3f7b182f23ba26ca" diff --git a/recipes/status-code/all/conanfile.py b/recipes/status-code/all/conanfile.py index ba9f0306e38c0..9e9d6e1e369a2 100644 --- a/recipes/status-code/all/conanfile.py +++ b/recipes/status-code/all/conanfile.py @@ -53,3 +53,7 @@ def package_info(self): # See https://github.com/ned14/status-code/blob/38e1e862386cb38d577664fd681ef829b0e03fba/CMakeLists.txt#L126 self.cpp_info.set_property("cmake_file_name", "status-code") self.cpp_info.set_property("cmake_target_name", "status-code::hl") + + # TODO: to remove in conan v2 once cmake_find_package_* generators removed + self.cpp_info.components["hl"].names["cmake_find_package"] = "hl" + self.cpp_info.components["hl"].names["cmake_find_package_multi"] = "hl" diff --git a/recipes/status-code/all/test_package/test_package.cpp b/recipes/status-code/all/test_package/test_package.cpp index a2a617bc7f941..ac3726f0591c8 100644 --- a/recipes/status-code/all/test_package/test_package.cpp +++ b/recipes/status-code/all/test_package/test_package.cpp @@ -1,4 +1,8 @@ -#include +#if __has_include() +# include +#else +# include +#endif int main() { system_error2::system_code sc; diff --git a/recipes/status-code/all/test_v1_package/CMakeLists.txt b/recipes/status-code/all/test_v1_package/CMakeLists.txt index 378dd67690afd..54d2c07bb9d41 100644 --- a/recipes/status-code/all/test_v1_package/CMakeLists.txt +++ b/recipes/status-code/all/test_v1_package/CMakeLists.txt @@ -4,9 +4,5 @@ project(test_package LANGUAGES CXX) include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) conan_basic_setup(TARGETS) -# Just a workaround to not supprt the deprecated generators while passing the 1.x hooks -find_package(status-code CONFIG REQUIRED) -add_library(status-code::hl ALIAS status-code::status-code) - add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/status-code/config.yml b/recipes/status-code/config.yml index 484ac289f9edf..9cd6d00352fb6 100644 --- a/recipes/status-code/config.yml +++ b/recipes/status-code/config.yml @@ -1,3 +1,5 @@ versions: "cci.20220616": folder: all + "cci.20240614": + folder: all From 73a566074792627f3dfec07a3e30b380162b182f Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 2 Aug 2024 18:50:47 +0900 Subject: [PATCH 243/641] (#24748) librdkafka: add version 2.5.0 * librdkafka: add version 2.5.0 * add syslog option * add WITH_SNAPPY definition * disable syslog on msvc * Get syslog option using option get_safe --------- Co-authored-by: Uilian Ries --- recipes/librdkafka/all/conandata.yml | 14 ++++++++++ recipes/librdkafka/all/conanfile.py | 8 ++++++ ...y-targets-and-result-variables-2-5-0.patch | 26 +++++++++++++++++++ .../0003-add-forward-declaration-2-5-0.patch | 13 ++++++++++ recipes/librdkafka/config.yml | 2 ++ 5 files changed, 63 insertions(+) create mode 100644 recipes/librdkafka/all/patches/0002-Change-library-targets-and-result-variables-2-5-0.patch create mode 100644 recipes/librdkafka/all/patches/0003-add-forward-declaration-2-5-0.patch diff --git a/recipes/librdkafka/all/conandata.yml b/recipes/librdkafka/all/conandata.yml index 5b70b2f07d19f..921f059de2f9b 100644 --- a/recipes/librdkafka/all/conandata.yml +++ b/recipes/librdkafka/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.5.0": + url: "https://github.com/edenhill/librdkafka/archive/v2.5.0.tar.gz" + sha256: "3dc62de731fd516dfb1032861d9a580d4d0b5b0856beb0f185d06df8e6c26259" "2.4.0": url: "https://github.com/edenhill/librdkafka/archive/v2.4.0.tar.gz" sha256: "d645e47d961db47f1ead29652606a502bdd2a880c85c1e060e94eea040f1a19a" @@ -15,6 +18,17 @@ sources: url: "https://github.com/edenhill/librdkafka/archive/v1.9.2.tar.gz" sha256: "3fba157a9f80a0889c982acdd44608be8a46142270a389008b22d921be1198ad" patches: + "2.5.0": + - patch_file: patches/0001-Change-library-names-1-9-1.patch + patch_description: "find_package conan packages" + patch_type: "conan" + - patch_file: patches/0002-Change-library-targets-and-result-variables-2-5-0.patch + patch_description: "refer conan package names" + patch_type: "conan" + - patch_file: patches/0003-add-forward-declaration-2-5-0.patch + patch_description: "add forward declarations to fix compilation without ssl" + patch_type: "official" + patch_source: "https://github.com/confluentinc/librdkafka/pull/4794/" "2.4.0": - patch_file: patches/0001-Change-library-names-1-9-1.patch patch_description: "find_package conan packages" diff --git a/recipes/librdkafka/all/conanfile.py b/recipes/librdkafka/all/conanfile.py index 90bfc657a8ab8..d7bc2435f6766 100644 --- a/recipes/librdkafka/all/conanfile.py +++ b/recipes/librdkafka/all/conanfile.py @@ -3,6 +3,8 @@ from conan.tools.env import VirtualBuildEnv from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rmdir from conan.tools.gnu import PkgConfigDeps +from conan.tools.scm import Version +from conan.tools.microsoft import is_msvc import os required_conan_version = ">=1.55.0" @@ -29,6 +31,7 @@ class LibrdkafkaConan(ConanFile): "ssl": [True, False], "sasl": [True, False], "curl": [True, False], + "syslog": [True, False], } default_options = { "shared": False, @@ -39,6 +42,7 @@ class LibrdkafkaConan(ConanFile): "ssl": False, "sasl": False, "curl": False, + "syslog": False, } @property @@ -51,6 +55,8 @@ def export_sources(self): def config_options(self): if self.settings.os == "Windows": del self.options.fPIC + if is_msvc(self): + del self.options.syslog def configure(self): if self.options.shared: @@ -98,6 +104,8 @@ def generate(self): tc.variables["WITH_SASL"] = self.options.sasl tc.variables["ENABLE_LZ4_EXT"] = True tc.variables["WITH_CURL"] = self.options.curl + tc.variables["WITH_SNAPPY"] = True + tc.preprocessor_definitions["WITH_SYSLOG"] = "1" if self.options.get_safe("syslog") else "0" tc.generate() cd = CMakeDeps(self) diff --git a/recipes/librdkafka/all/patches/0002-Change-library-targets-and-result-variables-2-5-0.patch b/recipes/librdkafka/all/patches/0002-Change-library-targets-and-result-variables-2-5-0.patch new file mode 100644 index 0000000000000..a862544f4da08 --- /dev/null +++ b/recipes/librdkafka/all/patches/0002-Change-library-targets-and-result-variables-2-5-0.patch @@ -0,0 +1,26 @@ +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index bbe63cf..44df7d1 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -224,9 +224,9 @@ if(WITH_ZLIB) + endif() + + if(WITH_ZSTD) +- target_link_libraries(rdkafka PRIVATE ${ZSTD_LIBRARY}) +- target_include_directories(rdkafka PRIVATE ${ZSTD_INCLUDE_DIR}) +- message(STATUS "Found ZSTD: ${ZSTD_LIBRARY}") ++ target_link_libraries(rdkafka PRIVATE $,zstd::libzstd_shared,zstd::libzstd_static>) ++# target_include_directories(rdkafka PRIVATE ${ZSTD_INCLUDE_DIR}) ++# message(STATUS "Found ZSTD: ${ZSTD_LIBRARY}") + endif() + + if(WITH_SSL) +@@ -266,7 +266,7 @@ endif() + + if(WITH_LZ4_EXT) + target_include_directories(rdkafka PRIVATE ${LZ4_INCLUDE_DIRS}) +- target_link_libraries(rdkafka PUBLIC LZ4::LZ4) ++ target_link_libraries(rdkafka PUBLIC lz4::lz4) + endif() + + if(WIN32) diff --git a/recipes/librdkafka/all/patches/0003-add-forward-declaration-2-5-0.patch b/recipes/librdkafka/all/patches/0003-add-forward-declaration-2-5-0.patch new file mode 100644 index 0000000000000..dbaef7d2d154f --- /dev/null +++ b/recipes/librdkafka/all/patches/0003-add-forward-declaration-2-5-0.patch @@ -0,0 +1,13 @@ +diff --git a/src/rdkafka_op.h b/src/rdkafka_op.h +index d79121e..d410a2b 100644 +--- a/src/rdkafka_op.h ++++ b/src/rdkafka_op.h +@@ -39,7 +39,7 @@ + typedef struct rd_kafka_q_s rd_kafka_q_t; + typedef struct rd_kafka_toppar_s rd_kafka_toppar_t; + typedef struct rd_kafka_op_s rd_kafka_op_t; +- ++typedef struct rd_kafka_broker_s rd_kafka_broker_t; + /* One-off reply queue + reply version. + * All APIs that take a rd_kafka_replyq_t makes a copy of the + * struct as-is and grabs hold of the existing .q refcount. diff --git a/recipes/librdkafka/config.yml b/recipes/librdkafka/config.yml index d9d5e85da2bcf..bd8d716daedb1 100644 --- a/recipes/librdkafka/config.yml +++ b/recipes/librdkafka/config.yml @@ -1,4 +1,6 @@ versions: + "2.5.0": + folder: all "2.4.0": folder: all "2.3.0": From bcd20fc17249004a6092cddf52a380434b818dab Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Fri, 2 Aug 2024 13:31:46 +0300 Subject: [PATCH 244/641] (#24725) rdma-core: add v52.0, enable all modules * rdma-core: add v52.0, enable all modules * rdma-core: fix Conan v1 failure due to path lengths * Update conanfile.py Co-authored-by: Uilian Ries --------- Co-authored-by: Uilian Ries --- recipes/rdma-core/all/conandata.yml | 3 +++ recipes/rdma-core/all/conanfile.py | 12 ++++++++---- recipes/rdma-core/config.yml | 2 ++ 3 files changed, 13 insertions(+), 4 deletions(-) diff --git a/recipes/rdma-core/all/conandata.yml b/recipes/rdma-core/all/conandata.yml index 30eaf3a7cd31f..2871466545995 100644 --- a/recipes/rdma-core/all/conandata.yml +++ b/recipes/rdma-core/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "52.0": + url: "https://github.com/linux-rdma/rdma-core/releases/download/v52.0/rdma-core-52.0.tar.gz" + sha256: "1f0ce5f2462c982b20d21156707076278807a7adf4d10e9142f3be4bec1b2b83" "51.0": url: "https://github.com/linux-rdma/rdma-core/releases/download/v51.0/rdma-core-51.0.tar.gz" sha256: "0a4a55b1351356c2750f26ec9010e8c7370402a13c95799cb8b447cf0134dd61" diff --git a/recipes/rdma-core/all/conanfile.py b/recipes/rdma-core/all/conanfile.py index c2a42528f2835..b7c0f7ab5ef82 100644 --- a/recipes/rdma-core/all/conanfile.py +++ b/recipes/rdma-core/all/conanfile.py @@ -36,8 +36,8 @@ class PackageConan(ConanFile): "build_libibnetdisc": True, "build_libmana": True, "build_libmlx4": True, - "build_libmlx5": False, - "build_librdmacm": False, + "build_libmlx5": True, + "build_librdmacm": True, } def configure(self): @@ -49,8 +49,7 @@ def layout(self): def requirements(self): self.requires("libnl/3.8.0") - if self.settings.os in ["Linux", "FreeBSD"]: - self.requires("libudev/system") + self.requires("libudev/system") def validate(self): if self.settings.os not in ["Linux", "FreeBSD"]: @@ -73,6 +72,11 @@ def generate(self): # tc.variables["ENABLE_STATIC"] = not self.options.shared tc.variables["NO_PYVERBS"] = True tc.variables["NO_MAN_PAGES"] = True + # Otherwise get set to ${install_prefix}/car/run and the paths in + # https://github.com/linux-rdma/rdma-core/blob/v52.0/buildlib/config.h.in + # can exceed the 108-character limit for socket paths on Linux + if "CMAKE_INSTALL_RUNDIR" not in self.conf.get("tools.cmake.cmaketoolchain:extra_variables", check_type=dict, default={}): + tc.variables["CMAKE_INSTALL_RUNDIR"] = "/var/run" tc.generate() deps = CMakeDeps(self) deps.generate() diff --git a/recipes/rdma-core/config.yml b/recipes/rdma-core/config.yml index bc069e4d0ced3..4e3149e77dd3c 100644 --- a/recipes/rdma-core/config.yml +++ b/recipes/rdma-core/config.yml @@ -1,4 +1,6 @@ versions: + "52.0": + folder: all "51.0": folder: all "49.0": From b94c4b2d46d31357f4d2fafbda78a149ac74cd87 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Fri, 2 Aug 2024 13:50:43 +0300 Subject: [PATCH 245/641] (#24770) poselib: new recipe * poselib: new recipe * poselib: Windows shared builds are not supported * poselib: improve error message * poselib: use a version tag for the source archive --- recipes/poselib/all/conandata.yml | 4 + recipes/poselib/all/conanfile.py | 109 ++++++++++++++++++ .../poselib/all/test_package/CMakeLists.txt | 8 ++ recipes/poselib/all/test_package/conanfile.py | 26 +++++ .../poselib/all/test_package/test_package.cpp | 10 ++ recipes/poselib/config.yml | 3 + 6 files changed, 160 insertions(+) create mode 100644 recipes/poselib/all/conandata.yml create mode 100644 recipes/poselib/all/conanfile.py create mode 100644 recipes/poselib/all/test_package/CMakeLists.txt create mode 100644 recipes/poselib/all/test_package/conanfile.py create mode 100644 recipes/poselib/all/test_package/test_package.cpp create mode 100644 recipes/poselib/config.yml diff --git a/recipes/poselib/all/conandata.yml b/recipes/poselib/all/conandata.yml new file mode 100644 index 0000000000000..cab8f6e395791 --- /dev/null +++ b/recipes/poselib/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "2.0.3": + url: "https://github.com/PoseLib/PoseLib/archive/refs/tags/v2.0.3.tar.gz" + sha256: "ec52fe738a803e53c4cedc27f393a38b2dced63da6c73148e98965b338ca0efc" diff --git a/recipes/poselib/all/conanfile.py b/recipes/poselib/all/conanfile.py new file mode 100644 index 0000000000000..31ce840c08370 --- /dev/null +++ b/recipes/poselib/all/conanfile.py @@ -0,0 +1,109 @@ +import os + +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import check_min_cppstd +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.files import copy, get, replace_in_file, rmdir +from conan.tools.scm import Version + +required_conan_version = ">=1.53.0" + + +class PoselibConan(ConanFile): + name = "poselib" + description = "PoseLib: minimal solvers for calibrated camera pose estimation" + license = "BSD-3-Clause" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/PoseLib/PoseLib" + topics = ("pose", "camera", "estimation", "solver") + + package_type = "library" + settings = "os", "arch", "compiler", "build_type" + options = { + "shared": [True, False], + "fPIC": [True, False], + } + default_options = { + "shared": False, + "fPIC": True, + } + + @property + def _min_cppstd(self): + return 17 + + @property + def _compilers_minimum_version(self): + return { + "gcc": "7", + "clang": "6", + "apple-clang": "10", + "msvc": "192", + "Visual Studio": "16", + } + + def config_options(self): + if self.settings.os == "Windows": + del self.options.fPIC + + def configure(self): + if self.options.shared: + self.options.rm_safe("fPIC") + + def layout(self): + cmake_layout(self, src_folder="src") + + def requirements(self): + self.requires("eigen/3.4.0", transitive_headers=True, transitive_libs=True) + + def validate(self): + if self.settings.compiler.cppstd: + check_min_cppstd(self, self._min_cppstd) + minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) + if minimum_version and Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration( + f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." + ) + + if self.settings.os == "Windows" and self.options.shared: + raise ConanInvalidConfiguration( + f"{self.ref} does not export symbols on Windows for a shared library build." + ) + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + tc.cache_variables["CMAKE_POLICY_DEFAULT_CMP0077"] = "NEW" + tc.generate() + + deps = CMakeDeps(self) + deps.generate() + + def _patch_sources(self): + replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), + "-march=native -Wall -Werror -fPIC", "-Wall") + + def build(self): + self._patch_sources() + cmake = CMake(self) + cmake.configure() + cmake.build() + + def package(self): + copy(self, "LICENSE", self.source_folder, os.path.join(self.package_folder, "licenses")) + cmake = CMake(self) + cmake.install() + rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) + + def package_info(self): + self.cpp_info.set_property("cmake_file_name", "PoseLib") + self.cpp_info.set_property("cmake_target_name", "PoseLib::PoseLib") + + suffix = "d" if self.settings.build_type == "Debug" else "" + self.cpp_info.libs = ["PoseLib" + suffix] + + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.system_libs.append("m") diff --git a/recipes/poselib/all/test_package/CMakeLists.txt b/recipes/poselib/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..ea7248e1ec70c --- /dev/null +++ b/recipes/poselib/all/test_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) + +find_package(PoseLib REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE PoseLib::PoseLib) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) diff --git a/recipes/poselib/all/test_package/conanfile.py b/recipes/poselib/all/test_package/conanfile.py new file mode 100644 index 0000000000000..3a91c9439218e --- /dev/null +++ b/recipes/poselib/all/test_package/conanfile.py @@ -0,0 +1,26 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def layout(self): + cmake_layout(self) + + def requirements(self): + self.requires(self.tested_reference_str) + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/poselib/all/test_package/test_package.cpp b/recipes/poselib/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..613b02cd52fa4 --- /dev/null +++ b/recipes/poselib/all/test_package/test_package.cpp @@ -0,0 +1,10 @@ +#include + +#include + +int main() { + std::vector x1(10, Eigen::Vector3d{}); + std::vector x2(10, Eigen::Vector3d{}); + Eigen::Matrix3d h; + int res = poselib::homography_4pt(x1, x2, &h); +} diff --git a/recipes/poselib/config.yml b/recipes/poselib/config.yml new file mode 100644 index 0000000000000..7f57148a20478 --- /dev/null +++ b/recipes/poselib/config.yml @@ -0,0 +1,3 @@ +versions: + "2.0.3": + folder: all From a7317a6c7ba75e219f2c5dfaf28025ac1625e6fb Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 2 Aug 2024 20:14:03 +0900 Subject: [PATCH 246/641] (#24772) libavif: add version 1.1.1 --- recipes/libavif/all/conandata.yml | 7 ++++ ...001-disable-developer-only-codepaths.patch | 38 +++++++++++++++++++ recipes/libavif/config.yml | 2 + 3 files changed, 47 insertions(+) create mode 100644 recipes/libavif/all/patches/1.1.1-0001-disable-developer-only-codepaths.patch diff --git a/recipes/libavif/all/conandata.yml b/recipes/libavif/all/conandata.yml index fcc0c8b59fca8..7d4af07ae59e6 100644 --- a/recipes/libavif/all/conandata.yml +++ b/recipes/libavif/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.1.1": + url: "https://github.com/AOMediaCodec/libavif/archive/refs/tags/v1.1.1.tar.gz" + sha256: "914662e16245e062ed73f90112fbb4548241300843a7772d8d441bb6859de45b" "1.1.0": url: "https://github.com/AOMediaCodec/libavif/archive/refs/tags/v1.1.0.tar.gz" sha256: "edb31951005d7a143be1724f24825809599a4832073add50eaf987733defb5c8" @@ -21,6 +24,10 @@ sources: url: "https://github.com/AOMediaCodec/libavif/archive/refs/tags/v0.9.3.tar.gz" sha256: "bcd9a1f57f982a9615eb7e2faf87236dc88eb1d0c886f3471c7440ead605060d" patches: + "1.1.1": + - patch_file: patches/1.1.1-0001-disable-developer-only-codepaths.patch + patch_description: "disable compiler options for develop" + patch_type: "portability" "1.1.0": - patch_file: patches/1.1.0-0001-disable-developer-only-codepaths.patch patch_description: "disable compiler options for develop" diff --git a/recipes/libavif/all/patches/1.1.1-0001-disable-developer-only-codepaths.patch b/recipes/libavif/all/patches/1.1.1-0001-disable-developer-only-codepaths.patch new file mode 100644 index 0000000000000..00825d66fdb2c --- /dev/null +++ b/recipes/libavif/all/patches/1.1.1-0001-disable-developer-only-codepaths.patch @@ -0,0 +1,38 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index baf5964..dc3704e 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -147,13 +147,13 @@ option(AVIF_LOCAL_FUZZTEST + + # Whether the libavif library uses c++ indirectly (e.g. through linking to libyuv). + set(AVIF_LIB_USE_CXX OFF) +- ++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) +@@ -269,7 +269,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(MSVC) +@@ -310,7 +310,7 @@ elseif(CMAKE_C_COMPILER_ID MATCHES "GNU") + else() + message(FATAL_ERROR "libavif: Unknown compiler, bailing out") + endif() +- ++endif() + if(AVIF_ENABLE_WERROR) + # Warnings as errors + if(MSVC) diff --git a/recipes/libavif/config.yml b/recipes/libavif/config.yml index 7cb403e14cb9a..d8cfe5a49c15a 100644 --- a/recipes/libavif/config.yml +++ b/recipes/libavif/config.yml @@ -1,4 +1,6 @@ versions: + "1.1.1": + folder: all "1.1.0": folder: all "1.0.4": From 62e6c5161f1f6042bb67ae91623be8aa910049da Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 2 Aug 2024 20:30:48 +0900 Subject: [PATCH 247/641] (#24774) fast_io: add version cci.20240729 --- recipes/fast_io/all/conandata.yml | 3 +++ recipes/fast_io/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/fast_io/all/conandata.yml b/recipes/fast_io/all/conandata.yml index a32bf70cd25f3..849d1ed038071 100644 --- a/recipes/fast_io/all/conandata.yml +++ b/recipes/fast_io/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "cci.20240729": + url: "https://github.com/cppfastio/fast_io/archive/44617e9368b64047fabd00cd98b037c1c2fc7fb2.tar.gz" + sha256: "077692f72f2a7e3fed44fa5b37613d058657738c2592addfcb6559cf1ae30716" "cci.20240219": url: "https://github.com/cppfastio/fast_io/archive/316afccde333721b059a761b25217084e84a9ca0.tar.gz" sha256: "9feab7802957c8069b2a112f97bfb885d503ff5d7f433197f47636f40a20188a" diff --git a/recipes/fast_io/config.yml b/recipes/fast_io/config.yml index 957c6f90fa002..7559ae4709057 100644 --- a/recipes/fast_io/config.yml +++ b/recipes/fast_io/config.yml @@ -1,3 +1,5 @@ versions: + "cci.20240729": + folder: all "cci.20240219": folder: all From b1dd7eb6e3ae37dccd54a1fc82e3a046045354c8 Mon Sep 17 00:00:00 2001 From: Egor Tyuvaev Date: Fri, 2 Aug 2024 13:51:55 +0200 Subject: [PATCH 248/641] (#24789) OpenVINO 2024.3.0 release --- recipes/openvino/all/conandata.yml | 16 ++++++++++++++++ .../all/dependencies/dependencies-2024.3.0.yml | 1 + recipes/openvino/config.yml | 2 ++ 3 files changed, 19 insertions(+) create mode 100644 recipes/openvino/all/dependencies/dependencies-2024.3.0.yml diff --git a/recipes/openvino/all/conandata.yml b/recipes/openvino/all/conandata.yml index 90b6177bbef9d..e7a253f3fb89e 100644 --- a/recipes/openvino/all/conandata.yml +++ b/recipes/openvino/all/conandata.yml @@ -1,4 +1,20 @@ sources: + "2024.3.0": + "openvino": + url: "https://github.com/openvinotoolkit/openvino/archive/refs/tags/2024.3.0.tar.gz" + sha256: "53fccad05279d0975eca84ec75517a7c360be9b0f7bcd822da29a7949c12ce70" + "arm_compute": + url: "https://github.com/ARM-software/ComputeLibrary/archive/refs/tags/v24.06.tar.gz" + sha256: "68e24589905638e406a98ad48236097ab30112f2849b35e196b7b1efb0ce74e6" + "onednn_cpu": + url: "https://github.com/openvinotoolkit/oneDNN/archive/f0f8defe2dff5058391f2a66e775e20b5de33b08.tar.gz" + sha256: "13bee5b8522177f297e095e3eba5948c1a7ee7a816d19d5a59ce0f717f82cedc" + "mlas": + url: "https://github.com/openvinotoolkit/mlas/archive/d1bc25ec4660cddd87804fcf03b2411b5dfb2e94.tar.gz" + sha256: "0a44fbfd4b13e8609d66ddac4b11a27c90c1074cde5244c91ad197901666004c" + "onednn_gpu": + url: "https://github.com/oneapi-src/oneDNN/archive/7ab8ee9adda866d675edeee7a3a6a29b2d0a1572.tar.gz" + sha256: "66363988363744e49fff55f4fcdb72318ff3f35fba6da68302c1662c837c22ac" "2024.2.0": "openvino": url: "https://github.com/openvinotoolkit/openvino/archive/refs/tags/2024.2.0.tar.gz" diff --git a/recipes/openvino/all/dependencies/dependencies-2024.3.0.yml b/recipes/openvino/all/dependencies/dependencies-2024.3.0.yml new file mode 100644 index 0000000000000..f99604741682a --- /dev/null +++ b/recipes/openvino/all/dependencies/dependencies-2024.3.0.yml @@ -0,0 +1 @@ +onnx: "1.15.0" diff --git a/recipes/openvino/config.yml b/recipes/openvino/config.yml index 2c38fc9d0cd69..6e20b31cea112 100644 --- a/recipes/openvino/config.yml +++ b/recipes/openvino/config.yml @@ -1,4 +1,6 @@ versions: + "2024.3.0": + folder: "all" "2024.2.0": folder: "all" "2024.1.0": From 67c0f1f901755ba37b24781f3f51cdbfedb1e8ae Mon Sep 17 00:00:00 2001 From: tt4g <45120617+tt4g@users.noreply.github.com> Date: Fri, 2 Aug 2024 21:13:37 +0900 Subject: [PATCH 249/641] (#24792) libpqxx: add version 7.9.2 --- recipes/libpqxx/all/conandata.yml | 7 +++++++ recipes/libpqxx/config.yml | 2 ++ 2 files changed, 9 insertions(+) diff --git a/recipes/libpqxx/all/conandata.yml b/recipes/libpqxx/all/conandata.yml index 0a09eba2c892d..50ce1231a555d 100644 --- a/recipes/libpqxx/all/conandata.yml +++ b/recipes/libpqxx/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "7.9.2": + url: "https://github.com/jtv/libpqxx/archive/refs/tags/7.9.2.tar.gz" + sha256: "e37d5774c39f6c802e32d7f418e88b8e530404fb54758516e884fc0ebdee6da4" "7.9.1": url: "https://github.com/jtv/libpqxx/archive/refs/tags/7.9.1.tar.gz" sha256: "4fafd63009b1d6c2b64b8c184c04ae4d1f7aa99d8585154832d28012bae5b0b6" @@ -30,6 +33,10 @@ sources: url: "https://github.com/jtv/libpqxx/archive/6.4.8.tar.gz" sha256: "3f7aba951822e01f1b9f9f353702954773323dd9f9dc376ffb57cb6bbd9a7a2f" patches: + "7.9.2": + - patch_file: "patches/0001-cmake-fix-module.patch" + patch_description: "Keep `CMAKE_MODULE_PATH` to be changed by conan." + patch_type: "conan" "7.9.1": - patch_file: "patches/0001-cmake-fix-module.patch" patch_description: "Keep `CMAKE_MODULE_PATH` to be changed by conan." diff --git a/recipes/libpqxx/config.yml b/recipes/libpqxx/config.yml index f6402ea576565..5c0e478232496 100644 --- a/recipes/libpqxx/config.yml +++ b/recipes/libpqxx/config.yml @@ -1,4 +1,6 @@ versions: + "7.9.2": + folder: all "7.9.1": folder: all "7.9.0": From 7921442233b069d397ac98d5f1fc44974f215c90 Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 3 Aug 2024 00:10:47 +0900 Subject: [PATCH 250/641] (#24249) ffmpeg: add new version 7.0.1 * ffmpeg: add version 7.0.1 * use nasm only when building x86 Signed-off-by: Uilian Ries * fix config.yml with correct folder Signed-off-by: Uilian Ries * Avoid building 7.0.1 in Debug Signed-off-by: Uilian Ries * Fix missint setting Signed-off-by: Uilian Ries --------- Signed-off-by: Uilian Ries Co-authored-by: Uilian Ries --- recipes/ffmpeg/all/conandata.yml | 3 +++ recipes/ffmpeg/all/conanfile.py | 14 +++++++++++++- recipes/ffmpeg/config.yml | 2 ++ 3 files changed, 18 insertions(+), 1 deletion(-) diff --git a/recipes/ffmpeg/all/conandata.yml b/recipes/ffmpeg/all/conandata.yml index 72d6f47cd55d3..9c344456b7886 100644 --- a/recipes/ffmpeg/all/conandata.yml +++ b/recipes/ffmpeg/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "7.0.1": + url: "https://ffmpeg.org//releases/ffmpeg-7.0.1.tar.bz2" + sha256: "5e77e84b6434d656106fafe3bceccc77176449014f3eba24d33db3fbd0939dc9" "6.1.1": url: "http://ffmpeg.org/releases/ffmpeg-6.1.1.tar.bz2" sha256: "5e3133939a61ef64ac9b47ffd29a5ea6e337a4023ef0ad972094b4da844e3a20" diff --git a/recipes/ffmpeg/all/conanfile.py b/recipes/ffmpeg/all/conanfile.py index f1ef30eb1d0c5..6c59f5ba9325c 100644 --- a/recipes/ffmpeg/all/conanfile.py +++ b/recipes/ffmpeg/all/conanfile.py @@ -349,9 +349,21 @@ def validate(self): # Linking fails with "Argument list too long" for some reason on Conan v1 raise ConanInvalidConfiguration("MSVC shared build is not supported for Conan v1") + if Version(self.version) == "7.0.1" and self.settings.build_type == "Debug": + # FIXME: FFMpeg fails to build in Debug mode with the following error: + # ld: libavcodec/libavcodec.a(vvcdsp_init.o): in function `ff_vvc_put_pixels2_8_sse4': + # src/libavcodec/x86/vvc/vvcdsp_init.c:69: undefined reference to `ff_h2656_put_pixels2_8_sse4' + # May be related https://github.com/ffvvc/FFmpeg/issues/234 + raise ConanInvalidConfiguration(f"{self.ref} Conan recipe does not support build_type=Debug. Contributions are welcome to fix this issue.") + def build_requirements(self): if self.settings.arch in ("x86", "x86_64"): - self.tool_requires("yasm/1.3.0") + if Version(self.version) >= "7.0": + # INFO: FFmpeg 7.0+ added avcodec vvc_mc.asm which fails to assemble with yasm 1.3.0 + # src/libavcodec/x86/vvc/vvc_mc.asm:55: error: operand 1: expression is not simple or relocatable + self.tool_requires("nasm/2.16.01") + else: + self.tool_requires("yasm/1.3.0") if not self.conf.get("tools.gnu:pkg_config", check_type=str): self.tool_requires("pkgconf/2.1.0") if self._settings_build.os == "Windows": diff --git a/recipes/ffmpeg/config.yml b/recipes/ffmpeg/config.yml index 7c2f1e0428fcb..024586b060fe7 100644 --- a/recipes/ffmpeg/config.yml +++ b/recipes/ffmpeg/config.yml @@ -1,4 +1,6 @@ versions: + "7.0.1": + folder: "all" "6.1.1": folder: "all" "6.1": From 7c7c0775199ed23c9512f959e3befeb2333e0b34 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 5 Aug 2024 15:52:54 +0900 Subject: [PATCH 251/641] (#24816) libcoro: add version 0.12.1 --- recipes/libcoro/all/conandata.yml | 3 +++ recipes/libcoro/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/libcoro/all/conandata.yml b/recipes/libcoro/all/conandata.yml index 4568b8acd6407..08d3f083c5782 100644 --- a/recipes/libcoro/all/conandata.yml +++ b/recipes/libcoro/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.12.1": + url: "https://github.com/jbaldwin/libcoro/archive/refs/tags/v0.12.1.tar.gz" + sha256: "2cb6f45fc73dad6008cc930d92939785684835e03b12df422b98fcab9e393add" "0.12": url: "https://github.com/jbaldwin/libcoro/archive/refs/tags/v0.12.tar.gz" sha256: "9a89f329e12fda7d6425523fb2cbd1ebaf41e0e1d41e210d93ad4f3a196333a2" diff --git a/recipes/libcoro/config.yml b/recipes/libcoro/config.yml index 2dd41938c3d09..3e368a245af64 100644 --- a/recipes/libcoro/config.yml +++ b/recipes/libcoro/config.yml @@ -1,4 +1,6 @@ versions: + "0.12.1": + folder: all "0.12": folder: all "0.11.1": From 4c528ede8a746b4a6072c3901bfeaf5175b0dac5 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 5 Aug 2024 17:33:33 +0900 Subject: [PATCH 252/641] (#24820) sfl: add version 1.8.0 --- recipes/sfl/all/conandata.yml | 3 +++ recipes/sfl/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/sfl/all/conandata.yml b/recipes/sfl/all/conandata.yml index 915488f13fa26..93608ba5ad222 100644 --- a/recipes/sfl/all/conandata.yml +++ b/recipes/sfl/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.8.0": + url: "https://github.com/slavenf/sfl-library/archive/refs/tags/1.8.0.tar.gz" + sha256: "bb473a8e0b46ecff957c06112593b9a4104e0d1ec8e9d5840ff33c20ad3a243e" "1.7.0": url: "https://github.com/slavenf/sfl-library/archive/refs/tags/1.7.0.tar.gz" sha256: "9e09bacc51cfb085c4a6030f90cbea45685de608900d6b7b3c0a9f4971682652" diff --git a/recipes/sfl/config.yml b/recipes/sfl/config.yml index 1001b75a17a81..e2decd2fe802d 100644 --- a/recipes/sfl/config.yml +++ b/recipes/sfl/config.yml @@ -1,4 +1,6 @@ versions: + "1.8.0": + folder: "all" "1.7.0": folder: "all" "1.6.0": From 6db52b846e1a48e1a97c68e031c743965166350e Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 5 Aug 2024 17:52:43 +0900 Subject: [PATCH 253/641] (#24821) daw_header_libraries: add version 2.106.2 --- recipes/daw_header_libraries/all/conandata.yml | 3 +++ recipes/daw_header_libraries/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/daw_header_libraries/all/conandata.yml b/recipes/daw_header_libraries/all/conandata.yml index 7a91f0409f234..bac687052b675 100644 --- a/recipes/daw_header_libraries/all/conandata.yml +++ b/recipes/daw_header_libraries/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.106.2": + url: "https://github.com/beached/header_libraries/archive/v2.106.2.tar.gz" + sha256: "33609d83aec5a6081efebf871627b7a8bddc2b7f0eb8d4ac14756d403d29d089" "2.106.1": url: "https://github.com/beached/header_libraries/archive/v2.106.1.tar.gz" sha256: "393815fbf249ca1220a216899cae3d2672ca193f9db228a0b99925a9b0f90854" diff --git a/recipes/daw_header_libraries/config.yml b/recipes/daw_header_libraries/config.yml index 2d8e64c1e7c3e..f94348de2d647 100644 --- a/recipes/daw_header_libraries/config.yml +++ b/recipes/daw_header_libraries/config.yml @@ -1,4 +1,6 @@ versions: + "2.106.2": + folder: all "2.106.1": folder: all "2.106.0": From 6938c663d06c6286ccb6baa787e4cc00d7050713 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 5 Aug 2024 18:13:30 +0900 Subject: [PATCH 254/641] (#24811) 7bitdi: add version 3.4.0 --- recipes/7bitdi/all/conandata.yml | 3 +++ recipes/7bitdi/all/conanfile.py | 2 +- recipes/7bitdi/config.yml | 2 ++ 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/recipes/7bitdi/all/conandata.yml b/recipes/7bitdi/all/conandata.yml index 46ec1df1a2623..ad96c33d43330 100644 --- a/recipes/7bitdi/all/conandata.yml +++ b/recipes/7bitdi/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.4.0": + url: "https://github.com/7bitcoder/7bitDI/archive/refs/tags/v3.4.0.tar.gz" + sha256: "8381102f5966a5d83cf590b8fa45904d055d74ec90822628240786ab100fb929" "3.3.0": url: "https://github.com/7bitcoder/7bitDI/archive/refs/tags/v3.3.0.tar.gz" sha256: "b9ddb2fc263c79cb414544e97d44dcc8cd1e1a91b38129d96b7051728a4583b9" diff --git a/recipes/7bitdi/all/conanfile.py b/recipes/7bitdi/all/conanfile.py index 9a614d07b3d74..6709e44476413 100644 --- a/recipes/7bitdi/all/conanfile.py +++ b/recipes/7bitdi/all/conanfile.py @@ -1,7 +1,7 @@ from conan import ConanFile from conan.errors import ConanInvalidConfiguration from conan.tools.build import check_min_cppstd -from conan.tools.cmake import CMake, CMakeToolchain, CMakeDeps, cmake_layout +from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout from conan.tools.files import get, copy, rmdir from conan.tools.scm import Version import os diff --git a/recipes/7bitdi/config.yml b/recipes/7bitdi/config.yml index 37a63b9d3b41b..3fbfbf1ec3bc5 100644 --- a/recipes/7bitdi/config.yml +++ b/recipes/7bitdi/config.yml @@ -1,4 +1,6 @@ versions: + "3.4.0": + folder: all "3.3.0": folder: all "3.2.0": From 9a168c19a81b650fc29b93d2fdcea5c903d1eb36 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Mon, 5 Aug 2024 13:10:34 +0300 Subject: [PATCH 255/641] (#21956) libxshmfence: add v1.3.2 --- recipes/libxshmfence/all/conandata.yml | 5 ++++- recipes/libxshmfence/config.yml | 2 ++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/recipes/libxshmfence/all/conandata.yml b/recipes/libxshmfence/all/conandata.yml index 8c16f251fa486..21938ecba1296 100644 --- a/recipes/libxshmfence/all/conandata.yml +++ b/recipes/libxshmfence/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.3.2": + url: "https://www.x.org/archive/individual/lib/libxshmfence-1.3.2.tar.gz" + sha256: "e93a85099604beb244ee756dcaf70e18b08701c1ca84c4de0126cd71bd6c8181" "1.3": - url: "https://www.x.org/archive//individual/lib/libxshmfence-1.3.tar.gz" + url: "https://www.x.org/archive/individual/lib/libxshmfence-1.3.tar.gz" sha256: "7eb3d46ad91bab444f121d475b11b39273142d090f7e9ac43e6a87f4ff5f902c" diff --git a/recipes/libxshmfence/config.yml b/recipes/libxshmfence/config.yml index d2eb4ed4a511f..5fbc1fce7e8d6 100644 --- a/recipes/libxshmfence/config.yml +++ b/recipes/libxshmfence/config.yml @@ -1,3 +1,5 @@ versions: + "1.3.2": + folder: all "1.3": folder: all From fa21cd32f0b5df71d2aa8a5283538a326937f584 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 5 Aug 2024 19:53:31 +0900 Subject: [PATCH 256/641] (#24791) simdjson: add version 3.10.0 --- recipes/simdjson/all/conandata.yml | 3 +++ recipes/simdjson/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/simdjson/all/conandata.yml b/recipes/simdjson/all/conandata.yml index b9b9a0dfe167a..ce05f59a5be18 100644 --- a/recipes/simdjson/all/conandata.yml +++ b/recipes/simdjson/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.10.0": + url: "https://github.com/simdjson/simdjson/archive/v3.10.0.tar.gz" + sha256: "9c30552f1dd0ee3d0832bb1c6b7b97d813b18d5ef294c10dcb6fc242e5947de8" "3.9.3": url: "https://github.com/simdjson/simdjson/archive/v3.9.3.tar.gz" sha256: "2e3d10abcde543d3dd8eba9297522cafdcebdd1db4f51b28f3bc95bf1d6ad23c" diff --git a/recipes/simdjson/config.yml b/recipes/simdjson/config.yml index a10abda6a7a1a..884caaae676a0 100644 --- a/recipes/simdjson/config.yml +++ b/recipes/simdjson/config.yml @@ -1,4 +1,6 @@ versions: + "3.10.0": + folder: all "3.9.3": folder: all "3.9.2": From 09f2e2b8ba04253a777fef5af6963bbebe7eaadd Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Mon, 5 Aug 2024 12:22:14 +0100 Subject: [PATCH 257/641] (#24823) [bot] Update authorized users list (2024-08-05) * Add/remove users to Access Request * Update waitlist Signed-off-by: Uilian Ries * Update .c3i/authorized_users.yml * Update .c3i/waitlist_users.yml * Allow ciclark user 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 | 8 ++++++++ .c3i/waitlist_users.yml | 1 + 2 files changed, 9 insertions(+) diff --git a/.c3i/authorized_users.yml b/.c3i/authorized_users.yml index 50a877da3fb5c..bc215f6e77a17 100644 --- a/.c3i/authorized_users.yml +++ b/.c3i/authorized_users.yml @@ -1388,3 +1388,11 @@ authorized_users: - fpoirotte - cuppajoeman - vsbogd +- Nevermore1994 +- maciejjablonsky +- luc-c +- willprice +- pasbi +- liuzicheng1987 +- guyutongxue +- ciclark diff --git a/.c3i/waitlist_users.yml b/.c3i/waitlist_users.yml index 7976423523961..f1bce7d2ec734 100644 --- a/.c3i/waitlist_users.yml +++ b/.c3i/waitlist_users.yml @@ -6,3 +6,4 @@ waitlist_users: - synaptics-lspintzyk - wer14 - connor-i-clark +- NeXuS4Developer From 5cc80c47dd9e139a036d972debae9246fc39083d Mon Sep 17 00:00:00 2001 From: Ingmar Rieger Date: Mon, 5 Aug 2024 13:52:42 +0200 Subject: [PATCH 258/641] (#24802) OpenImageIO: Add version 2.5.14.0 * Add OpenImageIO v2.5.14.0 * Add source for v2.5.14.0 * Add fixed patch for CMake files * Match openjpeg required by ffmpeg --- recipes/openimageio/all/conandata.yml | 7 + recipes/openimageio/all/conanfile.py | 2 +- .../all/patches/2.5.14.0-cmake-targets.patch | 521 ++++++++++++++++++ recipes/openimageio/config.yml | 2 + 4 files changed, 531 insertions(+), 1 deletion(-) create mode 100644 recipes/openimageio/all/patches/2.5.14.0-cmake-targets.patch diff --git a/recipes/openimageio/all/conandata.yml b/recipes/openimageio/all/conandata.yml index b5f547e360340..7a399cb02ec7e 100644 --- a/recipes/openimageio/all/conandata.yml +++ b/recipes/openimageio/all/conandata.yml @@ -17,6 +17,9 @@ sources: "2.5.13.1": url: "https://github.com/AcademySoftwareFoundation/OpenImageIO/archive/refs/tags/v2.5.13.1.tar.gz" sha256: "0fbaec6c15215e11cf4545128c4d64eaa97b461cb9b5fb8a76f9a7d35c99e3df" + "2.5.14.0": + url: "https://github.com/AcademySoftwareFoundation/OpenImageIO/archive/refs/tags/v2.5.14.0.tar.gz" + sha256: "0e74372c658f083820872311d126867f10d59b526a856672746de7b2c772034d" patches: "2.4.7.1": - patch_file: "patches/2.4.7.1-cmake-targets.patch" @@ -45,3 +48,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.14.0": + - patch_file: "patches/2.5.14.0-cmake-targets.patch" + patch_description: "Ensure project builds correctly with Conan (don't pick up disabled dependencies from the system, fix different spelling of libraries)" + patch_type: "conan" diff --git a/recipes/openimageio/all/conanfile.py b/recipes/openimageio/all/conanfile.py index 6794e7f732e57..9c644aaaec97b 100644 --- a/recipes/openimageio/all/conanfile.py +++ b/recipes/openimageio/all/conanfile.py @@ -120,7 +120,7 @@ def requirements(self): if self.options.with_raw: self.requires("libraw/0.21.2") if self.options.with_openjpeg: - self.requires("openjpeg/2.5.0") + self.requires("openjpeg/2.5.2") if self.options.with_openvdb: self.requires("openvdb/8.0.1") if self.options.with_ptex: diff --git a/recipes/openimageio/all/patches/2.5.14.0-cmake-targets.patch b/recipes/openimageio/all/patches/2.5.14.0-cmake-targets.patch new file mode 100644 index 0000000000000..859c8562899a5 --- /dev/null +++ b/recipes/openimageio/all/patches/2.5.14.0-cmake-targets.patch @@ -0,0 +1,521 @@ +diff --git CMakeLists.txt CMakeLists.txt +index 3ff009229..d38941db0 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 fe581e723..ab2fbb7f5 100644 +--- src/cmake/externalpackages.cmake ++++ src/cmake/externalpackages.cmake +@@ -48,14 +48,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 () +@@ -111,9 +111,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 () +@@ -140,11 +140,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 +@@ -160,7 +164,7 @@ else () + endif() + + # From pythonutils.cmake +-find_python() ++#find_python() + if (USE_PYTHON) + checked_find_package (pybind11 REQUIRED VERSION_MIN 2.4.2) + endif () +@@ -170,111 +174,107 @@ 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.16 +- RECOMMEND_MIN_REASON "for orientation 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 (OpenVDB_FOUND 0) +- add_compile_definitions(DISABLE_OPENVDB=1) +-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) ++ # Upstream contains a version check to ensure that CXX 17 or newer is used with ++ # OpenVDB >= 10.1. This is ensured by the conanfile for openvdb ++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) +@@ -298,13 +298,13 @@ macro (find_or_download_robin_map) + # for an installed version. Still prefer a copy that seems to be + # locally installed in this tree. + if (NOT BUILD_ROBINMAP_FORCE) +- find_package (Robinmap QUIET) ++ find_package (tsl-robin-map REQUIRED) + endif () + # If an external copy wasn't found and we requested that missing + # packages be built, or we we are forcing a local copy to be built, then + # download and build it. + # Download the headers from github +- if ((BUILD_MISSING_ROBINMAP AND NOT ROBINMAP_FOUND) OR BUILD_ROBINMAP_FORCE) ++ if ((BUILD_MISSING_ROBINMAP AND NOT tsl-robin-map_FOUND) OR BUILD_ROBINMAP_FORCE) + message (STATUS "Downloading local Tessil/robin-map") + set (ROBINMAP_INSTALL_DIR "${PROJECT_SOURCE_DIR}/ext/robin-map") + set (ROBINMAP_GIT_REPOSITORY "https://github.com/Tessil/robin-map") +@@ -322,7 +322,7 @@ macro (find_or_download_robin_map) + endif () + set (ROBINMAP_INCLUDE_DIR "${ROBINMAP_INSTALL_DIR}/include") + endif () +- checked_find_package (Robinmap REQUIRED) ++ checked_find_package (tsl-robin-map REQUIRED) + endmacro() + + find_or_download_robin_map () +@@ -341,7 +341,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 +@@ -376,7 +376,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 18b7632a3..c558c4780 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 4aae3708205a1..66bdf8b724be0 100644 --- a/recipes/openimageio/config.yml +++ b/recipes/openimageio/config.yml @@ -11,3 +11,5 @@ versions: folder: all "2.5.13.1": folder: all + "2.5.14.0": + folder: all From be69e79ff474828c68474e7080e716a5cc96050a Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Mon, 5 Aug 2024 14:32:34 +0200 Subject: [PATCH 259/641] (#24804) onnx: add version 1.16.2 --- recipes/onnx/all/conandata.yml | 3 +++ recipes/onnx/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/onnx/all/conandata.yml b/recipes/onnx/all/conandata.yml index 0ac824c98a00d..a143774132c75 100644 --- a/recipes/onnx/all/conandata.yml +++ b/recipes/onnx/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.16.2": + url: "https://github.com/onnx/onnx/archive/v1.16.2.tar.gz" + sha256: "84fc1c3d6133417f8a13af6643ed50983c91dacde5ffba16cc8bb39b22c2acbb" "1.16.1": url: "https://github.com/onnx/onnx/archive/v1.16.1.tar.gz" sha256: "0e6aa2c0a59bb2d90858ad0040ea1807117cc2f05b97702170f18e6cd6b66fb3" diff --git a/recipes/onnx/config.yml b/recipes/onnx/config.yml index 9f508d50a4d4b..62dc832f13021 100644 --- a/recipes/onnx/config.yml +++ b/recipes/onnx/config.yml @@ -1,4 +1,6 @@ versions: + "1.16.2": + folder: all "1.16.1": folder: all "1.16.0": From 27532f7789328e7e7cda90a974d0cec158e7d789 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 5 Aug 2024 22:13:26 +0900 Subject: [PATCH 260/641] (#24805) c-ares: add version 1.33.0 * c-ares: add version 1.33.0 * support older linux kernel * make patch file --- recipes/c-ares/all/conandata.yml | 9 +++++++++ recipes/c-ares/all/conanfile.py | 6 +++++- .../all/patches/1.33.0-0001-fix-tcp-fastopen.patch | 13 +++++++++++++ recipes/c-ares/config.yml | 2 ++ 4 files changed, 29 insertions(+), 1 deletion(-) create mode 100644 recipes/c-ares/all/patches/1.33.0-0001-fix-tcp-fastopen.patch diff --git a/recipes/c-ares/all/conandata.yml b/recipes/c-ares/all/conandata.yml index 67e69235450f7..6945ba0452847 100644 --- a/recipes/c-ares/all/conandata.yml +++ b/recipes/c-ares/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.33.0": + url: "https://github.com/c-ares/c-ares/releases/download/v1.33.0/c-ares-1.33.0.tar.gz" + sha256: "3e41df2f172041eb4ecb754a464c11ccc5046b2a1c8b1d6a40dac45d3a3b2346" "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" @@ -31,3 +34,9 @@ sources: "1.19.1": url: "https://github.com/c-ares/c-ares/releases/download/cares-1_19_1/c-ares-1.19.1.tar.gz" sha256: "321700399b72ed0e037d0074c629e7741f6b2ec2dda92956abe3e9671d3e268e" +patches: + "1.33.0": + - patch_file: "patches/1.33.0-0001-fix-tcp-fastopen.patch" + patch_description: "fix compilation error for TCP_FASTOPEN_CONNECT" + patch_type: "portability" + patch_source: "https://github.com/c-ares/c-ares/commit/4abdf7de3678d98f474bd2abeedea741f6c50231" diff --git a/recipes/c-ares/all/conanfile.py b/recipes/c-ares/all/conanfile.py index 635628761aed5..e4428917c336f 100644 --- a/recipes/c-ares/all/conanfile.py +++ b/recipes/c-ares/all/conanfile.py @@ -1,7 +1,7 @@ from conan import ConanFile from conan.tools.apple import is_apple_os from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout -from conan.tools.files import collect_libs, copy, get, rm, rmdir +from conan.tools.files import collect_libs, copy, get, rm, rmdir, apply_conandata_patches, export_conandata_patches from conan.tools.scm import Version import os @@ -28,6 +28,9 @@ class CAresConan(ConanFile): "tools": True, } + def export_sources(self): + export_conandata_patches(self) + def config_options(self): if self.settings.os == "Windows": del self.options.fPIC @@ -54,6 +57,7 @@ def generate(self): tc.generate() def build(self): + apply_conandata_patches(self) cmake = CMake(self) cmake.configure() cmake.build() diff --git a/recipes/c-ares/all/patches/1.33.0-0001-fix-tcp-fastopen.patch b/recipes/c-ares/all/patches/1.33.0-0001-fix-tcp-fastopen.patch new file mode 100644 index 0000000000000..a5aff6174105f --- /dev/null +++ b/recipes/c-ares/all/patches/1.33.0-0001-fix-tcp-fastopen.patch @@ -0,0 +1,13 @@ +diff --git a/src/lib/ares__socket.c b/src/lib/ares__socket.c +index 2e360ef..86e281f 100644 +--- a/src/lib/ares__socket.c ++++ b/src/lib/ares__socket.c +@@ -56,7 +56,7 @@ + #include + #include + +-#if defined(__linux__) && defined(MSG_FASTOPEN) ++#if defined(__linux__) && defined(TCP_FASTOPEN_CONNECT) + # define TFO_SUPPORTED 1 + # define TFO_SKIP_CONNECT 0 + # define TFO_USE_SENDTO 0 diff --git a/recipes/c-ares/config.yml b/recipes/c-ares/config.yml index fd77325df168c..9cfeb7e016eec 100644 --- a/recipes/c-ares/config.yml +++ b/recipes/c-ares/config.yml @@ -1,4 +1,6 @@ versions: + "1.33.0": + folder: all "1.32.3": folder: all "1.32.2": From 7e48195f757b11f0263d902a568c746d2729a73f Mon Sep 17 00:00:00 2001 From: Esteban Dugueperoux <43169544+EstebanDugueperoux2@users.noreply.github.com> Date: Mon, 5 Aug 2024 15:52:08 +0200 Subject: [PATCH 261/641] (#24807) Add release 1.4.4 of AMGCL MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Add release 1.4.4 of AMGCL * Add optional boost dependency as in 1.4.4 AMGCL supports a standalone environment * Bump boost dependency Co-authored-by: Abril Rincón Blanco --------- Co-authored-by: PerseoGI Co-authored-by: Abril Rincón Blanco --- recipes/amgcl/all/conandata.yml | 3 +++ recipes/amgcl/all/conanfile.py | 13 +++++++++---- recipes/amgcl/config.yml | 2 ++ 3 files changed, 14 insertions(+), 4 deletions(-) diff --git a/recipes/amgcl/all/conandata.yml b/recipes/amgcl/all/conandata.yml index cbd774ff5f231..2059663ce0b33 100644 --- a/recipes/amgcl/all/conandata.yml +++ b/recipes/amgcl/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.4.4": + url: "https://github.com/ddemidov/amgcl/archive/1.4.4.tar.gz" + sha256: "02fd5418e14d669422f65fc739ce72bf9516ced2d8942574d4b8caa05dda9d8c" "1.4.3": url: "https://github.com/ddemidov/amgcl/archive/1.4.3.tar.gz" sha256: "e920d5767814ce697d707d1f359a16c9b9eb79eba28fe19e14c18c2a505fe0ad" diff --git a/recipes/amgcl/all/conanfile.py b/recipes/amgcl/all/conanfile.py index d2ddd6171e66f..e04106ab75c2b 100644 --- a/recipes/amgcl/all/conanfile.py +++ b/recipes/amgcl/all/conanfile.py @@ -2,6 +2,7 @@ from conan.tools.build import check_min_cppstd from conan.tools.files import copy, get from conan.tools.layout import basic_layout +from conan.tools.scm import Version import os required_conan_version = ">=1.51.1" @@ -20,12 +21,19 @@ class AmgclConan(ConanFile): package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True + options = { 'with_boost': [True, False] } + default_options = { 'with_boost': True } + + def config_options(self): + if Version(self.version) < "1.4.4": + del self.options.with_boost def layout(self): basic_layout(self, src_folder="src") def requirements(self): - self.requires("boost/1.81.0") + if self.options.get_safe("with_boost"): + self.requires("boost/1.85.0") def package_id(self): self.info.clear() @@ -37,9 +45,6 @@ def validate(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.md", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) copy(self, "*", src=os.path.join(self.source_folder, "amgcl"), diff --git a/recipes/amgcl/config.yml b/recipes/amgcl/config.yml index 1d12970eb4fba..02bed7da76340 100644 --- a/recipes/amgcl/config.yml +++ b/recipes/amgcl/config.yml @@ -1,4 +1,6 @@ versions: + "1.4.4": + folder: all "1.4.3": folder: all "1.4.2": From 7d7334017772cd5f329ecf150cba2f229e216a3f Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 5 Aug 2024 23:11:54 +0900 Subject: [PATCH 262/641] (#24812) cpp-yyjson: add version 0.6.0 --- recipes/cpp-yyjson/all/conandata.yml | 3 +++ recipes/cpp-yyjson/all/conanfile.py | 5 ++++- recipes/cpp-yyjson/config.yml | 2 ++ 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/recipes/cpp-yyjson/all/conandata.yml b/recipes/cpp-yyjson/all/conandata.yml index a6c03b5fc9f4d..acb24326f9a42 100644 --- a/recipes/cpp-yyjson/all/conandata.yml +++ b/recipes/cpp-yyjson/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.6.0": + url: "https://github.com/yosh-matsuda/cpp-yyjson/archive/refs/tags/v0.6.0.tar.gz" + sha256: "e146e5e2de023a83ffafba52320506bd25512e6ae9d13ee7836110f659253914" "0.5.0": url: "https://github.com/yosh-matsuda/cpp-yyjson/archive/refs/tags/v0.5.0.tar.gz" sha256: "c1d44460c9ca3c21d5cfaea882ffaca83565c24984c5d17322e0b74a84ececfc" diff --git a/recipes/cpp-yyjson/all/conanfile.py b/recipes/cpp-yyjson/all/conanfile.py index b65b4445b46dd..1e453082ca159 100644 --- a/recipes/cpp-yyjson/all/conanfile.py +++ b/recipes/cpp-yyjson/all/conanfile.py @@ -38,7 +38,10 @@ def layout(self): basic_layout(self, src_folder="src") def requirements(self): - self.requires("yyjson/0.9.0") + if Version(self.version) < "0.6.0": + self.requires("yyjson/0.9.0") + else: + self.requires("yyjson/0.10.0") self.requires("fmt/10.2.1") self.requires("nameof/0.10.4") diff --git a/recipes/cpp-yyjson/config.yml b/recipes/cpp-yyjson/config.yml index ca7b2c3985d5e..33d7618432d30 100644 --- a/recipes/cpp-yyjson/config.yml +++ b/recipes/cpp-yyjson/config.yml @@ -1,3 +1,5 @@ versions: + "0.6.0": + folder: all "0.5.0": folder: all From 0cace0c63838eaf004e985ee9447568ee6dcabde Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 5 Aug 2024 23:32:21 +0900 Subject: [PATCH 263/641] (#24818) libinterpolate: add version 2.7 --- recipes/libinterpolate/all/conandata.yml | 16 ++++++++++------ .../libinterpolate/all/test_package/conanfile.py | 1 - recipes/libinterpolate/config.yml | 6 ++++-- 3 files changed, 14 insertions(+), 9 deletions(-) diff --git a/recipes/libinterpolate/all/conandata.yml b/recipes/libinterpolate/all/conandata.yml index 7d38fb0462c3a..a64f016c933a3 100644 --- a/recipes/libinterpolate/all/conandata.yml +++ b/recipes/libinterpolate/all/conandata.yml @@ -1,13 +1,17 @@ sources: - "2.6.2": + "2.7": url: - - "https://github.com/CD3/libInterpolate/archive/refs/tags/2.6.2.tar.gz" - sha256: "42f40c9b77fda6e0c52ed39b522458456e89fb4981d63f812aa158c6f4be8ab0" + - "https://github.com/CD3/libInterpolate/archive/refs/tags/2.7.tar.gz" + sha256: "a502a00d6aee13e9b8ae9af6fafbcb783d5380835e353a0fc85a586ca7e31e43" + "2.6.4": + url: + - "https://github.com/CD3/libInterpolate/archive/refs/tags/2.6.4.tar.gz" + sha256: "231a39fcc87ffc3e03936f7a21abc78ef309c2f1de79bd3ae72c24d78352d666" "2.6.3": url: - "https://github.com/CD3/libInterpolate/archive/refs/tags/2.6.3.tar.gz" sha256: "bb2f253c27594b4e56ed9349630086665f529100eac2cd3cba63d198c3a84ff9" - "2.6.4": + "2.6.2": url: - - "https://github.com/CD3/libInterpolate/archive/refs/tags/2.6.4.tar.gz" - sha256: "231a39fcc87ffc3e03936f7a21abc78ef309c2f1de79bd3ae72c24d78352d666" + - "https://github.com/CD3/libInterpolate/archive/refs/tags/2.6.2.tar.gz" + sha256: "42f40c9b77fda6e0c52ed39b522458456e89fb4981d63f812aa158c6f4be8ab0" diff --git a/recipes/libinterpolate/all/test_package/conanfile.py b/recipes/libinterpolate/all/test_package/conanfile.py index 48499fa0989d9..e845ae751a301 100644 --- a/recipes/libinterpolate/all/test_package/conanfile.py +++ b/recipes/libinterpolate/all/test_package/conanfile.py @@ -4,7 +4,6 @@ import os -# It will become the standard on Conan 2.x class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" diff --git a/recipes/libinterpolate/config.yml b/recipes/libinterpolate/config.yml index 2f31497672d43..45546f7415b6d 100644 --- a/recipes/libinterpolate/config.yml +++ b/recipes/libinterpolate/config.yml @@ -1,7 +1,9 @@ versions: - "2.6.2": + "2.7": + folder: all + "2.6.4": folder: all "2.6.3": folder: all - "2.6.4": + "2.6.2": folder: all From 5f260b5ba6285f84298890a24485bc970d2e13dd Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 5 Aug 2024 23:51:45 +0900 Subject: [PATCH 264/641] (#24822) libdeflate: add version 1.21 --- recipes/libdeflate/all/conandata.yml | 3 +++ recipes/libdeflate/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/libdeflate/all/conandata.yml b/recipes/libdeflate/all/conandata.yml index 96cfe2bce2928..21a642dd647d6 100644 --- a/recipes/libdeflate/all/conandata.yml +++ b/recipes/libdeflate/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.21": + url: "https://github.com/ebiggers/libdeflate/archive/refs/tags/v1.21.tar.gz" + sha256: "50827d312c0413fbd41b0628590cd54d9ad7ebf88360cba7c0e70027942dbd01" "1.20": url: "https://github.com/ebiggers/libdeflate/archive/refs/tags/v1.20.tar.gz" sha256: "ed1454166ced78913ff3809870a4005b7170a6fd30767dc478a09b96847b9c2a" diff --git a/recipes/libdeflate/config.yml b/recipes/libdeflate/config.yml index 1214fb379a2c9..6cfddb7e0e6f2 100644 --- a/recipes/libdeflate/config.yml +++ b/recipes/libdeflate/config.yml @@ -1,4 +1,6 @@ versions: + "1.21": + folder: "all" "1.20": folder: "all" "1.19": From 82c7226ee1abbb59cbe6c39956e984e85319b5a0 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 6 Aug 2024 01:53:54 +0900 Subject: [PATCH 265/641] (#24809) libjxl: disable linking static libgcc and libstdc++ MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * libjxl: disable linking static libgcc and libstdc++ * revert build_requirements * revert jpegli flags * set JPEGXL_STATIC false * Recipe cleanup, remove old 0.6.1 version --------- Co-authored-by: Abril Rincón Blanco --- recipes/libjxl/all/conandata.yml | 3 --- recipes/libjxl/all/conanfile.py | 18 ++---------------- recipes/libjxl/config.yml | 2 -- 3 files changed, 2 insertions(+), 21 deletions(-) diff --git a/recipes/libjxl/all/conandata.yml b/recipes/libjxl/all/conandata.yml index a7d688f285681..bfe21c7baaca3 100644 --- a/recipes/libjxl/all/conandata.yml +++ b/recipes/libjxl/all/conandata.yml @@ -8,6 +8,3 @@ sources: "0.8.2": url: "https://github.com/libjxl/libjxl/archive/v0.8.2.zip" sha256: "1f2ccc06f07c4f6cf4aa6c7763ba0598f12a7544d597f02beb07f615eb08ccf0" - "0.6.1": - url: "https://github.com/libjxl/libjxl/archive/v0.6.1.zip" - sha256: "3e4877daef07724aa6f490bf80c45ada804f35fe3cce59c27e89c5ae3099535a" diff --git a/recipes/libjxl/all/conanfile.py b/recipes/libjxl/all/conanfile.py index 1f4b5564868a0..e7c69a5172e12 100644 --- a/recipes/libjxl/all/conanfile.py +++ b/recipes/libjxl/all/conanfile.py @@ -63,10 +63,7 @@ def layout(self): def requirements(self): self.requires("brotli/1.1.0") - if Version(self.version) >= "0.7": - self.requires("highway/1.1.0") - else: - self.requires("highway/0.12.2") + self.requires("highway/1.1.0") self.requires("lcms/2.16") if self.options.with_tcmalloc: self.requires("gperftools/2.15") @@ -74,9 +71,6 @@ def requirements(self): def validate(self): if self.settings.compiler.cppstd: check_min_cppstd(self, 11) - if self.version == "0.6.1" and is_msvc(self) and self.options.shared: - # Fails with a missing DLL error in test_package - raise ConanInvalidConfiguration(f"{self.ref} does not support shared builds with MSVC") def build_requirements(self): # Require newer CMake, which allows INCLUDE_DIRECTORIES to be set on INTERFACE targets @@ -92,7 +86,7 @@ def generate(self): tc = CMakeToolchain(self) tc.variables["CMAKE_PROJECT_LIBJXL_INCLUDE"] = "conan_deps.cmake" tc.variables["BUILD_TESTING"] = False - tc.variables["JPEGXL_STATIC"] = not self.options.shared # applies to tools only + tc.variables["JPEGXL_STATIC"] = False tc.variables["JPEGXL_BUNDLE_LIBPNG"] = False tc.variables["JPEGXL_ENABLE_BENCHMARK"] = False tc.variables["JPEGXL_ENABLE_DOXYGEN"] = False @@ -161,14 +155,6 @@ def _patch_sources(self): fpic = "ON" if self.options.get_safe("fPIC", True) else "OFF" replace_in_file(self, path, "POSITION_INDEPENDENT_CODE ON", f"POSITION_INDEPENDENT_CODE {fpic}") - if Version(self.version) < "0.7": - replace_in_file(self, os.path.join(self.source_folder, "lib", "jxl.cmake"), - " DESTINATION ${CMAKE_INSTALL_LIBDIR}", - " RUNTIME DESTINATION bin LIBRARY DESTINATION lib ARCHIVE DESTINATION lib") - if self.settings.compiler not in ["gcc", "clang"]: - replace_in_file(self, os.path.join(self.source_folder, "lib", "jxl.cmake"), - "-Wl,--exclude-libs=ALL", "") - def build(self): self._patch_sources() cmake = CMake(self) diff --git a/recipes/libjxl/config.yml b/recipes/libjxl/config.yml index efc7447d06943..040248cefb07f 100644 --- a/recipes/libjxl/config.yml +++ b/recipes/libjxl/config.yml @@ -5,5 +5,3 @@ versions: folder: all "0.8.2": folder: all - "0.6.1": - folder: all From 7a4c1ec29f646681e74940164c181199a32c338e Mon Sep 17 00:00:00 2001 From: Raziel Alphadios <64050682+RazielXYZ@users.noreply.github.com> Date: Mon, 5 Aug 2024 20:48:19 +0300 Subject: [PATCH 266/641] (#23080) gaia-ecs: new recipe * gaia-ecs: new recipe * Add pthread * Remove threads from test cmakelists * Change to 0.8.6 --- recipes/gaia-ecs/all/conandata.yml | 4 + recipes/gaia-ecs/all/conanfile.py | 74 +++++++++++++++++++ .../gaia-ecs/all/test_package/CMakeLists.txt | 8 ++ .../gaia-ecs/all/test_package/conanfile.py | 26 +++++++ .../all/test_package/test_package.cpp | 9 +++ recipes/gaia-ecs/config.yml | 3 + 6 files changed, 124 insertions(+) create mode 100644 recipes/gaia-ecs/all/conandata.yml create mode 100644 recipes/gaia-ecs/all/conanfile.py create mode 100644 recipes/gaia-ecs/all/test_package/CMakeLists.txt create mode 100644 recipes/gaia-ecs/all/test_package/conanfile.py create mode 100644 recipes/gaia-ecs/all/test_package/test_package.cpp create mode 100644 recipes/gaia-ecs/config.yml diff --git a/recipes/gaia-ecs/all/conandata.yml b/recipes/gaia-ecs/all/conandata.yml new file mode 100644 index 0000000000000..0f7a267f7719c --- /dev/null +++ b/recipes/gaia-ecs/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "0.8.6": + url: "https://github.com/richardbiely/gaia-ecs/archive/refs/tags/v0.8.6.tar.gz" + sha256: "9CAC0AC6F2FB19DFFF07D097F5DC0A97FF1CA4AEC3405219CB2D2A03601AB03F" diff --git a/recipes/gaia-ecs/all/conanfile.py b/recipes/gaia-ecs/all/conanfile.py new file mode 100644 index 0000000000000..ad8069272b4bb --- /dev/null +++ b/recipes/gaia-ecs/all/conanfile.py @@ -0,0 +1,74 @@ +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.scm import Version +from conan.tools.build import check_min_cppstd +from conan.tools.files import copy, get +from conan.tools.layout import basic_layout +import os + +required_conan_version = ">=1.52.0" + + +class GaiaConan(ConanFile): + name = "gaia-ecs" + description = "A simple and powerful entity component system (ECS) written in C++17 " + topics = ("gamedev", "performance", "entity", "ecs") + homepage = "https://github.com/richardbiely/gaia-ecs" + url = "https://github.com/conan-io/conan-center-index" + license = "MIT" + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" + + @property + def _min_cppstd(self): + return "17" + + @property + def _compilers_minimum_version(self): + return { + "Visual Studio": "16", + "msvc": "192", + "gcc": "10", + "clang": "7.0", + "apple-clang": "10.0", + "intel-cc": "2021.2" + } + + def layout(self): + basic_layout(self, src_folder="src") + + def package_id(self): + self.info.clear() + + def validate(self): + if self.settings.compiler.get_safe("cppstd"): + check_min_cppstd(self, self._min_cppstd) + + minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) + if minimum_version and Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration( + f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." + ) + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def build(self): + pass + + def package(self): + copy(self, "LICENSE", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + copy(self, "*", src=os.path.join(self.source_folder, "include"), dst=os.path.join(self.package_folder, "include")) + + def package_info(self): + if self.settings.os in ["FreeBSD", "Linux"]: + self.cpp_info.system_libs = ["pthread"] + + self.cpp_info.set_property("cmake_file_name", "gaia") + self.cpp_info.set_property("cmake_target_name", "gaia::gaia") + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] + + # TODO: remove when v1 support drops + self.cpp_info.names["cmake_find_package"] = "gaia" + self.cpp_info.names["cmake_find_package_multi"] = "gaia" diff --git a/recipes/gaia-ecs/all/test_package/CMakeLists.txt b/recipes/gaia-ecs/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..d9ccb13290576 --- /dev/null +++ b/recipes/gaia-ecs/all/test_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.8) +project(test_package LANGUAGES CXX) + +find_package(gaia REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE gaia::gaia) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) diff --git a/recipes/gaia-ecs/all/test_package/conanfile.py b/recipes/gaia-ecs/all/test_package/conanfile.py new file mode 100644 index 0000000000000..0a6bc68712d90 --- /dev/null +++ b/recipes/gaia-ecs/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/gaia-ecs/all/test_package/test_package.cpp b/recipes/gaia-ecs/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..105e808a6373e --- /dev/null +++ b/recipes/gaia-ecs/all/test_package/test_package.cpp @@ -0,0 +1,9 @@ +#include + +int main() +{ + gaia::ecs::World w; + gaia::ecs::Entity e = w.add(); + (void) w.valid(e); + return 0; +} diff --git a/recipes/gaia-ecs/config.yml b/recipes/gaia-ecs/config.yml new file mode 100644 index 0000000000000..5169c9c9c27e4 --- /dev/null +++ b/recipes/gaia-ecs/config.yml @@ -0,0 +1,3 @@ +versions: + "0.8.6": + folder: all From 1034686b5b2cca982d82d2c58df18fb176f6fc5d Mon Sep 17 00:00:00 2001 From: Johannes Wolf <519002+johannes-wolf@users.noreply.github.com> Date: Mon, 5 Aug 2024 20:12:18 +0200 Subject: [PATCH 267/641] (#24827) simfil: Bump 0.3.1 + Fix Recipe --- recipes/simfil/all/conandata.yml | 3 +++ recipes/simfil/all/conanfile.py | 4 +++- recipes/simfil/config.yml | 2 ++ 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/recipes/simfil/all/conandata.yml b/recipes/simfil/all/conandata.yml index c2d8a566521d4..706bf72a90673 100644 --- a/recipes/simfil/all/conandata.yml +++ b/recipes/simfil/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.3.1": + url: "https://github.com/Klebert-Engineering/simfil/archive/refs/tags/v0.3.1.tar.gz" + sha256: "caddee2e338041ae5ec56c6a92f14e79ee3d5a0f7eaf327d6b8418fe06dd484e" "0.3.0": url: "https://github.com/Klebert-Engineering/simfil/archive/refs/tags/v0.3.0.tar.gz" sha256: "dea7b063f3f062772fcb49b368954814fc04d66c55db327a53ea008d698cd171" diff --git a/recipes/simfil/all/conanfile.py b/recipes/simfil/all/conanfile.py index 66a16c329cfe6..55dad5c2c07b1 100644 --- a/recipes/simfil/all/conanfile.py +++ b/recipes/simfil/all/conanfile.py @@ -65,7 +65,7 @@ def requirements(self): self.requires("fmt/10.0.0", transitive_headers=True) self.requires("bitsery/5.2.3", transitive_headers=True) if self.options.with_json: - self.requires("nlohmann_json/3.11.2") + self.requires("nlohmann_json/3.11.2", transitive_headers=True) def config_options(self): if self.settings.os == "Windows": @@ -102,3 +102,5 @@ def package(self): def package_info(self): self.cpp_info.libs = ["simfil"] + if self.options.with_json: + self.cpp_info.defines = ["SIMFIL_WITH_MODEL_JSON=1"] diff --git a/recipes/simfil/config.yml b/recipes/simfil/config.yml index 56576fba93cde..1b93823eb7e3e 100644 --- a/recipes/simfil/config.yml +++ b/recipes/simfil/config.yml @@ -1,4 +1,6 @@ versions: + "0.3.1": + folder: all "0.3.0": folder: all "0.2.1": From 04d7b851ca234f29168ba5a908188a643ed6f512 Mon Sep 17 00:00:00 2001 From: Piotr Gaczkowski Date: Mon, 5 Aug 2024 20:52:14 +0200 Subject: [PATCH 268/641] (#24803) Update CMakeFile for ohPipeline --- recipes/ohpipeline/all/conandata.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/ohpipeline/all/conandata.yml b/recipes/ohpipeline/all/conandata.yml index 3d9d1c4c370e7..a9fa8d1a7bd8f 100644 --- a/recipes/ohpipeline/all/conandata.yml +++ b/recipes/ohpipeline/all/conandata.yml @@ -11,8 +11,8 @@ sources: 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" + url: "https://raw.githubusercontent.com/merakiacoustic/ohPipeline/ohMediaPlayer_1.155.1133_meraki2/CMakeLists.txt" + sha256: "0f8701552c2b3331edeedde4c3a1b8120dc419d493f6a2e05b21c9045729d6ff" patches: "1.139.1000": - patch_file: "patches/0001-missing-include.patch" From f102f6ff2d2d66f07d2a67fd6a90284253c48f73 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 6 Aug 2024 04:15:33 +0900 Subject: [PATCH 269/641] (#24828) meson: add version 1.5.1 --- recipes/meson/all/conandata.yml | 3 +++ recipes/meson/all/conanfile.py | 14 +++++--------- recipes/meson/config.yml | 2 ++ 3 files changed, 10 insertions(+), 9 deletions(-) diff --git a/recipes/meson/all/conandata.yml b/recipes/meson/all/conandata.yml index ff346a78a0f7d..1be722fba90a3 100644 --- a/recipes/meson/all/conandata.yml +++ b/recipes/meson/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.5.1": + url: "https://github.com/mesonbuild/meson/archive/1.5.1.tar.gz" + sha256: "55f6acd5bf72c14d4aa5a781993633f84a1d117bdf2c2057735902ced9b81390" "1.5.0": url: "https://github.com/mesonbuild/meson/archive/1.5.0.tar.gz" sha256: "781913826fb6f478eb7d77e1942ab3df39444e4c90e9a3523737e215171db469" diff --git a/recipes/meson/all/conanfile.py b/recipes/meson/all/conanfile.py index f11560d3a45d0..0de8c491aa662 100644 --- a/recipes/meson/all/conanfile.py +++ b/recipes/meson/all/conanfile.py @@ -11,12 +11,12 @@ class MesonConan(ConanFile): name = "meson" - package_type = "application" - description = "Meson is a project to create the best possible next-generation build system" - topics = ("meson", "mesonbuild", "build-system") + description = "a project to create the best possible next-generation build system" + license = "Apache-2.0" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/mesonbuild/meson" - license = "Apache-2.0" + topics = ("mesonbuild", "build-system") + package_type = "application" no_copy_source = True def layout(self): @@ -30,11 +30,7 @@ def package_id(self): self.info.clear() def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) - - def build(self): - pass + get(self, **self.conan_data["sources"][self.version], strip_root=True) def package(self): copy(self, "COPYING", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) diff --git a/recipes/meson/config.yml b/recipes/meson/config.yml index ef65493e12e2f..9b74b18776ede 100644 --- a/recipes/meson/config.yml +++ b/recipes/meson/config.yml @@ -1,4 +1,6 @@ versions: + "1.5.1": + folder: all "1.5.0": folder: all "1.4.1": From c1f646f14adc779c399febd1000397c595326a5b Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 6 Aug 2024 04:51:52 +0900 Subject: [PATCH 270/641] (#24674) simple_enum: add recipe * simple_enum: add recipe * make description simpler * drop support apple-clang 13 --- recipes/simple_enum/all/conandata.yml | 4 + recipes/simple_enum/all/conanfile.py | 74 +++++++++++++++++++ .../all/test_package/CMakeLists.txt | 8 ++ .../simple_enum/all/test_package/conanfile.py | 26 +++++++ .../all/test_package/test_package.cpp | 8 ++ recipes/simple_enum/config.yml | 3 + 6 files changed, 123 insertions(+) create mode 100644 recipes/simple_enum/all/conandata.yml create mode 100644 recipes/simple_enum/all/conanfile.py create mode 100644 recipes/simple_enum/all/test_package/CMakeLists.txt create mode 100644 recipes/simple_enum/all/test_package/conanfile.py create mode 100644 recipes/simple_enum/all/test_package/test_package.cpp create mode 100644 recipes/simple_enum/config.yml diff --git a/recipes/simple_enum/all/conandata.yml b/recipes/simple_enum/all/conandata.yml new file mode 100644 index 0000000000000..6c936b9324135 --- /dev/null +++ b/recipes/simple_enum/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "0.8.0": + url: "https://github.com/arturbac/simple_enum/archive/refs/tags/v0.8.0.tar.gz" + sha256: "b32e723ddb29b6cb2ab93f2376157ee6fd7a4f3c170edddb6a3fb7186068e6ee" diff --git a/recipes/simple_enum/all/conanfile.py b/recipes/simple_enum/all/conanfile.py new file mode 100644 index 0000000000000..6be80c9e19d4d --- /dev/null +++ b/recipes/simple_enum/all/conanfile.py @@ -0,0 +1,74 @@ +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import check_min_cppstd +from conan.tools.files import copy, export_conandata_patches, get +from conan.tools.layout import basic_layout +from conan.tools.scm import Version +import os + +required_conan_version = ">=1.52.0" + +class SimpleEnumConan(ConanFile): + name = "simple_enum" + description = "An Fast, Intuitive and Type-Safe C++ Enumeration Support Library" + license = "BSL-1.0" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/arturbac/simple_enum" + topics = ("serialization", "type-safe", "header-only") + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" + no_copy_source = True + + @property + def _min_cppstd(self): + return 20 + + @property + def _compilers_minimum_version(self): + return { + "gcc": "11", + "clang": "12", + "apple-clang": "14", # apple-clang/13 doesn't support std::convertible_to + "Visual Studio": "16", + "msvc": "192", + } + + def export_sources(self): + export_conandata_patches(self) + + def layout(self): + basic_layout(self, src_folder="src") + + def package_id(self): + self.info.clear() + + def validate(self): + if self.settings.compiler.get_safe("cppstd"): + check_min_cppstd(self, self._min_cppstd) + minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) + if minimum_version and Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration( + f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." + ) + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def package(self): + copy(self, "LICENSE", self.source_folder, os.path.join(self.package_folder, "licenses")) + copy( + self, + "*.hpp", + os.path.join(self.source_folder, "include"), + os.path.join(self.package_folder, "include"), + ) + copy( + self, + "*.h", + os.path.join(self.source_folder, "include"), + os.path.join(self.package_folder, "include"), + ) + + def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] diff --git a/recipes/simple_enum/all/test_package/CMakeLists.txt b/recipes/simple_enum/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..6835a49d78e83 --- /dev/null +++ b/recipes/simple_enum/all/test_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) + +find_package(simple_enum REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE simple_enum::simple_enum) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_20) diff --git a/recipes/simple_enum/all/test_package/conanfile.py b/recipes/simple_enum/all/test_package/conanfile.py new file mode 100644 index 0000000000000..3a91c9439218e --- /dev/null +++ b/recipes/simple_enum/all/test_package/conanfile.py @@ -0,0 +1,26 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def layout(self): + cmake_layout(self) + + def requirements(self): + self.requires(self.tested_reference_str) + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/simple_enum/all/test_package/test_package.cpp b/recipes/simple_enum/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..694699608c7ba --- /dev/null +++ b/recipes/simple_enum/all/test_package/test_package.cpp @@ -0,0 +1,8 @@ +#include + +int main() { + enum struct enum_bounded { v1 = 1, v2, v3, first = v1, last = v3 }; + static_assert(simple_enum::enum_name(enum_bounded::v2) == "v2"); + + return 0; +} diff --git a/recipes/simple_enum/config.yml b/recipes/simple_enum/config.yml new file mode 100644 index 0000000000000..675f954f2770e --- /dev/null +++ b/recipes/simple_enum/config.yml @@ -0,0 +1,3 @@ +versions: + "0.8.0": + folder: all From 14d12f2350cc2d279e53834fe6541bdf07507636 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 6 Aug 2024 05:12:40 +0900 Subject: [PATCH 271/641] (#24705) trantor: add version 1.5.20, remove older versions --- recipes/trantor/all/conandata.yml | 46 +++---------------- recipes/trantor/all/conanfile.py | 3 +- .../patches/1.5.6-0001-include-cstdint.patch | 24 ---------- recipes/trantor/config.yml | 12 +---- 4 files changed, 10 insertions(+), 75 deletions(-) delete mode 100644 recipes/trantor/all/patches/1.5.6-0001-include-cstdint.patch diff --git a/recipes/trantor/all/conandata.yml b/recipes/trantor/all/conandata.yml index 62488c1cd1518..ad57e8dec42a5 100644 --- a/recipes/trantor/all/conandata.yml +++ b/recipes/trantor/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.5.20": + url: "https://github.com/an-tao/trantor/archive/v1.5.20.tar.gz" + sha256: "4d3b98c228aafde1001cff581cf8d1a4a9f71f7b2a85a28978b560aefc21c038" "1.5.19": url: "https://github.com/an-tao/trantor/archive/v1.5.19.tar.gz" sha256: "a2f55a98fd4b0737ba0e2cd77d2f237253e607b2047071be04a9ea76587bb608" @@ -14,22 +17,11 @@ sources: "1.5.13": url: "https://github.com/an-tao/trantor/archive/v1.5.13.tar.gz" sha256: "36f02302bff3ffa8d2b1bff29f451d7a11d215a43963fb95aa543b555de2f9bf" - "1.5.12": - url: "https://github.com/an-tao/trantor/archive/v1.5.12.tar.gz" - sha256: "3389a2ace83fdc0df7e3e7f9cd9fa9b774f8054889a13a73777c71e2d8e2f364" - "1.5.11": - url: "https://github.com/an-tao/trantor/archive/v1.5.11.tar.gz" - sha256: "3cff9653380f65acaa6ffa191620a2783e866a4552c3408a6919759ce4cfc1dc" - "1.5.10": - url: "https://github.com/an-tao/trantor/archive/v1.5.10.tar.gz" - sha256: "2d47775b3091a1a103bea46f5da017dc03c39883f8d717cf6ba24bdcdf01a15d" - "1.5.8": - url: "https://github.com/an-tao/trantor/archive/v1.5.8.tar.gz" - sha256: "705ec0176681be5c99fcc7af37416ece9d65ff4d907bca764cb11471b104fbf8" - "1.5.7": - url: "https://github.com/an-tao/trantor/archive/v1.5.7.tar.gz" - sha256: "42576563afbf1e58c7d68f758cf3fca4d193496d4e3f82c80069d8389a7839d5" patches: + "1.5.20": + - patch_file: "patches/1.5.19-0001-disable-werror.patch" + patch_description: "disable -Werror for gcc5" + patch_type: "portability" "1.5.19": - patch_file: "patches/1.5.19-0001-disable-werror.patch" patch_description: "disable -Werror for gcc5" @@ -50,27 +42,3 @@ patches: - patch_file: "patches/1.5.12-0001-disable-werror.patch" patch_description: "disable -Werror for gcc5" patch_type: "portability" - "1.5.12": - - patch_file: "patches/1.5.12-0001-disable-werror.patch" - patch_description: "disable -Werror for gcc5" - patch_type: "portability" - "1.5.11": - - patch_file: "patches/1.5.6-0001-include-cstdint.patch" - patch_description: "include cstdint for uint8_t, intmax_t" - patch_type: "portability" - patch_source: "https://github.com/an-tao/trantor/commit/e8e3887435dcfb310263c588743be1b3746193be" - "1.5.10": - - patch_file: "patches/1.5.6-0001-include-cstdint.patch" - patch_description: "include cstdint for uint8_t, intmax_t" - patch_type: "portability" - patch_source: "https://github.com/an-tao/trantor/commit/e8e3887435dcfb310263c588743be1b3746193be" - "1.5.8": - - patch_file: "patches/1.5.6-0001-include-cstdint.patch" - patch_description: "include cstdint for uint8_t, intmax_t" - patch_type: "portability" - patch_source: "https://github.com/an-tao/trantor/commit/e8e3887435dcfb310263c588743be1b3746193be" - "1.5.7": - - patch_file: "patches/1.5.6-0001-include-cstdint.patch" - patch_description: "include cstdint for uint8_t, intmax_t" - patch_type: "portability" - patch_source: "https://github.com/an-tao/trantor/commit/e8e3887435dcfb310263c588743be1b3746193be" diff --git a/recipes/trantor/all/conanfile.py b/recipes/trantor/all/conanfile.py index 7b8288e622c8a..0f9e11378b1a8 100644 --- a/recipes/trantor/all/conanfile.py +++ b/recipes/trantor/all/conanfile.py @@ -93,8 +93,7 @@ def source(self): def generate(self): tc = CMakeToolchain(self) # TODO: support other tls providers - if Version(self.version) >= "1.5.12": - tc.variables["TRANTOR_USE_TLS"] = "openssl" + tc.variables["TRANTOR_USE_TLS"] = "openssl" tc.variables["BUILD_C-ARES"] = self.options.with_c_ares tc.variables["USE_SPDLOG"] = self.options.get_safe("with_spdlog") tc.generate() diff --git a/recipes/trantor/all/patches/1.5.6-0001-include-cstdint.patch b/recipes/trantor/all/patches/1.5.6-0001-include-cstdint.patch deleted file mode 100644 index f910402545ffa..0000000000000 --- a/recipes/trantor/all/patches/1.5.6-0001-include-cstdint.patch +++ /dev/null @@ -1,24 +0,0 @@ -diff --git a/trantor/utils/MsgBuffer.h b/trantor/utils/MsgBuffer.h -index 29817f6..f1d677e 100644 ---- a/trantor/utils/MsgBuffer.h -+++ b/trantor/utils/MsgBuffer.h -@@ -18,6 +18,7 @@ - #include - #include - #include -+#include - #include - #include - #include -diff --git a/trantor/utils/Utilities.cc b/trantor/utils/Utilities.cc -index 978dac8..0611e20 100644 ---- a/trantor/utils/Utilities.cc -+++ b/trantor/utils/Utilities.cc -@@ -25,6 +25,7 @@ - #include - #endif // __cplusplus - #endif // _WIN32 -+#include - - namespace trantor - { diff --git a/recipes/trantor/config.yml b/recipes/trantor/config.yml index a5621cf2bc6f8..1d9afbed435a0 100644 --- a/recipes/trantor/config.yml +++ b/recipes/trantor/config.yml @@ -1,4 +1,6 @@ versions: + "1.5.20": + folder: "all" "1.5.19": folder: "all" "1.5.16": @@ -9,13 +11,3 @@ versions: folder: "all" "1.5.13": folder: "all" - "1.5.12": - folder: "all" - "1.5.11": - folder: "all" - "1.5.10": - folder: "all" - "1.5.8": - folder: "all" - "1.5.7": - folder: "all" From af3488c924c48675022f5b18f26930257874dd42 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 6 Aug 2024 05:54:26 +0900 Subject: [PATCH 272/641] (#24707) drogon: add version 1.9.6, remove older versions --- recipes/drogon/all/conandata.yml | 50 ++++--------------- .../patches/1.8.2-0004-support-gcc13.patch | 12 ----- .../1.8.4-0001-remove-shared-libs.patch | 12 ----- .../1.8.4-0002-find-package-jsoncpp.patch | 17 ------- .../1.8.4-0003-find-package-sqlite.patch | 13 ----- .../1.8.4-0004-find-package-yaml-cpp.patch | 13 ----- ...tch => 1.9.6-0002-find-cci-packages.patch} | 16 +++--- recipes/drogon/config.yml | 8 +-- 8 files changed, 20 insertions(+), 121 deletions(-) delete mode 100644 recipes/drogon/all/patches/1.8.2-0004-support-gcc13.patch delete mode 100644 recipes/drogon/all/patches/1.8.4-0001-remove-shared-libs.patch delete mode 100644 recipes/drogon/all/patches/1.8.4-0002-find-package-jsoncpp.patch delete mode 100644 recipes/drogon/all/patches/1.8.4-0003-find-package-sqlite.patch delete mode 100644 recipes/drogon/all/patches/1.8.4-0004-find-package-yaml-cpp.patch rename recipes/drogon/all/patches/{1.8.5-0002-find-cci-packages.patch => 1.9.6-0002-find-cci-packages.patch} (89%) diff --git a/recipes/drogon/all/conandata.yml b/recipes/drogon/all/conandata.yml index 1918973ce4360..bca73571212af 100644 --- a/recipes/drogon/all/conandata.yml +++ b/recipes/drogon/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.9.6": + url: "https://github.com/drogonframework/drogon/archive/v1.9.6.tar.gz" + sha256: "a81d0ea0e87b0214aa56f7fa7bb851011efe606af67891a0945825104505a08a" "1.9.5": url: "https://github.com/drogonframework/drogon/archive/v1.9.5.tar.gz" sha256: "ec17882835abeb0672db29cb36ab0c5523f144d5d8ff177861b8f5865803eaae" @@ -20,16 +23,14 @@ sources: "1.8.7": url: "https://github.com/drogonframework/drogon/archive/v1.8.7.tar.gz" sha256: "d2d80d35becd69bf80d74bf09b69425193f1b7be3926bd44f3ac7b951e54465d" - "1.8.6": - url: "https://github.com/drogonframework/drogon/archive/v1.8.6.tar.gz" - sha256: "ff02979f28047e97e19e36d1f363b3052b8122975fa8a379305d746dfe5fb004" - "1.8.5": - url: "https://github.com/drogonframework/drogon/archive/v1.8.5.tar.gz" - sha256: "9469f99408c114bc1e89945a3a8dab4640ea6d8cb06e7d42f06c1dfda3f71d2a" - "1.8.4": - url: "https://github.com/drogonframework/drogon/archive/v1.8.4.tar.gz" - sha256: "6f2f59ead0f0c37b0aac4bc889cbaedf3c2540f3020e892596c72f0a4d887a18" patches: + "1.9.6": + - patch_file: "patches/1.8.5-0001-remove-shared-libs.patch" + patch_description: "remove shared libs option" + patch_type: "conan" + - patch_file: "patches/1.9.6-0002-find-cci-packages.patch" + patch_description: "Fix jsoncpp cmake target name" + patch_type: "conan" "1.9.5": - patch_file: "patches/1.8.5-0001-remove-shared-libs.patch" patch_description: "remove shared libs option" @@ -79,34 +80,3 @@ patches: - patch_file: "patches/1.8.6-0002-find-cci-packages.patch" patch_description: "Fix jsoncpp cmake target name" patch_type: "conan" - "1.8.6": - - patch_file: "patches/1.8.5-0001-remove-shared-libs.patch" - patch_description: "remove shared libs option" - patch_type: "conan" - - patch_file: "patches/1.8.6-0002-find-cci-packages.patch" - patch_description: "Fix jsoncpp cmake target name" - patch_type: "conan" - "1.8.5": - - patch_file: "patches/1.8.5-0001-remove-shared-libs.patch" - patch_description: "remove shared libs option" - patch_type: "conan" - - patch_file: "patches/1.8.5-0002-find-cci-packages.patch" - patch_description: "Fix jsoncpp cmake target name" - patch_type: "conan" - "1.8.4": - - patch_file: "patches/1.8.4-0001-remove-shared-libs.patch" - patch_description: "remove shared libs option" - patch_type: "conan" - - patch_file: "patches/1.8.4-0002-find-package-jsoncpp.patch" - patch_description: "Fix jsoncpp cmake target name" - patch_type: "conan" - - patch_file: "patches/1.8.4-0003-find-package-sqlite.patch" - patch_description: "Fix sqlite cmake target name" - patch_type: "conan" - - patch_file: "patches/1.8.4-0004-find-package-yaml-cpp.patch" - patch_description: "Fix yaml-cpp cmake target name" - patch_type: "conan" - - patch_file: "patches/1.8.2-0004-support-gcc13.patch" - patch_description: "Fix compilation error on gcc13 with C++17" - patch_type: "portability" - patch_source: "https://github.com/drogonframework/drogon/pull/1563/" diff --git a/recipes/drogon/all/patches/1.8.2-0004-support-gcc13.patch b/recipes/drogon/all/patches/1.8.2-0004-support-gcc13.patch deleted file mode 100644 index 477d23fb1fd63..0000000000000 --- a/recipes/drogon/all/patches/1.8.2-0004-support-gcc13.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/lib/inc/drogon/RateLimiter.h b/lib/inc/drogon/RateLimiter.h -index 3b8706b..dece795 100644 ---- a/lib/inc/drogon/RateLimiter.h -+++ b/lib/inc/drogon/RateLimiter.h -@@ -3,6 +3,7 @@ - #include - #include - #include -+#include - - namespace drogon - { diff --git a/recipes/drogon/all/patches/1.8.4-0001-remove-shared-libs.patch b/recipes/drogon/all/patches/1.8.4-0001-remove-shared-libs.patch deleted file mode 100644 index f51304849a04f..0000000000000 --- a/recipes/drogon/all/patches/1.8.4-0001-remove-shared-libs.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 4406362..c346e60 100755 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -16,7 +16,6 @@ option(BUILD_CTL "Build drogon_ctl" ${BUILD_PROGRAMS}) - option(BUILD_EXAMPLES "Build examples" ${BUILD_PROGRAMS}) - option(BUILD_ORM "Build orm" ON) - option(COZ_PROFILING "Use coz for profiling" OFF) --option(BUILD_SHARED_LIBS "Build drogon as a shared lib" OFF) - option(BUILD_DOC "Build Doxygen documentation" OFF) - option(BUILD_BROTLI "Build Brotli" ON) - option(BUILD_YAML_CONFIG "Build yaml config" ON) diff --git a/recipes/drogon/all/patches/1.8.4-0002-find-package-jsoncpp.patch b/recipes/drogon/all/patches/1.8.4-0002-find-package-jsoncpp.patch deleted file mode 100644 index 362fa96c66cc6..0000000000000 --- a/recipes/drogon/all/patches/1.8.4-0002-find-package-jsoncpp.patch +++ /dev/null @@ -1,17 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index c346e60..e561e5c 100755 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -206,9 +206,9 @@ else() - endif() - - # jsoncpp --find_package(Jsoncpp REQUIRED) --target_link_libraries(${PROJECT_NAME} PUBLIC Jsoncpp_lib) --list(APPEND INCLUDE_DIRS_FOR_DYNAMIC_VIEW ${JSONCPP_INCLUDE_DIRS}) -+find_package(jsoncpp REQUIRED) -+target_link_libraries(${PROJECT_NAME} PUBLIC jsoncpp_lib) -+list(APPEND INCLUDE_DIRS_FOR_DYNAMIC_VIEW ${jsoncpp_INCLUDE_DIRS}) - - # yamlcpp - if(BUILD_YAML_CONFIG) diff --git a/recipes/drogon/all/patches/1.8.4-0003-find-package-sqlite.patch b/recipes/drogon/all/patches/1.8.4-0003-find-package-sqlite.patch deleted file mode 100644 index 6f97d35a4d314..0000000000000 --- a/recipes/drogon/all/patches/1.8.4-0003-find-package-sqlite.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index e561e5c..993b21a 100755 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -437,7 +437,7 @@ if (BUILD_SQLITE) - find_package(SQLite3 QUIET) - find_package(unofficial-sqlite3 QUIET) - if (SQLite3_FOUND) -- target_link_libraries(${PROJECT_NAME} PRIVATE SQLite3_lib) -+ target_link_libraries(${PROJECT_NAME} PRIVATE SQLite::SQLite3) - set(DROGON_FOUND_SQLite3 TRUE) - elseif (unofficial-sqlite3_FOUND) - target_link_libraries(${PROJECT_NAME} PRIVATE unofficial::sqlite3::sqlite3) diff --git a/recipes/drogon/all/patches/1.8.4-0004-find-package-yaml-cpp.patch b/recipes/drogon/all/patches/1.8.4-0004-find-package-yaml-cpp.patch deleted file mode 100644 index a9fca7863aea7..0000000000000 --- a/recipes/drogon/all/patches/1.8.4-0004-find-package-yaml-cpp.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 44063629..c18c86db 100755 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -215,7 +215,7 @@ if(BUILD_YAML_CONFIG) - find_package(yaml-cpp QUIET) - if(yaml-cpp_FOUND) - message(STATUS "yaml-cpp found") -- target_link_libraries(${PROJECT_NAME} PUBLIC ${YAML_CPP_LIBRARIES}) -+ target_link_libraries(${PROJECT_NAME} PUBLIC yaml-cpp) - target_compile_definitions(${PROJECT_NAME} PUBLIC HAS_YAML_CPP) - else() - message(STATUS "yaml-cpp not used") diff --git a/recipes/drogon/all/patches/1.8.5-0002-find-cci-packages.patch b/recipes/drogon/all/patches/1.9.6-0002-find-cci-packages.patch similarity index 89% rename from recipes/drogon/all/patches/1.8.5-0002-find-cci-packages.patch rename to recipes/drogon/all/patches/1.9.6-0002-find-cci-packages.patch index 8bf9e60842f93..1e82fc39d8876 100644 --- a/recipes/drogon/all/patches/1.8.5-0002-find-cci-packages.patch +++ b/recipes/drogon/all/patches/1.9.6-0002-find-cci-packages.patch @@ -1,9 +1,9 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index e3e7fcf..d1032da 100755 +index 11c96b2..441b2c2 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -198,9 +198,9 @@ else() - endif() +@@ -180,9 +180,9 @@ endif() + # jsoncpp -find_package(Jsoncpp REQUIRED) @@ -15,7 +15,7 @@ index e3e7fcf..d1032da 100755 # yamlcpp if(BUILD_YAML_CONFIG) -@@ -212,7 +212,7 @@ if(BUILD_YAML_CONFIG) +@@ -194,7 +194,7 @@ if(BUILD_YAML_CONFIG) message(STATUS "yaml-cpp not used") else() message(STATUS "yaml-cpp found ") @@ -24,7 +24,7 @@ index e3e7fcf..d1032da 100755 target_compile_definitions(${PROJECT_NAME} PUBLIC HAS_YAML_CPP) endif() else() -@@ -442,7 +442,7 @@ if (BUILD_SQLITE) +@@ -432,7 +432,7 @@ if (BUILD_SQLITE) find_package(SQLite3 QUIET) find_package(unofficial-sqlite3 QUIET) if (SQLite3_FOUND) @@ -33,7 +33,7 @@ index e3e7fcf..d1032da 100755 set(DROGON_FOUND_SQLite3 TRUE) elseif (unofficial-sqlite3_FOUND) target_link_libraries(${PROJECT_NAME} PRIVATE unofficial::sqlite3::sqlite3) -@@ -465,10 +465,10 @@ if (BUILD_SQLITE) +@@ -455,10 +455,10 @@ if (BUILD_SQLITE) endif (BUILD_SQLITE) if (BUILD_REDIS) @@ -47,7 +47,7 @@ index e3e7fcf..d1032da 100755 set(DROGON_SOURCES ${DROGON_SOURCES} nosql_lib/redis/src/RedisClientImpl.cc -@@ -488,10 +488,10 @@ if (BUILD_REDIS) +@@ -478,10 +478,10 @@ if (BUILD_REDIS) nosql_lib/redis/src/SubscribeContext.h nosql_lib/redis/src/RedisSubscriberImpl.h) @@ -60,7 +60,7 @@ index e3e7fcf..d1032da 100755 set(DROGON_SOURCES ${DROGON_SOURCES} lib/src/RedisClientSkipped.cc -@@ -500,7 +500,7 @@ if (NOT Hiredis_FOUND) +@@ -490,7 +490,7 @@ if (NOT Hiredis_FOUND) set(private_headers ${private_headers} lib/src/RedisClientManager.h) diff --git a/recipes/drogon/config.yml b/recipes/drogon/config.yml index ad963339f39e6..4fe7e87fc8cfb 100644 --- a/recipes/drogon/config.yml +++ b/recipes/drogon/config.yml @@ -1,4 +1,6 @@ versions: + "1.9.6": + folder: "all" "1.9.5": folder: "all" "1.9.4": @@ -13,9 +15,3 @@ versions: folder: "all" "1.8.7": folder: "all" - "1.8.6": - folder: "all" - "1.8.5": - folder: "all" - "1.8.4": - folder: "all" From 838250ae72c443bf41ad7129d416944b8fa035d1 Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Tue, 6 Aug 2024 01:22:10 +0100 Subject: [PATCH 273/641] (#24840) [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 0dedc986c45ca..67cb6879492fa 100644 --- a/.c3i/conan_v2_ready_references.yml +++ b/.c3i/conan_v2_ready_references.yml @@ -653,6 +653,7 @@ required_for_references: - lest - leveldb - lexbor +- libaec - libaesgm - libaio - libalsa @@ -783,6 +784,7 @@ required_for_references: - libpcap - libpciaccess - libpfm4 +- libphonenumber - libpng - libpq - libpqxx @@ -953,6 +955,7 @@ required_for_references: - mimalloc - mingw-builds - mingw-w64 +- minhook - mini - miniaudio - minicoro @@ -1189,6 +1192,7 @@ required_for_references: - poppler-data - popt - portable-file-dialogs +- poselib - poshlib - pprint - pranav-csv2 From dece68f9b6d886eb253cc80e4fd2db9a20bb8c1c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maciek=20Jab=C5=82o=C5=84ski?= <35082097+maciejjablonsky@users.noreply.github.com> Date: Tue, 6 Aug 2024 09:36:30 +0200 Subject: [PATCH 274/641] (#24835) vulkan-headers: bump to 1.3.290.0 --- recipes/vulkan-headers/all/conandata.yml | 3 +++ recipes/vulkan-headers/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/vulkan-headers/all/conandata.yml b/recipes/vulkan-headers/all/conandata.yml index a2e54aa68230e..707195d109331 100644 --- a/recipes/vulkan-headers/all/conandata.yml +++ b/recipes/vulkan-headers/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.3.290.0": + url: "https://github.com/KhronosGroup/Vulkan-Headers/archive/refs/tags/vulkan-sdk-1.3.290.0.tar.gz" + sha256: "5b186e1492d97c44102fe858fb9f222b55524a8b6da940a8795c9e326ae6d722" "1.3.268.0": url: "https://github.com/KhronosGroup/Vulkan-Headers/archive/refs/tags/vulkan-sdk-1.3.268.0.tar.gz" sha256: "94993cbe2b1a604c0d5d9ea37a767e1aba4d771d2bfd4ddceefd66243095164f" diff --git a/recipes/vulkan-headers/config.yml b/recipes/vulkan-headers/config.yml index 34a8efbe22307..dc699b4e5ec0f 100644 --- a/recipes/vulkan-headers/config.yml +++ b/recipes/vulkan-headers/config.yml @@ -1,4 +1,6 @@ versions: + "1.3.290.0": + folder: all "1.3.268.0": folder: all "1.3.261.1": From 80d6b327e8dadabc2a65d98597ac1199cca8e80a Mon Sep 17 00:00:00 2001 From: Luis Caro Campos <3535649+jcar87@users.noreply.github.com> Date: Tue, 6 Aug 2024 09:00:16 +0100 Subject: [PATCH 275/641] (#24826) qt5: fix webengine build issues * qt5 webengine fixes * wip * fix * wip * wip * patch for QTBUG-117073 QtWebEngine build error for msvc 2022 * wip * Fix assembly error in qt5 webengine module with binutils >= 2.41 * wip * wip --------- Co-authored-by: Walid Boussafa Co-authored-by: Winfried Dobbe --- recipes/qt/5.x.x/conandata.yml | 20 ++++ recipes/qt/5.x.x/conanfile.py | 7 ++ .../5.15.14-macos-chromium-newer-sdks.patch | 13 +++ ...5.14-macos-qtlocation-utility-header.patch | 13 +++ ...5.15.14-macos-qtwebengine-rpath-link.patch | 13 +++ .../5.15.14-qtwebengine-missing-deps.patch | 12 +++ ...Fix-errors-and-warnings-for-perfetto.patch | 101 ++++++++++++++++++ .../patches/ffmpeg-x86-optimization.patch | 64 +++++++++++ 8 files changed, 243 insertions(+) create mode 100644 recipes/qt/5.x.x/patches/5.15.14-macos-chromium-newer-sdks.patch create mode 100644 recipes/qt/5.x.x/patches/5.15.14-macos-qtlocation-utility-header.patch create mode 100644 recipes/qt/5.x.x/patches/5.15.14-macos-qtwebengine-rpath-link.patch create mode 100644 recipes/qt/5.x.x/patches/5.15.14-qtwebengine-missing-deps.patch create mode 100644 recipes/qt/5.x.x/patches/Fix-errors-and-warnings-for-perfetto.patch create mode 100644 recipes/qt/5.x.x/patches/ffmpeg-x86-optimization.patch diff --git a/recipes/qt/5.x.x/conandata.yml b/recipes/qt/5.x.x/conandata.yml index b12be53bf6b58..16b0489abd752 100644 --- a/recipes/qt/5.x.x/conandata.yml +++ b/recipes/qt/5.x.x/conandata.yml @@ -32,6 +32,9 @@ patches: "patch_file": "patches/fix-macdeployqt.diff" - "base_path": "qt5/qtwebengine/src/3rdparty" "patch_file": "patches/0001-Find-fontconfig-using-pkg-config.patch" + - "base_path": "qt5/qtwebengine/src/3rdparty" + "patch_file": "patches/Fix-errors-and-warnings-for-perfetto.patch" + "patch_description": "Fix qtwebengine build issues for vs 2022 (backport QTBUG-117073)" - "base_path": "qt5/qtbase" "patch_file": "patches/android-openssl.diff" - "base_path": "qt5/qtbase" @@ -45,3 +48,20 @@ patches: "patch_file": "patches/5.15.12-fix-macos-cpp-lib-memory-resource.patch" "patch_source": "https://codereview.qt-project.org/c/qt/qtbase/+/482392" "patch_type": "portability" + - "base_path": "qt5/qtwebengine" + "patch_description": "qtwebengine don't use rpath-link on macOS" + "patch_file": "patches/5.15.14-macos-qtwebengine-rpath-link.patch" + - "base_path": "qt5/qtlocation" + "patch_description": "qtlocation missing utility header" + "patch_file": "patches/5.15.14-macos-qtlocation-utility-header.patch" + - "base_path": "qt5/qtwebengine/src/3rdparty" + "patch_description": "qtwebengine fix missing headers" + "patch_file": "patches/5.15.14-qtwebengine-missing-deps.patch" + - "base_path": "qt5/qtwebengine/src/3rdparty" + "patch_description": "macos fix chromium build in newer macos SDKs" + "patch_file": "patches/5.15.14-macos-chromium-newer-sdks.patch" + - "patch_file": "patches/ffmpeg-x86-optimization.patch" + "base_path": "qt5/qtwebengine" + "patch_description": "Fix build error with binutils >= 2.41" + "patch_type": "portability" + "patch_source": "https://packages.ubuntu.com/source/focal-updates/qtwebengine-opensource-src" diff --git a/recipes/qt/5.x.x/conanfile.py b/recipes/qt/5.x.x/conanfile.py index dfe46275f3a61..3f3977990a25b 100644 --- a/recipes/qt/5.x.x/conanfile.py +++ b/recipes/qt/5.x.x/conanfile.py @@ -821,6 +821,13 @@ def _getenvpath(var): # see https://doc.qt.io/qt-5/qmake-variable-reference.html#qmake-rpathdir args += [f"QMAKE_RPATHDIR+=\"{libpath}\""] + if self.settings.compiler == "apple-clang" and self.options.qtmultimedia: + # XCode 14.3 finally removes std::unary_function, so compilation fails + # when using newer SDKs when using C++17 or higher. + # This macro re-enables them. Should be safe to pass this macro even + # in earlier versions, as it would have no effect. + args += ['QMAKE_CXXFLAGS+="-D_LIBCPP_ENABLE_CXX17_REMOVED_UNARY_BINARY_FUNCTION=1"'] + if self.options.qtwebengine and self.settings.os in ["Linux", "FreeBSD"]: args += ["-qt-webengine-ffmpeg", "-system-webengine-opus", diff --git a/recipes/qt/5.x.x/patches/5.15.14-macos-chromium-newer-sdks.patch b/recipes/qt/5.x.x/patches/5.15.14-macos-chromium-newer-sdks.patch new file mode 100644 index 0000000000000..cb5ec1fca2189 --- /dev/null +++ b/recipes/qt/5.x.x/patches/5.15.14-macos-chromium-newer-sdks.patch @@ -0,0 +1,13 @@ +diff --git a/chromium/base/strings/utf_string_conversions.cc b/chromium/base/strings/utf_string_conversions.cc +index 12ed1f3e0..004ac6855 100644 +--- a/chromium/base/strings/utf_string_conversions.cc ++++ b/chromium/base/strings/utf_string_conversions.cc +@@ -15,7 +15,7 @@ + #include "base/third_party/icu/icu_utf.h" + #include "build/build_config.h" + +-#if defined(OS_MAC) ++#if defined(OS_MAC) && __MAC_OS_X_VERSION_MAX_ALLOWED < 120300 + namespace std { + inline namespace __1 { + template class basic_string; diff --git a/recipes/qt/5.x.x/patches/5.15.14-macos-qtlocation-utility-header.patch b/recipes/qt/5.x.x/patches/5.15.14-macos-qtlocation-utility-header.patch new file mode 100644 index 0000000000000..000965fda4346 --- /dev/null +++ b/recipes/qt/5.x.x/patches/5.15.14-macos-qtlocation-utility-header.patch @@ -0,0 +1,13 @@ +diff --git a/src/3rdparty/mapbox-gl-native/include/mbgl/util/unique_any.hpp b/src/3rdparty/mapbox-gl-native/include/mbgl/util/unique_any.hpp +index c7dc8b38e..d9e3709b1 100644 +--- a/src/3rdparty/mapbox-gl-native/include/mbgl/util/unique_any.hpp ++++ b/src/3rdparty/mapbox-gl-native/include/mbgl/util/unique_any.hpp +@@ -3,6 +3,8 @@ + #include + #include + #include ++#include ++ + namespace mbgl { + namespace util { + \ No newline at end of file diff --git a/recipes/qt/5.x.x/patches/5.15.14-macos-qtwebengine-rpath-link.patch b/recipes/qt/5.x.x/patches/5.15.14-macos-qtwebengine-rpath-link.patch new file mode 100644 index 0000000000000..2fb28c93ca411 --- /dev/null +++ b/recipes/qt/5.x.x/patches/5.15.14-macos-qtwebengine-rpath-link.patch @@ -0,0 +1,13 @@ +diff --git a/mkspecs/features/gn_generator.prf b/mkspecs/features/gn_generator.prf +index 306e58db1..a42059e82 100644 +--- a/mkspecs/features/gn_generator.prf ++++ b/mkspecs/features/gn_generator.prf +@@ -166,7 +166,7 @@ for (flag, GN_FLAGS): GN_CONTENTS += " \"$$flag\"," + unix:!macos: GN_CONTENTS += " \"-Wl,-rpath=$${rpath}\"," + } + } +-!isEmpty(QMAKE_RPATHLINKDIR): GN_CONTENTS += " \"-Wl,-rpath-link=$${QMAKE_RPATHLINKDIR}\"," ++!isEmpty(QMAKE_LFLAGS_RPATHLINK):!isEmpty(QMAKE_RPATHLINKDIR): GN_CONTENTS += " \"-Wl,-rpath-link=$${QMAKE_RPATHLINKDIR}\"," + GN_CONTENTS += " ]" + + GN_CONTENTS += " lib_dirs = [" diff --git a/recipes/qt/5.x.x/patches/5.15.14-qtwebengine-missing-deps.patch b/recipes/qt/5.x.x/patches/5.15.14-qtwebengine-missing-deps.patch new file mode 100644 index 0000000000000..fafd46513f4b8 --- /dev/null +++ b/recipes/qt/5.x.x/patches/5.15.14-qtwebengine-missing-deps.patch @@ -0,0 +1,12 @@ +diff --git a/chromium/content/public/browser/BUILD.gn b/chromium/content/public/browser/BUILD.gn +index 7cf82a4..0e0dda2 100644 +--- a/chromium/content/public/browser/BUILD.gn ++++ b/chromium/content/public/browser/BUILD.gn +@@ -469,6 +469,7 @@ jumbo_source_set("browser_sources") { + "//build:chromeos_buildflags", + "//cc", + "//components/viz/host", ++ "//components/spellcheck:buildflags", + "//content/browser", # Must not be public_deps! + "//device/fido", + "//gpu", diff --git a/recipes/qt/5.x.x/patches/Fix-errors-and-warnings-for-perfetto.patch b/recipes/qt/5.x.x/patches/Fix-errors-and-warnings-for-perfetto.patch new file mode 100644 index 0000000000000..abd82e1674e40 --- /dev/null +++ b/recipes/qt/5.x.x/patches/Fix-errors-and-warnings-for-perfetto.patch @@ -0,0 +1,101 @@ +From 851cd7c7a079fa5da63770c49724036e8338e813 Mon Sep 17 00:00:00 2001 +From: Michal Klocek +Date: Wed, 20 Sep 2023 07:45:29 +0200 +Subject: [PATCH] Fix errors and warnings for perfetto +MIME-Version: 1.0 +Content-Type: text/plain; charset=utf8 +Content-Transfer-Encoding: 8bit + +It seems newest msvc compiler does not like perfetto circualar queue +const iterator, which ends in issues with std::swap of std::sort. +Make sure it is non const. + +Fix warnings. + +Deals with: "error C2672: 'swap': no matching overloaded function +found." + +Fixes: QTBUG-117073 +Change-Id: I02901e61a1bb8863d72ca02a0ccd841e54309d6e +Reviewed-on: https://codereview.qt-project.org/c/qt/qtwebengine-chromium/+/505412 +Reviewed-by: Martin Negyokru +Reviewed-by: Michael Brüning +--- + .../perfetto/include/perfetto/ext/base/circular_queue.h | 9 ++------- + .../third_party/perfetto/src/trace_processor/storage/metadata.h | 2 ++ + .../third_party/perfetto/src/trace_processor/storage/stats.h | 2 ++ + .../perfetto/src/trace_processor/tables/macros_internal.h | 2 ++ + 4 files changed, 8 insertions(+), 7 deletions(-) + +diff --git a/chromium/third_party/perfetto/include/perfetto/ext/base/circular_queue.h b/chromium/third_party/perfetto/include/perfetto/ext/base/circular_queue.h +index 18ca7702614..ec46e69f817 100644 +--- a/chromium/third_party/perfetto/include/perfetto/ext/base/circular_queue.h ++++ b/chromium/third_party/perfetto/include/perfetto/ext/base/circular_queue.h +@@ -67,19 +67,14 @@ class CircularQueue { + ignore_result(generation); + } + +- T* operator->() { ++ T* operator->() const { + #if PERFETTO_DCHECK_IS_ON() + PERFETTO_DCHECK(generation_ == queue_->generation()); + #endif + return queue_->Get(pos_); + } + +- const T* operator->() const { +- return const_cast::Iterator*>(this)->operator->(); +- } +- +- T& operator*() { return *(operator->()); } +- const T& operator*() const { return *(operator->()); } ++ T& operator*() const { return *(operator->()); } + + value_type& operator[](difference_type i) { return *(*this + i); } + +diff --git a/chromium/third_party/perfetto/src/trace_processor/storage/metadata.h b/chromium/third_party/perfetto/src/trace_processor/storage/metadata.h +index 4796ae4edcd..30e534b216b 100644 +--- a/chromium/third_party/perfetto/src/trace_processor/storage/metadata.h ++++ b/chromium/third_party/perfetto/src/trace_processor/storage/metadata.h +@@ -59,8 +59,10 @@ namespace metadata { + F(kMulti, "multi") + // clang-format + ++#if PERFETTO_BUILDFLAG(PERFETTO_COMPILER_GCC) + // Ignore GCC warning about a missing argument for a variadic macro parameter. + #pragma GCC system_header ++#endif + + #define PERFETTO_TP_META_TYPE_ENUM(varname, ...) varname + enum class KeyType : size_t { +diff --git a/chromium/third_party/perfetto/src/trace_processor/storage/stats.h b/chromium/third_party/perfetto/src/trace_processor/storage/stats.h +index 7f14803244e..30b56c62544 100644 +--- a/chromium/third_party/perfetto/src/trace_processor/storage/stats.h ++++ b/chromium/third_party/perfetto/src/trace_processor/storage/stats.h +@@ -189,7 +189,9 @@ enum Source { + }; + + // Ignore GCC warning about a missing argument for a variadic macro parameter. ++#if PERFETTO_BUILDFLAG(PERFETTO_COMPILER_GCC) + #pragma GCC system_header ++#endif + + // Declares an enum of literals (one for each stat). The enum values of each + // literal corresponds to the string index in the arrays below. +diff --git a/chromium/third_party/perfetto/src/trace_processor/tables/macros_internal.h b/chromium/third_party/perfetto/src/trace_processor/tables/macros_internal.h +index 875efd62e0d..1ca5068cc32 100644 +--- a/chromium/third_party/perfetto/src/trace_processor/tables/macros_internal.h ++++ b/chromium/third_party/perfetto/src/trace_processor/tables/macros_internal.h +@@ -140,7 +140,9 @@ class MacroTable : public Table { + } // namespace macros_internal + + // Ignore GCC warning about a missing argument for a variadic macro parameter. ++#if PERFETTO_BUILDFLAG(PERFETTO_COMPILER_GCC) + #pragma GCC system_header ++#endif + + // Basic helper macros. + #define PERFETTO_TP_NOOP(...) +-- +2.16.3 + diff --git a/recipes/qt/5.x.x/patches/ffmpeg-x86-optimization.patch b/recipes/qt/5.x.x/patches/ffmpeg-x86-optimization.patch new file mode 100644 index 0000000000000..cff8df9a43395 --- /dev/null +++ b/recipes/qt/5.x.x/patches/ffmpeg-x86-optimization.patch @@ -0,0 +1,64 @@ +Description: avcodec/x86/mathops: clip constants used with shift instructions within inline assembly + Fixes assembling with gas from binutils >= 2.41. +Origin: upstream, https://git.ffmpeg.org/gitweb/ffmpeg.git/commit/effadce6c756247e +Bug: https://bugs.debian.org/1038132 +Last-Update: 2023-07-21 + +--- a/src/3rdparty/chromium/third_party/ffmpeg/libavcodec/x86/mathops.h ++++ b/src/3rdparty/chromium/third_party/ffmpeg/libavcodec/x86/mathops.h +@@ -35,12 +35,20 @@ + static av_always_inline av_const int MULL(int a, int b, unsigned shift) + { + int rt, dummy; ++ if (__builtin_constant_p(shift)) + __asm__ ( + "imull %3 \n\t" + "shrdl %4, %%edx, %%eax \n\t" + :"=a"(rt), "=d"(dummy) +- :"a"(a), "rm"(b), "ci"((uint8_t)shift) ++ :"a"(a), "rm"(b), "i"(shift & 0x1F) + ); ++ else ++ __asm__ ( ++ "imull %3 \n\t" ++ "shrdl %4, %%edx, %%eax \n\t" ++ :"=a"(rt), "=d"(dummy) ++ :"a"(a), "rm"(b), "c"((uint8_t)shift) ++ ); + return rt; + } + +@@ -113,19 +121,31 @@ __asm__ volatile(\ + // avoid +32 for shift optimization (gcc should do that ...) + #define NEG_SSR32 NEG_SSR32 + static inline int32_t NEG_SSR32( int32_t a, int8_t s){ ++ if (__builtin_constant_p(s)) + __asm__ ("sarl %1, %0\n\t" + : "+r" (a) +- : "ic" ((uint8_t)(-s)) ++ : "i" (-s & 0x1F) + ); ++ else ++ __asm__ ("sarl %1, %0\n\t" ++ : "+r" (a) ++ : "c" ((uint8_t)(-s)) ++ ); + return a; + } + + #define NEG_USR32 NEG_USR32 + static inline uint32_t NEG_USR32(uint32_t a, int8_t s){ ++ if (__builtin_constant_p(s)) + __asm__ ("shrl %1, %0\n\t" + : "+r" (a) +- : "ic" ((uint8_t)(-s)) ++ : "i" (-s & 0x1F) + ); ++ else ++ __asm__ ("shrl %1, %0\n\t" ++ : "+r" (a) ++ : "c" ((uint8_t)(-s)) ++ ); + return a; + } + From f5debcd1920dd887f7207109c410872e84d77039 Mon Sep 17 00:00:00 2001 From: Daniel Date: Tue, 6 Aug 2024 10:24:24 +0200 Subject: [PATCH 276/641] (#24833) [aws refactor] aws-c-common: Add 0.6.11 version --- recipes/aws-c-common/all/conandata.yml | 3 +++ recipes/aws-c-common/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/aws-c-common/all/conandata.yml b/recipes/aws-c-common/all/conandata.yml index 0b34391746ed3..f366f90bafb70 100644 --- a/recipes/aws-c-common/all/conandata.yml +++ b/recipes/aws-c-common/all/conandata.yml @@ -23,6 +23,9 @@ sources: "0.6.20": url: "https://github.com/awslabs/aws-c-common/archive/v0.6.20.tar.gz" sha256: "6eb0b806c78b36a32eec9bcba8d2833e3973491a29d46fe3d11edc3f8d3e7f73" + "0.6.11": + url: "https://github.com/awslabs/aws-c-common/archive/v0.6.11.tar.gz" + sha256: "86159bd1128eee2813f705c275d319e14d1b77017fab46f6ca5dafcc66edaea9" "0.4.25": url: "https://github.com/awslabs/aws-c-common/archive/v0.4.25.tar.gz" sha256: "f85a8f74e42bd983a4615654457f8037876bc6b8dbf890e368bb516cbc2e9844" diff --git a/recipes/aws-c-common/config.yml b/recipes/aws-c-common/config.yml index 0ba98edce43a1..ebff64530ccd5 100644 --- a/recipes/aws-c-common/config.yml +++ b/recipes/aws-c-common/config.yml @@ -15,5 +15,7 @@ versions: folder: all "0.6.20": folder: all + "0.6.11": + folder: all "0.4.25": folder: all From 4660da7332fb1e0d3724fcec27a4790fe3da309a Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 6 Aug 2024 17:56:32 +0900 Subject: [PATCH 277/641] (#24793) sdl: add new version 2.30.6 * sdl: add version 2.30.6 * support msvc static build --- recipes/sdl/all/conandata.yml | 3 +++ recipes/sdl/all/conanfile.py | 2 ++ recipes/sdl/config.yml | 2 ++ 3 files changed, 7 insertions(+) diff --git a/recipes/sdl/all/conandata.yml b/recipes/sdl/all/conandata.yml index f49cb33505aab..b37e701b93323 100644 --- a/recipes/sdl/all/conandata.yml +++ b/recipes/sdl/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.30.6": + url: "https://www.libsdl.org/release/SDL2-2.30.6.tar.gz" + sha256: "c6ef64ca18a19d13df6eb22df9aff19fb0db65610a74cc81dae33a82235cacd4" "2.30.5": url: "https://www.libsdl.org/release/SDL2-2.30.5.tar.gz" sha256: "f374f3fa29c37dfcc20822d4a7d7dc57e58924d1a5f2ad511bfab4c8193de63b" diff --git a/recipes/sdl/all/conanfile.py b/recipes/sdl/all/conanfile.py index cd55e0ceb1b78..f55048e0d1c26 100644 --- a/recipes/sdl/all/conanfile.py +++ b/recipes/sdl/all/conanfile.py @@ -217,6 +217,8 @@ def _patch_sources(self): "find_program(WAYLAND_SCANNER NAMES wayland-scanner REQUIRED)", 'find_program(WAYLAND_SCANNER NAMES wayland-scanner REQUIRED PATHS "${WAYLAND_BIN_DIR}" NO_DEFAULT_PATH)', ) + if Version(self.version) >= "2.30.6" and not self.options.shared: + replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), "list(APPEND targets SDL2-static)", "set(targets SDL2-static)") def define_toolchain(self): tc = CMakeToolchain(self) diff --git a/recipes/sdl/config.yml b/recipes/sdl/config.yml index bb02b66ecf2da..6fca9a90f39d1 100644 --- a/recipes/sdl/config.yml +++ b/recipes/sdl/config.yml @@ -1,4 +1,6 @@ versions: + "2.30.6": + folder: all "2.30.5": folder: all "2.30.4": From 374ec616613997d61cb150c7b54af098a835d2bf Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 6 Aug 2024 18:52:17 +0900 Subject: [PATCH 278/641] (#24838) stringzilla: add version 3.9.0 --- recipes/stringzilla/all/conandata.yml | 3 +++ recipes/stringzilla/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/stringzilla/all/conandata.yml b/recipes/stringzilla/all/conandata.yml index 9a0f2b597bc71..cd5c3f15cc1f8 100644 --- a/recipes/stringzilla/all/conandata.yml +++ b/recipes/stringzilla/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.9.0": + url: "https://github.com/ashvardanian/StringZilla/archive/refs/tags/v3.9.0.tar.gz" + sha256: "26d282b7d5ba307de7fa80c41821526babf6c6cb8e808253af8bff7664275d5c" "3.8.4": url: "https://github.com/ashvardanian/StringZilla/archive/refs/tags/v3.8.4.tar.gz" sha256: "4132957633d28ce2651e587f2ab736cdf174e61b8ab1bcef453b21d40a2d872e" diff --git a/recipes/stringzilla/config.yml b/recipes/stringzilla/config.yml index 1873ea240511d..7fe54b1bc4d9a 100644 --- a/recipes/stringzilla/config.yml +++ b/recipes/stringzilla/config.yml @@ -1,4 +1,6 @@ versions: + "3.9.0": + folder: all "3.8.4": folder: all "2.0.4": From 59c8f4f8fbb4b4976eda0bb08dd84e03343ca70b Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 6 Aug 2024 14:12:52 +0300 Subject: [PATCH 279/641] (#24830) poselib: add v2.0.4 * poselib: add v2.0.4 * poselib: tweak patches * Do not replace march=native * Follow patch from 2.0.3 --------- Co-authored-by: Uilian Ries --- recipes/poselib/all/conandata.yml | 3 +++ recipes/poselib/all/conanfile.py | 5 +++-- recipes/poselib/config.yml | 2 ++ 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/recipes/poselib/all/conandata.yml b/recipes/poselib/all/conandata.yml index cab8f6e395791..32b5efa0b3081 100644 --- a/recipes/poselib/all/conandata.yml +++ b/recipes/poselib/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.0.4": + url: "https://github.com/PoseLib/PoseLib/archive/refs/tags/v2.0.4.tar.gz" + sha256: "caa0c1c9b882f6e36b5ced6f781406ed97d4c1f0f61aa31345ebe54633d67c16" "2.0.3": url: "https://github.com/PoseLib/PoseLib/archive/refs/tags/v2.0.3.tar.gz" sha256: "ec52fe738a803e53c4cedc27f393a38b2dced63da6c73148e98965b338ca0efc" diff --git a/recipes/poselib/all/conanfile.py b/recipes/poselib/all/conanfile.py index 31ce840c08370..0282ec6f8bfdb 100644 --- a/recipes/poselib/all/conanfile.py +++ b/recipes/poselib/all/conanfile.py @@ -76,6 +76,7 @@ def source(self): def generate(self): tc = CMakeToolchain(self) + tc.cache_variables["MARCH_NATIVE"] = False tc.cache_variables["CMAKE_POLICY_DEFAULT_CMP0077"] = "NEW" tc.generate() @@ -83,8 +84,8 @@ def generate(self): deps.generate() def _patch_sources(self): - replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), - "-march=native -Wall -Werror -fPIC", "-Wall") + cmakelists = os.path.join(self.source_folder, "CMakeLists.txt") + replace_in_file(self, cmakelists, "-march=native -Wall -Werror -fPIC", "") def build(self): self._patch_sources() diff --git a/recipes/poselib/config.yml b/recipes/poselib/config.yml index 7f57148a20478..7776ab2d30335 100644 --- a/recipes/poselib/config.yml +++ b/recipes/poselib/config.yml @@ -1,3 +1,5 @@ versions: + "2.0.4": + folder: all "2.0.3": folder: all From 425feed903e773f56fee104dda181b8e79fcb20d Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 6 Aug 2024 21:13:01 +0900 Subject: [PATCH 280/641] (#24617) clipper2: add new version 1.4.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * clipper2: add version 1.4.0 * fix usage of new options * fix misuse options * disable -Werror * fix checksum * disable Werror on older versions * rmdir lib/cmake * Simplify patching * Simplify patching --------- Co-authored-by: Abril Rincón Blanco --- recipes/clipper2/all/conandata.yml | 7 +++++-- recipes/clipper2/all/conanfile.py | 21 +++++++++++++++++++-- recipes/clipper2/config.yml | 2 ++ 3 files changed, 26 insertions(+), 4 deletions(-) diff --git a/recipes/clipper2/all/conandata.yml b/recipes/clipper2/all/conandata.yml index 317fd4373a1de..5d1e76ef64605 100644 --- a/recipes/clipper2/all/conandata.yml +++ b/recipes/clipper2/all/conandata.yml @@ -1,7 +1,10 @@ sources: + "1.4.0": + url: "https://github.com/AngusJohnson/Clipper2/archive/refs/tags/Clipper2_1.4.0.tar.gz" + sha256: "b83f71bb6a338f4f82116089c5ae867dbc43a2d651b5441380970dd966edd959" "1.3.0": - url: "https://github.com/AngusJohnson/Clipper2/archive/refs/tags/Cliper2_1.3.0.tar.gz" - sha256: "f7e1a706f5f786ed1be8ae969ce15ca569ce36d8de1c3d3f3dacfb3ce0c493e8" + url: "https://github.com/AngusJohnson/Clipper2/archive/refs/tags/Clipper2_1.3.0.tar.gz" + sha256: "8e537ec320e140afaa8fba1f23120416693cc1d71b0f76ad801d24b88b5e0b3c" "1.2.4": url: "https://github.com/AngusJohnson/Clipper2/archive/refs/tags/Clipper2_1.2.4.tar.gz" sha256: "a013d391c25c5f665cdb5cbd75cdd842dcc28f6e1bd098454beb359f6f212f33" diff --git a/recipes/clipper2/all/conanfile.py b/recipes/clipper2/all/conanfile.py index fe88fd67b3e80..c01db389a4cf8 100644 --- a/recipes/clipper2/all/conanfile.py +++ b/recipes/clipper2/all/conanfile.py @@ -1,6 +1,6 @@ from conan import ConanFile from conan.errors import ConanInvalidConfiguration -from conan.tools.files import get, copy, rmdir, export_conandata_patches, apply_conandata_patches +from conan.tools.files import get, copy, rmdir, export_conandata_patches, apply_conandata_patches, replace_in_file from conan.tools.build import check_min_cppstd from conan.tools.scm import Version from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout @@ -21,11 +21,15 @@ class Clipper2Conan(ConanFile): "shared": [True, False], "fPIC": [True, False], "usingz": ["ON", "OFF", "ONLY"], + "with_max_precision": ["ANY"], + "with_hi_precision": [True, False], } default_options = { "shared": False, "fPIC": True, "usingz": "ON", + "with_max_precision": 8, + "with_hi_precision": False, } @property @@ -48,6 +52,10 @@ def export_sources(self): def config_options(self): if self.settings.os == "Windows": del self.options.fPIC + if Version(self.version) < "1.2.4": + del self.options.with_max_precision + if Version(self.version) < "1.4.0": + del self.options.with_hi_precision def configure(self): if self.options.shared: @@ -75,10 +83,18 @@ def generate(self): tc.variables["CLIPPER2_EXAMPLES"] = False tc.variables["CLIPPER2_TESTS"] = False tc.variables["CLIPPER2_USINGZ"] = self.options.usingz + if "with_hi_precision" in self.options: + tc.variables["CLIPPER2_HI_PRECISION"] = self.options.with_hi_precision + if "with_max_precision" in self.options: + tc.variables["CLIPPER2_MAX_PRECISION"] = self.options.with_max_precision tc.generate() + + def _patch_sources(self): + apply_conandata_patches(self) + replace_in_file(self, os.path.join(self.source_folder, "CPP", "CMakeLists.txt"), "-Werror", "") def build(self): - apply_conandata_patches(self) + self._patch_sources() cmake = CMake(self) cmake.configure(build_script_folder=os.path.join(self.source_folder, "CPP")) cmake.build() @@ -89,6 +105,7 @@ def package(self): cmake.install() rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) + rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) def package_info(self): if self.options.usingz != "ONLY": diff --git a/recipes/clipper2/config.yml b/recipes/clipper2/config.yml index 49b239cf22a6f..4c35529540bb1 100644 --- a/recipes/clipper2/config.yml +++ b/recipes/clipper2/config.yml @@ -1,4 +1,6 @@ versions: + "1.4.0": + folder: all "1.3.0": folder: all "1.2.4": From f954530b9546f5e86a2e8c3bb3c9a93c8a37c5b8 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 6 Aug 2024 21:52:14 +0900 Subject: [PATCH 281/641] (#24677) argz: add recipe * argz: add recipe * drop support apple-clang 13 * remove patch feature --- recipes/argz/all/conandata.yml | 4 ++ recipes/argz/all/conanfile.py | 70 +++++++++++++++++++ recipes/argz/all/test_package/CMakeLists.txt | 8 +++ recipes/argz/all/test_package/conanfile.py | 26 +++++++ .../argz/all/test_package/test_package.cpp | 28 ++++++++ recipes/argz/config.yml | 3 + 6 files changed, 139 insertions(+) create mode 100644 recipes/argz/all/conandata.yml create mode 100644 recipes/argz/all/conanfile.py create mode 100644 recipes/argz/all/test_package/CMakeLists.txt create mode 100644 recipes/argz/all/test_package/conanfile.py create mode 100644 recipes/argz/all/test_package/test_package.cpp create mode 100644 recipes/argz/config.yml diff --git a/recipes/argz/all/conandata.yml b/recipes/argz/all/conandata.yml new file mode 100644 index 0000000000000..a8b111b9078ce --- /dev/null +++ b/recipes/argz/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "0.2.1": + url: "https://github.com/stephenberry/argz/archive/refs/tags/v0.2.1.tar.gz" + sha256: "1a9d85ef7e4722f81ce426c2cf8ceaa0a10cc42e7762cdf2465ae6484ece9c7e" diff --git a/recipes/argz/all/conanfile.py b/recipes/argz/all/conanfile.py new file mode 100644 index 0000000000000..1d0b4e30fd7e6 --- /dev/null +++ b/recipes/argz/all/conanfile.py @@ -0,0 +1,70 @@ +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import check_min_cppstd +from conan.tools.files import copy, get +from conan.tools.layout import basic_layout +from conan.tools.scm import Version +import os + + +required_conan_version = ">=1.52.0" + + +class ArgzConan(ConanFile): + name = "argz" + description = "A light weight C++ in memory argument parser" + license = "Apache-2.0" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/stephenberry/argz" + topics = ("argument", "parser", "header-only") + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" + no_copy_source = True + + @property + def _min_cppstd(self): + return 20 + + @property + def _compilers_minimum_version(self): + return { + "gcc": "11", + "clang": "12", + "apple-clang": "14", + "Visual Studio": "16", + "msvc": "192", + } + + def layout(self): + basic_layout(self, src_folder="src") + + def package_id(self): + self.info.clear() + + def validate(self): + if self.settings.compiler.get_safe("cppstd"): + check_min_cppstd(self, self._min_cppstd) + minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) + if minimum_version and Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration( + f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." + ) + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def package(self): + copy(self, "LICENSE", self.source_folder, os.path.join(self.package_folder, "licenses")) + copy( + self, + "*.hpp", + os.path.join(self.source_folder, "include"), + os.path.join(self.package_folder, "include"), + ) + + def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] + + self.cpp_info.set_property("cmake_file_name", "argz") + self.cpp_info.set_property("cmake_target_name", "argz::argz") diff --git a/recipes/argz/all/test_package/CMakeLists.txt b/recipes/argz/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..8904da5a62a1d --- /dev/null +++ b/recipes/argz/all/test_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) + +find_package(argz REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE argz::argz) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_20) diff --git a/recipes/argz/all/test_package/conanfile.py b/recipes/argz/all/test_package/conanfile.py new file mode 100644 index 0000000000000..3a91c9439218e --- /dev/null +++ b/recipes/argz/all/test_package/conanfile.py @@ -0,0 +1,26 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def layout(self): + cmake_layout(self) + + def requirements(self): + self.requires(self.tested_reference_str) + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/argz/all/test_package/test_package.cpp b/recipes/argz/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..8e6558ac798fa --- /dev/null +++ b/recipes/argz/all/test_package/test_package.cpp @@ -0,0 +1,28 @@ +#include + +int main(int argc, char* argv[]) { + constexpr std::string_view version = "1.2.3"; + argz::about about{ "My program description", version }; + + std::string input{}; + std::string study{}; + int number = 123; + bool boolean = true; + std::optional number_opt{}; + argz::options opts{ + { { "input", 'i' }, input, "the input file"}, + { { "study", 's' }, study, "a study file"}, + { { "number" }, number, "input an int"}, + { { "boolean" }, boolean, "a boolean" }, + { { "number_opt" }, number_opt, "input an int"} + }; + + try { + argz::parse(about, opts, argc, argv); + } + catch (const std::exception& e) { + std::cerr << e.what() << '\n'; + } + + return 0; +} diff --git a/recipes/argz/config.yml b/recipes/argz/config.yml new file mode 100644 index 0000000000000..f975c1e3261f7 --- /dev/null +++ b/recipes/argz/config.yml @@ -0,0 +1,3 @@ +versions: + "0.2.1": + folder: all From b3b22d68467e81686f1a6ea0477a7f1eef9b5644 Mon Sep 17 00:00:00 2001 From: luc-c Date: Tue, 6 Aug 2024 15:22:01 +0200 Subject: [PATCH 282/641] (#24790) Fix typo in linter-yaml.yml --- .github/workflows/linter-yaml.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/linter-yaml.yml b/.github/workflows/linter-yaml.yml index d7d4050e8071d..4e0fb288a25ec 100644 --- a/.github/workflows/linter-yaml.yml +++ b/.github/workflows/linter-yaml.yml @@ -91,7 +91,7 @@ jobs: done echo "::remove-matcher owner=yamllint_matcher::" - for file in ${{ steps.changed_files_conandata.outputs.all_changed_files }}; do + for file in ${{ steps.changed_files_config.outputs.all_changed_files }}; do python3 linter/config_yaml_linter.py ${file} done From b9d95f4db42b421040cbc368b730d28225e24959 Mon Sep 17 00:00:00 2001 From: Daniel Date: Tue, 6 Aug 2024 15:22:55 +0200 Subject: [PATCH 283/641] (#24844) [aws refactor] aws-c-common: Add 0.9.15 and remove old versions --- recipes/aws-c-common/all/conandata.yml | 38 ++----------------- recipes/aws-c-common/all/conanfile.py | 5 +-- .../all/patches/0001-disable-fPIC.patch | 13 ------- .../patches/0002-no-warnings-as-errors.patch | 20 ---------- recipes/aws-c-common/config.yml | 18 +-------- 5 files changed, 5 insertions(+), 89 deletions(-) delete mode 100644 recipes/aws-c-common/all/patches/0001-disable-fPIC.patch delete mode 100644 recipes/aws-c-common/all/patches/0002-no-warnings-as-errors.patch diff --git a/recipes/aws-c-common/all/conandata.yml b/recipes/aws-c-common/all/conandata.yml index f366f90bafb70..615dbce394f02 100644 --- a/recipes/aws-c-common/all/conandata.yml +++ b/recipes/aws-c-common/all/conandata.yml @@ -1,39 +1,7 @@ sources: - "0.9.12": - url: "https://github.com/awslabs/aws-c-common/archive/v0.9.12.tar.gz" - sha256: "10ef8f5629fb6ac24aa4893f3bb9a8480997e96a58c81043e019bf6b149f4332" - "0.9.6": - url: "https://github.com/awslabs/aws-c-common/archive/v0.9.6.tar.gz" - sha256: "5c30cc066a7f05fb8e4728f93aeed0e0e2698197a6df76237ac4e1200977d090" - "0.9.3": - url: "https://github.com/awslabs/aws-c-common/archive/v0.9.3.tar.gz" - sha256: "389eaac7f64d7d5a91ca3decad6810429eb5a65bbba54798b9beffcb4d1d1ed6" - "0.9.0": - url: "https://github.com/awslabs/aws-c-common/archive/v0.9.0.tar.gz" - sha256: "9b62ab1dcece3107810ea4f4511fe8e1e010a83cb0cb502b6ec685ce752a7b0c" - "0.8.23": - url: "https://github.com/awslabs/aws-c-common/archive/v0.8.23.tar.gz" - sha256: "67455d8149c74b1db3e4dd68db47dc7372de02dd78fbc620f9c7f0270d9d6018" - "0.8.2": - url: "https://github.com/awslabs/aws-c-common/archive/v0.8.2.tar.gz" - sha256: "36edc6e486c43bbb34059dde227e872c0d41ab54f0b3609d38f188cfbbc6d1f8" - "0.7.5": - url: "https://github.com/awslabs/aws-c-common/archive/v0.7.5.tar.gz" - sha256: "e34fd3d3d32e3597f572205aaabbe995e162f4015e14c7328987b596bd25812c" - "0.6.20": - url: "https://github.com/awslabs/aws-c-common/archive/v0.6.20.tar.gz" - sha256: "6eb0b806c78b36a32eec9bcba8d2833e3973491a29d46fe3d11edc3f8d3e7f73" + "0.9.15": + url: "https://github.com/awslabs/aws-c-common/archive/v0.9.15.tar.gz" + sha256: "8f36c7a6a5d2e17365759d15591f800d3e76dcaa34a226389b92647cbd92393a" "0.6.11": url: "https://github.com/awslabs/aws-c-common/archive/v0.6.11.tar.gz" sha256: "86159bd1128eee2813f705c275d319e14d1b77017fab46f6ca5dafcc66edaea9" - "0.4.25": - url: "https://github.com/awslabs/aws-c-common/archive/v0.4.25.tar.gz" - sha256: "f85a8f74e42bd983a4615654457f8037876bc6b8dbf890e368bb516cbc2e9844" -patches: - "0.4.25": - - patch_file: "patches/0001-disable-fPIC.patch" - patch_description: "Don't enable position independent code (will be handled by conan)" - patch_type: "conan" - - patch_file: "patches/0002-no-warnings-as-errors.patch" - patch_description: "Don't make all warnings into errors" - patch_type: "portability" diff --git a/recipes/aws-c-common/all/conanfile.py b/recipes/aws-c-common/all/conanfile.py index 4c7af96e0f6da..f3f589547f059 100644 --- a/recipes/aws-c-common/all/conanfile.py +++ b/recipes/aws-c-common/all/conanfile.py @@ -41,8 +41,6 @@ def export_sources(self): def config_options(self): if self.settings.os == "Windows": del self.options.fPIC - if Version(self.version) < "0.6.11": - del self.options.cpu_extensions def configure(self): if self.options.shared: @@ -64,8 +62,7 @@ def generate(self): tc = CMakeToolchain(self) tc.variables["BUILD_TESTING"] = False tc.variables["AWS_ENABLE_LTO"] = False - if Version(self.version) >= "0.6.0": - tc.variables["AWS_WARNINGS_ARE_ERRORS"] = False + tc.variables["AWS_WARNINGS_ARE_ERRORS"] = False if is_msvc(self): tc.variables["STATIC_CRT"] = is_msvc_static_runtime(self) tc.variables["USE_CPU_EXTENSIONS"] = self.options.get_safe("cpu_extensions", False) diff --git a/recipes/aws-c-common/all/patches/0001-disable-fPIC.patch b/recipes/aws-c-common/all/patches/0001-disable-fPIC.patch deleted file mode 100644 index 1c3c5cada4202..0000000000000 --- a/recipes/aws-c-common/all/patches/0001-disable-fPIC.patch +++ /dev/null @@ -1,13 +0,0 @@ ---- cmake/AwsCFlags.cmake -+++ cmake/AwsCFlags.cmake -@@ -62,8 +62,8 @@ - # Warning disables always go last to avoid future flags re-enabling them - list(APPEND AWS_C_FLAGS -Wno-long-long) - -- # Always enable position independent code, since this code will always end up in a shared lib -- list(APPEND AWS_C_FLAGS -fPIC) -+ # Don't always set fPIC as conan will handle position independent code. -+ # list(APPEND AWS_C_FLAGS -fPIC) - - if (LEGACY_COMPILER_SUPPORT) - list(APPEND AWS_C_FLAGS -Wno-strict-aliasing) diff --git a/recipes/aws-c-common/all/patches/0002-no-warnings-as-errors.patch b/recipes/aws-c-common/all/patches/0002-no-warnings-as-errors.patch deleted file mode 100644 index 8abe45bd0a3d6..0000000000000 --- a/recipes/aws-c-common/all/patches/0002-no-warnings-as-errors.patch +++ /dev/null @@ -1,20 +0,0 @@ ---- a/cmake/AwsCFlags.cmake -+++ b/cmake/AwsCFlags.cmake -@@ -34,7 +34,7 @@ function(aws_set_common_properties target) - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS}" PARENT_SCOPE) - endif() - -- list(APPEND AWS_C_FLAGS /W4 /WX /MP) -+ list(APPEND AWS_C_FLAGS /W4 /MP) - # /volatile:iso relaxes some implicit memory barriers that MSVC normally applies for volatile accesses - # Since we want to be compatible with user builds using /volatile:iso, use it for the tests. - list(APPEND AWS_C_FLAGS /volatile:iso) -@@ -49,7 +49,7 @@ function(aws_set_common_properties target) - list(APPEND AWS_C_FLAGS "${_FLAGS}") - - else() -- list(APPEND AWS_C_FLAGS -Wall -Werror -Wstrict-prototypes) -+ list(APPEND AWS_C_FLAGS -Wall -Wstrict-prototypes) - - if(NOT SET_PROPERTIES_NO_WEXTRA) - list(APPEND AWS_C_FLAGS -Wextra) diff --git a/recipes/aws-c-common/config.yml b/recipes/aws-c-common/config.yml index ebff64530ccd5..e7b9215f4c431 100644 --- a/recipes/aws-c-common/config.yml +++ b/recipes/aws-c-common/config.yml @@ -1,21 +1,5 @@ versions: - "0.9.12": - folder: all - "0.9.6": - folder: all - "0.9.3": - folder: all - "0.9.0": - folder: all - "0.8.23": - folder: all - "0.8.2": - folder: all - "0.7.5": - folder: all - "0.6.20": + "0.9.15": folder: all "0.6.11": folder: all - "0.4.25": - folder: all From 17f6cdb1492e0806a91356ef5c76b3a0d1d9653d Mon Sep 17 00:00:00 2001 From: Uilian Ries Date: Tue, 6 Aug 2024 15:03:10 +0100 Subject: [PATCH 284/641] (#24564) [openh264] Use meson to build the project * Use meson to build openh264 Signed-off-by: Uilian Ries * Do not support Android Signed-off-by: Uilian Ries * Disable tests Signed-off-by: Uilian Ries * Honor windows lib names Signed-off-by: Uilian Ries * Remove extra libraries Signed-off-by: Uilian Ries * Remove extra libraries Signed-off-by: Uilian Ries * Add nasm as tool requirement Signed-off-by: Uilian Ries * use nasm only when building x86 Signed-off-by: Uilian Ries * use nasm only when building x86 Signed-off-by: Uilian Ries * Disable Macos for 2.1.1 Signed-off-by: Uilian Ries * Build on Windows Signed-off-by: Uilian Ries * Honor windows lib names Signed-off-by: Uilian Ries * Trigger CI Signed-off-by: Uilian Ries * Rename library Signed-off-by: Uilian Ries * Remove pdb for any version Signed-off-by: Uilian Ries * Fix apple rpath Signed-off-by: Uilian Ries * Fix static linkage for Android Signed-off-by: Uilian Ries * Preserve .dll names Signed-off-by: Uilian Ries * Fix preserve condition Signed-off-by: Uilian Ries --------- Signed-off-by: Uilian Ries --- recipes/openh264/all/conandata.yml | 35 ---- recipes/openh264/all/conanfile.py | 184 ++++++------------ .../1.7.0-0001-platform-android.mk.patch | 28 --- .../1.7.0-0002-macos-relocatable-shared.patch | 11 -- ...04-mingw-override-CC-CXX-AR-from-env.patch | 9 - .../2.1.1-0001-platform-android.mk.patch | 18 -- .../2.1.1-0002-macos-relocatable-shared.patch | 11 -- .../2.3.1-0001-platform-android.mk.patch | 21 -- .../2.3.1-0002-macos-relocatable-shared.patch | 11 -- .../2.4.1-0001-platform-android.mk.patch | 13 -- .../openh264/all/test_package/conanfile.py | 4 +- recipes/openh264/config.yml | 2 - 12 files changed, 65 insertions(+), 282 deletions(-) delete mode 100644 recipes/openh264/all/patches/1.7.0-0001-platform-android.mk.patch delete mode 100644 recipes/openh264/all/patches/1.7.0-0002-macos-relocatable-shared.patch delete mode 100644 recipes/openh264/all/patches/1.7.0-0004-mingw-override-CC-CXX-AR-from-env.patch delete mode 100644 recipes/openh264/all/patches/2.1.1-0001-platform-android.mk.patch delete mode 100644 recipes/openh264/all/patches/2.1.1-0002-macos-relocatable-shared.patch delete mode 100644 recipes/openh264/all/patches/2.3.1-0001-platform-android.mk.patch delete mode 100644 recipes/openh264/all/patches/2.3.1-0002-macos-relocatable-shared.patch delete mode 100644 recipes/openh264/all/patches/2.4.1-0001-platform-android.mk.patch diff --git a/recipes/openh264/all/conandata.yml b/recipes/openh264/all/conandata.yml index bae40a3d0b27c..952b7e0034b6e 100644 --- a/recipes/openh264/all/conandata.yml +++ b/recipes/openh264/all/conandata.yml @@ -8,38 +8,3 @@ sources: "2.1.1": url: "https://github.com/cisco/openh264/archive/v2.1.1.tar.gz" sha256: "af173e90fce65f80722fa894e1af0d6b07572292e76de7b65273df4c0a8be678" - "1.7.0": - url: "https://github.com/cisco/openh264/archive/v1.7.0.tar.gz" - sha256: "9c07c38d7de00046c9c52b12c76a2af7648b70d05bd5460c8b67f6895738653f" -patches: - "2.4.1": - - patch_file: "patches/2.4.1-0001-platform-android.mk.patch" - patch_description: "Android Fix" - patch_type: "portability" - "2.3.1": - - patch_file: "patches/2.3.1-0001-platform-android.mk.patch" - patch_description: "Android Fix" - patch_type: "portability" - - patch_file: "patches/2.3.1-0002-macos-relocatable-shared.patch" - patch_description: "Macos relocatable shared fix" - patch_type: "portability" - "2.1.1": - - patch_file: "patches/2.1.1-0001-platform-android.mk.patch" - patch_description: "Android Fix" - patch_type: "portability" - - patch_file: "patches/2.1.1-0002-macos-relocatable-shared.patch" - patch_description: "Macos relocatable shared fix" - patch_type: "portability" - - patch_file: "patches/1.7.0-0004-mingw-override-CC-CXX-AR-from-env.patch" - patch_description: "Mingw Override CC CXX AR from env Fix" - patch_type: "portability" - "1.7.0": - - patch_file: "patches/1.7.0-0001-platform-android.mk.patch" - patch_description: "Android Fix" - patch_type: "portability" - - patch_file: "patches/1.7.0-0002-macos-relocatable-shared.patch" - patch_description: "Macos relocatable shared fix" - patch_type: "portability" - - patch_file: "patches/1.7.0-0004-mingw-override-CC-CXX-AR-from-env.patch" - patch_description: "Mingw Override CC CXX AR from env Fix" - patch_type: "portability" diff --git a/recipes/openh264/all/conanfile.py b/recipes/openh264/all/conanfile.py index 00cb4e7604b28..5b20e84d4fa4c 100644 --- a/recipes/openh264/all/conanfile.py +++ b/recipes/openh264/all/conanfile.py @@ -1,16 +1,18 @@ from conan import ConanFile from conan.tools.build import stdcpp_library from conan.tools.env import VirtualBuildEnv -from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rmdir, replace_in_file, chdir -from conan.tools.gnu import Autotools, AutotoolsToolchain -from conan.tools.apple import is_apple_os, fix_apple_shared_install_name +from conan.tools.files import copy, get, rmdir, rm, rename, replace_in_file from conan.tools.layout import basic_layout -from conan.tools.microsoft import check_min_vs, is_msvc, unix_path, msvc_runtime_flag +from conan.tools.microsoft import is_msvc +from conan.tools.apple import fix_apple_shared_install_name +from conan.tools.scm import Version +from conan.tools.meson import Meson, MesonToolchain +from conan.errors import ConanInvalidConfiguration import os -required_conan_version = ">=1.57.0" +required_conan_version = ">=1.54.0" class OpenH264Conan(ConanFile): @@ -31,16 +33,13 @@ class OpenH264Conan(ConanFile): "fPIC": True, } - @property - def _settings_build(self): - return getattr(self, "settings_build", self.settings) - @property def _is_clang_cl(self): return self.settings.os == 'Windows' and self.settings.compiler == 'clang' - def export_sources(self): - export_conandata_patches(self) + @property + def _preserve_dll_name(self): + return (is_msvc(self) or self._is_clang_cl) and Version(self.version) <= "2.4.1" and self.options.shared def config_options(self): if self.settings.os == "Windows": @@ -54,137 +53,80 @@ def layout(self): basic_layout(self, src_folder="src") def build_requirements(self): - if self.settings.arch in ("x86", "x86_64"): - self.tool_requires("nasm/2.15.05") - if self._settings_build.os == "Windows": - self.win_bash = True - if not self.conf.get("tools.microsoft.bash:path", default=False, check_type=str): - self.tool_requires("msys2/cci.latest") - if is_msvc(self): - self.tool_requires("automake/1.16.5") + self.tool_requires("meson/1.4.1") + if not self.conf.get("tools.gnu:pkg_config", check_type=str): + self.tool_requires("pkgconf/2.2.0") + if self.settings.arch in ["x86", "x86_64"]: + self.tool_requires("nasm/2.16.01") + + def validate(self): + if Version(self.version) <= "2.1.1" and self.settings.os in ["Android", "Macos"]: + # INFO: ../src/meson.build:86:2: ERROR: Problem encountered: FIXME: Unhandled system android + # INFO: ../src/meson.build:86:2: ERROR: Problem encountered: FIXME: Unhandled system darwin + raise ConanInvalidConfiguration(f"{self.ref} does not support {self.settings.os}. Try a newer version.") def source(self): get(self, **self.conan_data["sources"][self.version], destination=self.source_folder, strip_root=True) - def _patch_sources(self): - if is_msvc(self): - replace_in_file(self, os.path.join(self.source_folder, "build", "platform-msvc.mk"), - "CFLAGS_OPT += -MT", - f"CFLAGS_OPT += -{msvc_runtime_flag(self)}") - replace_in_file(self, os.path.join(self.source_folder, "build", "platform-msvc.mk"), - "CFLAGS_DEBUG += -MTd -Gm", - f"CFLAGS_DEBUG += -{msvc_runtime_flag(self)} -Gm") - if self.settings.os == "Android": - replace_in_file(self, os.path.join(self.source_folder, "codec", "build", "android", "dec", "jni", "Application.mk"), - "APP_STL := stlport_shared", - f"APP_STL := {self.settings.compiler.libcxx}") - replace_in_file(self, os.path.join(self.source_folder, "codec", "build", "android", "dec", "jni", "Application.mk"), - "APP_PLATFORM := android-12", - f"APP_PLATFORM := {self._android_target}") - - @property - def _library_filename(self): - prefix = "" if (is_msvc(self) or self._is_clang_cl) else "lib" - if self.options.shared: - if is_apple_os(self): - suffix = ".dylib" - elif self.settings.os == "Windows": - suffix = ".dll" - else: - suffix = ".so" - else: - if is_msvc(self) or self._is_clang_cl: - suffix = ".lib" - else: - suffix = ".a" - return prefix + "openh264" + suffix - - @property - def _make_arch(self): - return { - "armv7": "arm", - "armv8": "arm64", - "x86": "i386", - }.get(str(self.settings.arch), str(self.settings.arch)) - - @property - def _android_target(self): - return f"android-{self.settings.os.api_level}" - - @property - def _make_args(self): - prefix = unix_path(self, os.path.abspath(self.package_folder)) - args = [ - f"ARCH={self._make_arch}", - f"PREFIX={prefix}" - ] - - if is_msvc(self) or self._is_clang_cl: - args.append("OS=msvc") - else: - if self.settings.os == "Windows": - args.append("OS=mingw_nt") - if self.settings.os == "Android": - libcxx = str(self.settings.compiler.libcxx) - stl_lib = f'$(NDKROOT)/sources/cxx-stl/llvm-libc++/libs/$(APP_ABI)/lib{"c++_static.a" if libcxx == "c++_static" else "c++_shared.so"}' \ - + "$(NDKROOT)/sources/cxx-stl/llvm-libc++/libs/$(APP_ABI)/libc++abi.a" - ndk_home = self.conf.get("tools.android:ndk_path") - args.extend([ - f"NDKLEVEL={self.settings.os.api_level}", - f"STL_LIB={stl_lib}", - "OS=android", - f"NDKROOT={ndk_home}", # not NDK_ROOT here - f"TARGET={self._android_target}", - "CCASFLAGS=$(CFLAGS) -fno-integrated-as", - ]) - - return args - def generate(self): env = VirtualBuildEnv(self) env.generate() - tc = AutotoolsToolchain(self) - tc.make_args.extend(self._make_args) - - if is_msvc(self): - tc.extra_cxxflags.append("-nologo") - if check_min_vs(self, "180", raise_invalid=False): - # https://github.com/conan-io/conan/issues/6514 - tc.extra_cxxflags.append("-FS") - # not needed during and after 2.3.1 - elif self.settings.compiler in ("apple-clang",): - if self.settings.arch in ("armv8",): - tc.extra_ldflags.append("-arch arm64") + tc = MesonToolchain(self) + tc.project_options["tests"] = "disabled" tc.generate() + def _patch_sources(self): + if self._preserve_dll_name: + # INFO: When generating with Meson, the library name is openh264-7.dll. This change preserves the old name openh264.dll + replace_in_file(self, os.path.join(self.source_folder, "meson.build"), "soversion: major_version,", "soversion: '',") + def build(self): - apply_conandata_patches(self) self._patch_sources() - autotools = Autotools(self) - with chdir(self, self.source_folder): - autotools.make(target=self._library_filename) + 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) - autotools = Autotools(self) - with chdir(self, self.source_folder): - autotools.make( - target=f'install-{"shared" if self.options.shared else "static-lib"}') + copy(self, pattern="LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + meson = Meson(self) + meson.install() rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) + # INFO: Version 2.1.1 installs both static and shared libraries using same target name + if Version(self.version) <= "2.1.1": + if self.options.shared: + rm(self, "*.a", os.path.join(self.package_folder, "lib")) + else: + rm(self, "*.so*", os.path.join(self.package_folder, "lib")) + rm(self, "*.dylib*", os.path.join(self.package_folder, "lib")) + rm(self, "*.dll", os.path.join(self.package_folder, "bin")) + rm(self, "openh264.lib", os.path.join(self.package_folder, "lib")) + + if is_msvc(self) or self._is_clang_cl: + rm(self, "*.pdb", os.path.join(self.package_folder, "bin")) + if self._preserve_dll_name: + # INFO: Preserve same old library name as when building with Make on Windows but using Meson + rename(self, os.path.join(self.package_folder, "lib", "openh264.lib"), + os.path.join(self.package_folder, "lib", "openh264_dll.lib")) + else: + rename(self, os.path.join(self.package_folder, "lib", "libopenh264.a"), + os.path.join(self.package_folder, "lib", "openh264.lib")) fix_apple_shared_install_name(self) def package_info(self): - self.cpp_info.set_property("pkg_config_name", "openh264") - suffix = "_dll" if ( - is_msvc(self) or self._is_clang_cl) and self.options.shared else "" + suffix = "_dll" if self._preserve_dll_name else "" self.cpp_info.libs = [f"openh264{suffix}"] if self.settings.os in ("FreeBSD", "Linux"): self.cpp_info.system_libs.extend(["m", "pthread"]) if self.settings.os == "Android": self.cpp_info.system_libs.append("m") - libcxx = stdcpp_library(self) - if libcxx: - self.cpp_info.system_libs.append(libcxx) + if not self.options.shared: + libcxx = stdcpp_library(self) + if libcxx: + if self.settings.os == "Android" and libcxx == "c++_static": + # INFO: When builing for Android, need to link against c++abi too. Otherwise will get linkage errors: + # ld.lld: error: undefined symbol: operator new(unsigned long) + # >>> referenced by welsEncoderExt.cpp + self.cpp_info.system_libs.append("c++abi") + self.cpp_info.system_libs.append(libcxx) diff --git a/recipes/openh264/all/patches/1.7.0-0001-platform-android.mk.patch b/recipes/openh264/all/patches/1.7.0-0001-platform-android.mk.patch deleted file mode 100644 index 512d9a7cdfe3f..0000000000000 --- a/recipes/openh264/all/patches/1.7.0-0001-platform-android.mk.patch +++ /dev/null @@ -1,28 +0,0 @@ ---- build/platform-android.mk -+++ build/platform-android.mk -@@ -38,23 +38,12 @@ - - TOOLCHAINPREFIX = $(shell NDK_PROJECT_PATH=$(SRC_PATH)/codec/build/android/dec make --no-print-dir -f $(NDKROOT)/build/core/build-local.mk DUMP_TOOLCHAIN_PREFIX APP_ABI=$(APP_ABI)) - --SYSROOT = $(NDKROOT)/platforms/android-$(NDKLEVEL)/arch-$(ARCH) --CXX = $(TOOLCHAINPREFIX)g++ --CC = $(TOOLCHAINPREFIX)gcc --AR = $(TOOLCHAINPREFIX)ar --CFLAGS += -DANDROID_NDK -fpic --sysroot=$(SYSROOT) -MMD -MP -+CFLAGS += -DANDROID_NDK -fpic -MMD -MP - CXXFLAGS += -fno-rtti -fno-exceptions --LDFLAGS += --sysroot=$(SYSROOT) - SHLDFLAGS = -Wl,--no-undefined -Wl,-z,relro -Wl,-z,now -Wl,-soname,lib$(PROJECT_NAME).so - --ifneq ($(CXX),$(wildcard $(CXX))) --ifneq ($(CXX).exe,$(wildcard $(CXX).exe)) --$(error Compiler not found, bad NDKROOT or ARCH?) --endif --endif -- - STL_INCLUDES = \ -- -I$(NDKROOT)/sources/cxx-stl/stlport/stlport -+ -I$(NDKROOT)/sources/cxx-stl/llvm-libc++/include - STL_LIB = \ - $(NDKROOT)/sources/cxx-stl/stlport/libs/$(APP_ABI)/libstlport_static.a - diff --git a/recipes/openh264/all/patches/1.7.0-0002-macos-relocatable-shared.patch b/recipes/openh264/all/patches/1.7.0-0002-macos-relocatable-shared.patch deleted file mode 100644 index dc10d42f2255e..0000000000000 --- a/recipes/openh264/all/patches/1.7.0-0002-macos-relocatable-shared.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/build/platform-darwin.mk -+++ b/build/platform-darwin.mk -@@ -7,7 +7,7 @@ CURRENT_VERSION := 1.7.0 - COMPATIBILITY_VERSION := 1.7.0 - SHLDFLAGS = -dynamiclib -twolevel_namespace -undefined dynamic_lookup \ - -fno-common -headerpad_max_install_names -install_name \ -- $(SHAREDLIB_DIR)/$(LIBPREFIX)$(PROJECT_NAME).$(SHAREDLIBSUFFIXMAJORVER) -+ @rpath/$(LIBPREFIX)$(PROJECT_NAME).$(SHAREDLIBSUFFIXMAJORVER) - SHARED = -dynamiclib - SHARED += -current_version $(CURRENT_VERSION) -compatibility_version $(COMPATIBILITY_VERSION) - CFLAGS += -Wall -fPIC -MMD -MP diff --git a/recipes/openh264/all/patches/1.7.0-0004-mingw-override-CC-CXX-AR-from-env.patch b/recipes/openh264/all/patches/1.7.0-0004-mingw-override-CC-CXX-AR-from-env.patch deleted file mode 100644 index fd092924362ea..0000000000000 --- a/recipes/openh264/all/patches/1.7.0-0004-mingw-override-CC-CXX-AR-from-env.patch +++ /dev/null @@ -1,9 +0,0 @@ ---- build/platform-mingw_nt.mk -+++ build/platform-mingw_nt.mk -@@ -13,3 +13,3 @@ --CC = x86_64-w64-mingw32-gcc --CXX = x86_64-w64-mingw32-g++ --AR = x86_64-w64-mingw32-ar -+CC ?= x86_64-w64-mingw32-gcc -+CXX ?= x86_64-w64-mingw32-g++ -+AR ?= x86_64-w64-mingw32-ar diff --git a/recipes/openh264/all/patches/2.1.1-0001-platform-android.mk.patch b/recipes/openh264/all/patches/2.1.1-0001-platform-android.mk.patch deleted file mode 100644 index 2fbaccb65a3c9..0000000000000 --- a/recipes/openh264/all/patches/2.1.1-0001-platform-android.mk.patch +++ /dev/null @@ -1,18 +0,0 @@ ---- build/platform-android.mk -+++ build/platform-android.mk -@@ -40,14 +40,9 @@ - TOOLCHAIN_NAME = $(shell NDK_TOOLCHAIN_VERSION= NDK_PROJECT_PATH=$(SRC_PATH)/codec/build/android/dec make --no-print-dir -f $(NDKROOT)/build/core/build-local.mk DUMP_TOOLCHAIN_NAME APP_ABI=$(APP_ABI)) - GCC_TOOLCHAIN_PATH = $(shell dirname $(TOOLCHAINPREFIX) | xargs dirname ) - --SYSROOT = $(NDKROOT)/platforms/android-$(NDKLEVEL)/arch-$(ARCH) --CXX = $(TOOLCHAINPREFIX)g++ --CC = $(TOOLCHAINPREFIX)gcc --AR = $(TOOLCHAINPREFIX)ar --CFLAGS += -DANDROID_NDK -fpic --sysroot=$(SYSROOT) -MMD -MP -fstack-protector-all -+CFLAGS += -DANDROID_NDK -fpic -MMD -MP -fstack-protector-all - CFLAGS += -isystem $(NDKROOT)/sysroot/usr/include -isystem $(NDKROOT)/sysroot/usr/include/$(TOOLCHAIN_NAME) -D__ANDROID_API__=$(NDKLEVEL) - CXXFLAGS += -fno-rtti -fno-exceptions --LDFLAGS += --sysroot=$(SYSROOT) - SHLDFLAGS = -Wl,--no-undefined -Wl,-z,relro -Wl,-z,now -Wl,-soname,lib$(PROJECT_NAME).so - UTSHLDFLAGS = -Wl,-soname,libut.so - diff --git a/recipes/openh264/all/patches/2.1.1-0002-macos-relocatable-shared.patch b/recipes/openh264/all/patches/2.1.1-0002-macos-relocatable-shared.patch deleted file mode 100644 index ae1867902a4ea..0000000000000 --- a/recipes/openh264/all/patches/2.1.1-0002-macos-relocatable-shared.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/build/platform-darwin.mk -+++ b/build/platform-darwin.mk -@@ -7,7 +7,7 @@ CURRENT_VERSION := 2.1.1 - COMPATIBILITY_VERSION := 2.1.0 - SHLDFLAGS = -dynamiclib -twolevel_namespace -undefined dynamic_lookup \ - -fno-common -headerpad_max_install_names -install_name \ -- $(SHAREDLIB_DIR)/$(LIBPREFIX)$(PROJECT_NAME).$(SHAREDLIBSUFFIXMAJORVER) -+ @rpath/$(LIBPREFIX)$(PROJECT_NAME).$(SHAREDLIBSUFFIXMAJORVER) - SHARED = -dynamiclib - SHARED += -current_version $(CURRENT_VERSION) -compatibility_version $(COMPATIBILITY_VERSION) - CFLAGS += -Wall -fPIC -MMD -MP -fstack-protector-all diff --git a/recipes/openh264/all/patches/2.3.1-0001-platform-android.mk.patch b/recipes/openh264/all/patches/2.3.1-0001-platform-android.mk.patch deleted file mode 100644 index 7b4564ae8dded..0000000000000 --- a/recipes/openh264/all/patches/2.3.1-0001-platform-android.mk.patch +++ /dev/null @@ -1,21 +0,0 @@ ---- build/platform-android.mk -+++ build/platform-android.mk -@@ -40,14 +40,9 @@ - TOOLCHAIN_NAME = $(shell NDK_TOOLCHAIN_VERSION= NDK_PROJECT_PATH=$(SRC_PATH)/codec/build/android/dec make --no-print-dir -f $(NDKROOT)/build/core/build-local.mk DUMP_TOOLCHAIN_NAME APP_ABI=$(APP_ABI)) - GCC_TOOLCHAIN_PATH = $(shell dirname $(TOOLCHAINPREFIX) | xargs dirname ) - --SYSROOT = $(NDKROOT)/platforms/android-$(NDKLEVEL)/arch-$(ARCH) --CXX = $(TOOLCHAINPREFIX)g++ --CC = $(TOOLCHAINPREFIX)gcc --AR = $(TOOLCHAINPREFIX)ar --CFLAGS += -DANDROID_NDK -fpic --sysroot=$(SYSROOT) -MMD -MP -+CFLAGS += -DANDROID_NDK -fpic -MMD -MP - ifeq ($(USE_STACK_PROTECTOR), Yes) - CFLAGS += -fstack-protector-all - endif - CFLAGS += -isystem $(NDKROOT)/sysroot/usr/include -isystem $(NDKROOT)/sysroot/usr/include/$(TOOLCHAIN_NAME) -D__ANDROID_API__=$(NDKLEVEL) - CXXFLAGS += -fno-rtti -fno-exceptions --LDFLAGS += --sysroot=$(SYSROOT) - SHLDFLAGS = -Wl,--no-undefined -Wl,-z,relro -Wl,-z,now -Wl,-soname,lib$(PROJECT_NAME).so - UTSHLDFLAGS = -Wl,-soname,libut.so - diff --git a/recipes/openh264/all/patches/2.3.1-0002-macos-relocatable-shared.patch b/recipes/openh264/all/patches/2.3.1-0002-macos-relocatable-shared.patch deleted file mode 100644 index 7b9b27ea4570a..0000000000000 --- a/recipes/openh264/all/patches/2.3.1-0002-macos-relocatable-shared.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/build/platform-darwin.mk -+++ b/build/platform-darwin.mk -@@ -7,7 +7,7 @@ CURRENT_VERSION := 2.3.1 - COMPATIBILITY_VERSION := 2.3.1 - SHLDFLAGS = -dynamiclib -twolevel_namespace -undefined dynamic_lookup \ - -fno-common -headerpad_max_install_names -install_name \ -- $(SHAREDLIB_DIR)/$(LIBPREFIX)$(PROJECT_NAME).$(SHAREDLIBSUFFIXMAJORVER) -+ @rpath/$(LIBPREFIX)$(PROJECT_NAME).$(SHAREDLIBSUFFIXMAJORVER) - SHARED = -dynamiclib - SHARED += -current_version $(CURRENT_VERSION) -compatibility_version $(COMPATIBILITY_VERSION) - CFLAGS += -Wall -fPIC -MMD -MP -stdlib=libc++ diff --git a/recipes/openh264/all/patches/2.4.1-0001-platform-android.mk.patch b/recipes/openh264/all/patches/2.4.1-0001-platform-android.mk.patch deleted file mode 100644 index 36191dbc4b074..0000000000000 --- a/recipes/openh264/all/patches/2.4.1-0001-platform-android.mk.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/build/platform-darwin.mk b/build/platform-darwin.mk -index 4c7dac6..f15fdb9 100644 ---- a/build/platform-darwin.mk -+++ b/build/platform-darwin.mk -@@ -7,7 +7,7 @@ CURRENT_VERSION := 2.4.1 - COMPATIBILITY_VERSION := 2.4.0 - SHLDFLAGS = -dynamiclib -twolevel_namespace -undefined dynamic_lookup \ - -fno-common -headerpad_max_install_names -install_name \ -- $(SHAREDLIB_DIR)/$(LIBPREFIX)$(PROJECT_NAME).$(SHAREDLIBSUFFIXMAJORVER) -+ @rpath/$(LIBPREFIX)$(PROJECT_NAME).$(SHAREDLIBSUFFIXMAJORVER) - SHARED = -dynamiclib - SHARED += -current_version $(CURRENT_VERSION) -compatibility_version $(COMPATIBILITY_VERSION) - CFLAGS += -Wall -fPIC -MMD -MP diff --git a/recipes/openh264/all/test_package/conanfile.py b/recipes/openh264/all/test_package/conanfile.py index 1a1d9c4ff58f1..e845ae751a301 100644 --- a/recipes/openh264/all/test_package/conanfile.py +++ b/recipes/openh264/all/test_package/conanfile.py @@ -1,5 +1,5 @@ from conan import ConanFile -from conan.tools.build import cross_building +from conan.tools.build import can_run from conan.tools.cmake import cmake_layout, CMake import os @@ -21,6 +21,6 @@ def build(self): cmake.build() def test(self): - if not cross_building(self, skip_x64_x86=True): + if can_run(self): bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package") self.run(bin_path, env="conanrun") diff --git a/recipes/openh264/config.yml b/recipes/openh264/config.yml index 6c0919f84307e..db64052e6d83c 100644 --- a/recipes/openh264/config.yml +++ b/recipes/openh264/config.yml @@ -5,5 +5,3 @@ versions: folder: all "2.1.1": folder: all - "1.7.0": - folder: all From 4d1905e3b2f961a773e27ed535a2104891088cdb Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Tue, 6 Aug 2024 07:32:21 -0700 Subject: [PATCH 285/641] (#24522) ffmpeg: allow msvc shared with conan v1 & ffmeg < 6.1.1 * allow msvc shared with conan v1 & ffmeg < 6.1.1 * Update restriction to ffmpeg 6.1 --------- Co-authored-by: Uilian Ries --- recipes/ffmpeg/all/conanfile.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/recipes/ffmpeg/all/conanfile.py b/recipes/ffmpeg/all/conanfile.py index 6c59f5ba9325c..e2529a2053314 100644 --- a/recipes/ffmpeg/all/conanfile.py +++ b/recipes/ffmpeg/all/conanfile.py @@ -194,8 +194,6 @@ class FFMpegConan(ConanFile): "disable_filters": None, "enable_filters": None, } - # Fix for mslink: Argument list too long - short_paths = True @property def _settings_build(self): @@ -345,7 +343,7 @@ def validate(self): raise ConanInvalidConfiguration("FFmpeg '{}' option requires '{}' option to be enabled".format( dependency, "' or '".join(features))) - if conan_version.major == 1 and is_msvc(self) and self.options.shared: + if Version(self.version) >= "6.1" and conan_version.major == 1 and is_msvc(self) and self.options.shared: # Linking fails with "Argument list too long" for some reason on Conan v1 raise ConanInvalidConfiguration("MSVC shared build is not supported for Conan v1") From b31ee3aa44cac6ceb8090b79bfbb545823aaef42 Mon Sep 17 00:00:00 2001 From: nerix Date: Tue, 6 Aug 2024 17:14:31 +0200 Subject: [PATCH 286/641] (#24597) libyuv: add 1892 * libyuv: add 1892 * fix: check for armv9-a+sve2 * fix: remove PIC by default * deps: loosen requirement on libjpeg-turbo and mozjpeg * fix: check for version * fix: check for fPIC before removing * fix: actually handle shared builds * Update recipes/libyuv/all/conanfile.py Co-authored-by: PerseoGI * Update recipes/libyuv/all/conanfile.py Co-authored-by: PerseoGI * Redo bump libjpeg --------- Co-authored-by: PerseoGI --- recipes/libyuv/all/conandata.yml | 9 +++ recipes/libyuv/all/conanfile.py | 22 ++++-- .../all/patches/1892-0001-check-arm-sve.patch | 48 +++++++++++++ .../all/patches/1892-0001-fix-cmake.patch | 67 +++++++++++++++++++ recipes/libyuv/config.yml | 2 + 5 files changed, 144 insertions(+), 4 deletions(-) create mode 100644 recipes/libyuv/all/patches/1892-0001-check-arm-sve.patch create mode 100644 recipes/libyuv/all/patches/1892-0001-fix-cmake.patch diff --git a/recipes/libyuv/all/conandata.yml b/recipes/libyuv/all/conandata.yml index 3b9b5764537d0..f89be505198c3 100644 --- a/recipes/libyuv/all/conandata.yml +++ b/recipes/libyuv/all/conandata.yml @@ -1,6 +1,8 @@ # Versions from LIBYUV_VERSION definition in include/libyuv/version.h # Pay attention to package commits incrementing this definition sources: + "1892": + url: "https://chromium.googlesource.com/libyuv/libyuv/+archive/4cd90347e78ff76755df2107009e900374aee9cd.tar.gz" "1880": url: "https://chromium.googlesource.com/libyuv/libyuv/+archive/fb6341d326846fbbe669ad5173e520f66b339621.tar.gz" "1854": @@ -12,6 +14,13 @@ sources: "1768": url: "https://chromium.googlesource.com/libyuv/libyuv/+archive/dfaf7534e0e536f7e5ef8ddd7326797bd09b8622.tar.gz" patches: + "1892": + - patch_file: "patches/1892-0001-fix-cmake.patch" + patch_description: "Fix CMake to be more robust & predictable" + patch_type: "conan" + - patch_file: "patches/1892-0001-check-arm-sve.patch" + patch_description: "Check if -march=armv9-a+sve2 is supported" + patch_type: "conan" "1880": - patch_file: "patches/1880-0001-fix-cmake.patch" patch_description: "Fix CMake to be more robust & predictable" diff --git a/recipes/libyuv/all/conanfile.py b/recipes/libyuv/all/conanfile.py index 4d851737efc1b..2452cb8e27058 100644 --- a/recipes/libyuv/all/conanfile.py +++ b/recipes/libyuv/all/conanfile.py @@ -1,7 +1,8 @@ from conan import ConanFile from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout -from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, replace_in_file from conan.tools.microsoft import is_msvc +from conan.tools.scm import Version import os required_conan_version = ">=1.53.0" @@ -50,9 +51,9 @@ def requirements(self): if self.options.with_jpeg == "libjpeg": self.requires("libjpeg/9e") elif self.options.with_jpeg == "libjpeg-turbo": - self.requires("libjpeg-turbo/3.0.1") + self.requires("libjpeg-turbo/[>=3.0.3 <4]") elif self.options.with_jpeg == "mozjpeg": - self.requires("mozjpeg/4.1.3") + self.requires("mozjpeg/4.1.5") def source(self): get(self, **self.conan_data["sources"][self.version]) @@ -65,8 +66,21 @@ def generate(self): deps = CMakeDeps(self) deps.generate() - def build(self): + def _patch_sources(self): apply_conandata_patches(self) + + # remove default CMAKE_POSITION_INDEPENDENT_CODE if not requested + use_fpic = self.options.get_safe("fPIC") or self.options.get_safe("shared") + if Version(self.version) >= "1892" and not use_fpic: + replace_in_file( + self, + os.path.join(self.source_folder, "CMakeLists.txt"), + "SET(CMAKE_POSITION_INDEPENDENT_CODE ON)", + "", + ) + + def build(self): + self._patch_sources() cmake = CMake(self) cmake.configure() cmake.build() diff --git a/recipes/libyuv/all/patches/1892-0001-check-arm-sve.patch b/recipes/libyuv/all/patches/1892-0001-check-arm-sve.patch new file mode 100644 index 0000000000000..c5fe4176018fc --- /dev/null +++ b/recipes/libyuv/all/patches/1892-0001-check-arm-sve.patch @@ -0,0 +1,48 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -107,25 +107,38 @@ if(NOT MSVC) + TARGET_COMPILE_OPTIONS(${ly_lib_name}_neon64 PRIVATE -march=armv8-a+dotprod+i8mm) + LIST(APPEND ly_lib_parts $) + +- # Enable AArch64 SVE kernels. +- ADD_LIBRARY(${ly_lib_name}_sve OBJECT +- ${ly_src_dir}/row_sve.cc) +- TARGET_COMPILE_OPTIONS(${ly_lib_name}_sve PRIVATE -march=armv9-a+sve2) +- LIST(APPEND ly_lib_parts $) +- + set(OLD_CMAKE_REQURED_FLAGS ${CMAKE_REQUIRED_FLAGS}) + set(OLD_CMAKE_TRY_COMPILE_TARGET_TYPE ${CMAKE_TRY_COMPILE_TARGET_TYPE}) +- set(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} -march=armv9-a+sme") ++ ++ set(CMAKE_REQUIRED_FLAGS "${CMAKE_REQURED_FLAGS} -march=armv9-a+sve2") + set(CMAKE_TRY_COMPILE_TARGET_TYPE STATIC_LIBRARY) ++ # Check whether the compiler can compile SVE functions; this fails ++ # with Clang for macOS. ++ check_c_source_compiles(" ++int main(void) { return 0; } ++ " CAN_COMPILE_SVE) ++ ++ set(CMAKE_REQUIRED_FLAGS "${OLD_CMAKE_REQURED_FLAGS} -march=armv9-a+sme") + # Check whether the compiler can compile SME functions; this fails + # with Clang for Windows. + check_c_source_compiles(" + __arm_locally_streaming void func(void) { } + int main(void) { return 0; } + " CAN_COMPILE_SME) ++ + set(CMAKE_REQUIRED_FLAGS ${OLD_CMAKE_REQURED_FLAGS}) + set(CMAKE_TRY_COMPILE_TARGET_TYPE ${OLD_CMAKE_TRY_COMPILE_TARGET_TYPE}) + ++ # Enable AArch64 SVE kernels. ++ if (CAN_COMPILE_SVE) ++ ADD_LIBRARY(${ly_lib_name}_sve OBJECT ++ ${ly_src_dir}/row_sve.cc) ++ TARGET_COMPILE_OPTIONS(${ly_lib_name}_sve PRIVATE -march=armv9-a+sve2) ++ LIST(APPEND ly_lib_parts $) ++ else() ++ ADD_DEFINITIONS(-DLIBYUV_DISABLE_SVE) ++ endif() ++ + if (CAN_COMPILE_SME) + # Enable AArch64 SME kernels. + ADD_LIBRARY(${ly_lib_name}_sme OBJECT diff --git a/recipes/libyuv/all/patches/1892-0001-fix-cmake.patch b/recipes/libyuv/all/patches/1892-0001-fix-cmake.patch new file mode 100644 index 0000000000000..9c6d556910436 --- /dev/null +++ b/recipes/libyuv/all/patches/1892-0001-fix-cmake.patch @@ -0,0 +1,67 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -4,8 +4,8 @@ + + include(CheckCSourceCompiles) + ++CMAKE_MINIMUM_REQUIRED( VERSION 3.8 ) + PROJECT ( YUV C CXX ) # "C" is required even for C++ projects +-CMAKE_MINIMUM_REQUIRED( VERSION 2.8.12 ) + OPTION( UNIT_TEST "Built unit tests" OFF ) + + SET ( ly_base_dir ${PROJECT_SOURCE_DIR} ) +@@ -139,15 +139,10 @@ int main(void) { return 0; } + endif() + + # this creates the static library (.a) +-ADD_LIBRARY( ${ly_lib_static} STATIC ${ly_lib_parts}) ++ADD_LIBRARY( ${ly_lib_static} ${ly_lib_parts}) ++target_compile_features(${ly_lib_static} PUBLIC cxx_std_11) + + # this creates the shared library (.so) +-ADD_LIBRARY( ${ly_lib_shared} SHARED ${ly_lib_parts}) +-SET_TARGET_PROPERTIES( ${ly_lib_shared} PROPERTIES OUTPUT_NAME "${ly_lib_name}" ) +-SET_TARGET_PROPERTIES( ${ly_lib_shared} PROPERTIES PREFIX "lib" ) +-if(WIN32) +- SET_TARGET_PROPERTIES( ${ly_lib_shared} PROPERTIES IMPORT_PREFIX "lib" ) +-endif() + + # this creates the cpuid tool + ADD_EXECUTABLE ( cpuid ${ly_base_dir}/util/cpuid.c ) +@@ -160,12 +155,18 @@ TARGET_LINK_LIBRARIES ( yuvconvert ${ly_lib_static} ) + # this creates the yuvconstants tool + ADD_EXECUTABLE ( yuvconstants ${ly_base_dir}/util/yuvconstants.c ) + TARGET_LINK_LIBRARIES ( yuvconstants ${ly_lib_static} ) ++include(CheckFunctionExists) ++check_function_exists(round HAVE_MATH_SYSTEM) ++if(NOT HAVE_MATH_SYSTEM) ++ target_link_libraries(yuvconstants m) ++endif() + +-find_package ( JPEG ) +-if (JPEG_FOUND) +- include_directories( ${JPEG_INCLUDE_DIR} ) +- target_link_libraries( ${ly_lib_shared} ${JPEG_LIBRARY} ) +- add_definitions( -DHAVE_JPEG ) ++option(LIBYUV_WITH_JPEG "Build libyuv with jpeg" ON) ++if (LIBYUV_WITH_JPEG) ++ find_package(JPEG REQUIRED) ++ target_link_libraries(${ly_lib_static} JPEG::JPEG ) ++ target_compile_definitions(${ly_lib_static} PRIVATE HAVE_JPEG) ++ target_compile_definitions(yuvconvert PRIVATE HAVE_JPEG) + endif() + + if(UNIT_TEST) +@@ -211,10 +212,8 @@ endif() + + + # install the conversion tool, .so, .a, and all the header files +-INSTALL ( PROGRAMS ${CMAKE_BINARY_DIR}/yuvconvert DESTINATION bin ) +-INSTALL ( TARGETS ${ly_lib_static} DESTINATION lib ) +-INSTALL ( TARGETS ${ly_lib_shared} LIBRARY DESTINATION lib RUNTIME DESTINATION bin ) ++INSTALL ( TARGETS yuvconvert yuvconstants DESTINATION bin) ++INSTALL ( TARGETS ${ly_lib_static} RUNTIME DESTINATION bin ARCHIVE DESTINATION lib LIBRARY DESTINATION lib) + INSTALL ( DIRECTORY ${PROJECT_SOURCE_DIR}/include/ DESTINATION include ) + + # create the .deb and .rpm packages using cpack +-INCLUDE ( CM_linux_packages.cmake ) diff --git a/recipes/libyuv/config.yml b/recipes/libyuv/config.yml index fe46d8f150b2c..9b10304af3038 100644 --- a/recipes/libyuv/config.yml +++ b/recipes/libyuv/config.yml @@ -1,4 +1,6 @@ versions: + "1892": + folder: all "1880": folder: all "1854": From f096eaeb90a4a2647942f39b0d47bb427f14b8f6 Mon Sep 17 00:00:00 2001 From: Alex Date: Tue, 6 Aug 2024 21:55:02 +0300 Subject: [PATCH 287/641] (#24849) mongo-c-driver: bump zstd to version range As written in Conan-Center's docs. --- recipes/mongo-c-driver/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/mongo-c-driver/all/conanfile.py b/recipes/mongo-c-driver/all/conanfile.py index cdbc84b964e85..d3e733eb6de05 100644 --- a/recipes/mongo-c-driver/all/conanfile.py +++ b/recipes/mongo-c-driver/all/conanfile.py @@ -76,7 +76,7 @@ def requirements(self): if self.options.with_zlib: self.requires("zlib/[>=1.2.11 <2]") if self.options.with_zstd: - self.requires("zstd/1.5.5") + self.requires("zstd/[^1.5]") if self.options.with_icu: self.requires("icu/74.2") From 6985464d2ac4c9a0328bcb39c6c75c01d72208a0 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 7 Aug 2024 04:32:10 +0900 Subject: [PATCH 288/641] (#24850) simdutf: add version 5.3.2 --- recipes/simdutf/all/conandata.yml | 3 +++ recipes/simdutf/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/simdutf/all/conandata.yml b/recipes/simdutf/all/conandata.yml index 599185d028d7d..6339a9b94b626 100644 --- a/recipes/simdutf/all/conandata.yml +++ b/recipes/simdutf/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "5.3.2": + url: "https://github.com/simdutf/simdutf/archive/v5.3.2.tar.gz" + sha256: "3c146fb80d775b869ae9b132f41981dc3266f616f589b5f45045d6a22fdabdca" "5.3.1": url: "https://github.com/simdutf/simdutf/archive/v5.3.1.tar.gz" sha256: "373e1e66a1c245817f0aa08ae8693b71d1703f9355d364e0d9d002929738ddcc" diff --git a/recipes/simdutf/config.yml b/recipes/simdutf/config.yml index c7f00a921b79e..186ca2905be54 100644 --- a/recipes/simdutf/config.yml +++ b/recipes/simdutf/config.yml @@ -1,4 +1,6 @@ versions: + "5.3.2": + folder: all "5.3.1": folder: all "5.2.8": From b015b0bcbdf49f068398211cd826704f03ee2dec Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 7 Aug 2024 04:52:36 +0900 Subject: [PATCH 289/641] (#24855) uwebsockets: add version 20.65.0 --- recipes/uwebsockets/all/conandata.yml | 3 +++ recipes/uwebsockets/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/uwebsockets/all/conandata.yml b/recipes/uwebsockets/all/conandata.yml index 8013b9756dcc5..ed6be06ed604c 100644 --- a/recipes/uwebsockets/all/conandata.yml +++ b/recipes/uwebsockets/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "20.65.0": + url: "https://github.com/uNetworking/uWebSockets/archive/v20.65.0.tar.gz" + sha256: "e261f7c124b3b9e217fc766d6e51d4fdc4b227aa52c7a0ca5952a9e65cea4213" "20.64.0": url: "https://github.com/uNetworking/uWebSockets/archive/v20.64.0.tar.gz" sha256: "bb81fa773dcbd6bc738904ad496554fd131a33269570e0e86fa09213d82ba9ef" diff --git a/recipes/uwebsockets/config.yml b/recipes/uwebsockets/config.yml index 421b89636665b..f22f342dc70d3 100644 --- a/recipes/uwebsockets/config.yml +++ b/recipes/uwebsockets/config.yml @@ -1,4 +1,6 @@ versions: + "20.65.0": + folder: all "20.64.0": folder: all "20.63.0": From b82fa0288fc85afe621dcbd1a61e9ebcd8478d0d Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 7 Aug 2024 16:37:10 +0900 Subject: [PATCH 290/641] (#24845) intx: add version 0.11.0 --- recipes/intx/all/conandata.yml | 3 +++ recipes/intx/all/conanfile.py | 13 ++++++++----- recipes/intx/config.yml | 2 ++ 3 files changed, 13 insertions(+), 5 deletions(-) diff --git a/recipes/intx/all/conandata.yml b/recipes/intx/all/conandata.yml index 82ca4023ed3e5..c353b5bd5861f 100644 --- a/recipes/intx/all/conandata.yml +++ b/recipes/intx/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.11.0": + url: "https://github.com/chfast/intx/archive/v0.11.0.tar.gz" + sha256: "bff2a78e3a9a3b9bbabf50500feae65bc0ec50a2364f4a83768277d6eba7a844" "0.10.1": url: "https://github.com/chfast/intx/archive/v0.10.1.tar.gz" sha256: "4663073458b5e0564e92058e5aa1a7ce88634fc72827191856b17bd7335de29b" diff --git a/recipes/intx/all/conanfile.py b/recipes/intx/all/conanfile.py index fcbc0174dcfbb..813526a90e8a3 100644 --- a/recipes/intx/all/conanfile.py +++ b/recipes/intx/all/conanfile.py @@ -17,14 +17,12 @@ class IntxConan(ConanFile): topics = ("evm", "biginteger", "arbitrary-precision", "header-only") package_type = "header-library" settings = "os", "arch", "compiler", "build_type" + no_copy_source = True @property def _min_cppstd(self): return 20 - def layout(self): - basic_layout(self, src_folder="src") - @property def _compilers_minimum_version(self): return { @@ -35,13 +33,15 @@ def _compilers_minimum_version(self): "apple-clang": "14.1", } + def layout(self): + basic_layout(self, src_folder="src") + def package_id(self): self.info.clear() def validate(self): - if self.settings.get_safe("compiler.cppstd"): + if self.settings.compiler.get_safe("cppstd"): check_min_cppstd(self, self._min_cppstd) - minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) if minimum_version and Version(self.settings.compiler.version) < minimum_version: raise ConanInvalidConfiguration( @@ -63,3 +63,6 @@ def package(self): def package_info(self): self.cpp_info.bindirs = [] self.cpp_info.libdirs = [] + + self.cpp_info.set_property("cmake_file_name", "intx") + self.cpp_info.set_property("cmake_target_name", "intx::intx") diff --git a/recipes/intx/config.yml b/recipes/intx/config.yml index 36cf695df0df6..94a2676b93212 100644 --- a/recipes/intx/config.yml +++ b/recipes/intx/config.yml @@ -1,3 +1,5 @@ versions: + "0.11.0": + folder: all "0.10.1": folder: all From da0363f3182f95c1f3bfa5983bc66ac347c6b1f8 Mon Sep 17 00:00:00 2001 From: Uilian Ries Date: Wed, 7 Aug 2024 09:02:50 +0100 Subject: [PATCH 291/641] (#24797) [libsvtav1] Disable Android build for version < 2.x * Disable Android build for older versions Signed-off-by: Uilian Ries * Fix required version for android Signed-off-by: Uilian Ries * Add version 2.1.2 Signed-off-by: Uilian Ries --------- Signed-off-by: Uilian Ries --- recipes/libsvtav1/all/conandata.yml | 39 +---------- recipes/libsvtav1/all/conanfile.py | 19 ++++-- .../all/patches/external-cpuinfo-1.2.1.patch | 68 ------------------- .../all/patches/external-cpuinfo-1.3.0.patch | 68 ------------------- .../all/patches/external-cpuinfo-1.4.1.patch | 68 ------------------- .../libsvtav1/all/test_package/CMakeLists.txt | 7 +- .../all/test_package/test_package.cpp | 4 +- recipes/libsvtav1/config.yml | 8 +-- 8 files changed, 28 insertions(+), 253 deletions(-) delete mode 100644 recipes/libsvtav1/all/patches/external-cpuinfo-1.2.1.patch delete mode 100644 recipes/libsvtav1/all/patches/external-cpuinfo-1.3.0.patch delete mode 100644 recipes/libsvtav1/all/patches/external-cpuinfo-1.4.1.patch diff --git a/recipes/libsvtav1/all/conandata.yml b/recipes/libsvtav1/all/conandata.yml index 6f34d5b9aab65..cef6d3411b8ae 100644 --- a/recipes/libsvtav1/all/conandata.yml +++ b/recipes/libsvtav1/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.1.2": + url: "https://gitlab.com/AOMediaCodec/SVT-AV1/-/archive/v2.1.2/SVT-AV1-v2.1.2.tar.gz" + sha256: "65e90af18f31f8c8d2e9febf909a7d61f36172536abb25a7089f152210847cd9" "2.1.0": url: "https://gitlab.com/AOMediaCodec/SVT-AV1/-/archive/v2.1.0/SVT-AV1-v2.1.0.tar.gz" sha256: "72a076807544f3b269518ab11656f77358284da7782cece497781ab64ed4cb8a" @@ -8,15 +11,6 @@ sources: "1.6.0": url: https://gitlab.com/AOMediaCodec/SVT-AV1/-/archive/v1.6.0/SVT-AV1-v1.6.0.tar.bz2 sha256: c6b49111a2d4c5113f1ada0c2f716d94bd4a8db704623d453066826401ecdab5 - "1.4.1": - url: https://gitlab.com/AOMediaCodec/SVT-AV1/-/archive/v1.4.1/SVT-AV1-v1.4.1.tar.bz2 - sha256: 0e988582f315fe76c909accf5e7f81b975c5bd2b850ee760d8e9fac297f70b5d - "1.3.0": - url: https://gitlab.com/AOMediaCodec/SVT-AV1/-/archive/v1.3.0/SVT-AV1-v1.3.0.tar.bz2 - sha256: f85fd13ef16880550e425797bdfdf1b0ba310c21d6b343f74ea79dd2fbb2336e - "1.2.1": - url: https://gitlab.com/AOMediaCodec/SVT-AV1/-/archive/v1.2.1/SVT-AV1-v1.2.1.tar.bz2 - sha256: 805827daa8aedec4f1362b959f377075e2a811680bfc76b6f4fbf2ef4e7101d4 patches: "1.7.0": - patch_file: "patches/external-cpuinfo-1.7.0.patch" @@ -28,30 +22,3 @@ patches: patch_type: "portability" patch_source: https://gitlab.com/AOMediaCodec/SVT-AV1/-/merge_requests/2178 patch_description: "Allow compiling with external cpuinfo" - "1.4.1": - - patch_file: "patches/llvm-clang-macos.patch" - patch_type: "portability" - patch_source: https://gitlab.com/AOMediaCodec/SVT-AV1/-/merge_requests/2087 - patch_description: "Allow statically compiling on macos with llvm-clang" - - patch_file: "patches/external-cpuinfo-1.4.1.patch" - patch_type: "portability" - patch_source: https://gitlab.com/AOMediaCodec/SVT-AV1/-/merge_requests/2178 - patch_description: "Allow compiling with external cpuinfo" - "1.3.0": - - patch_file: "patches/llvm-clang-macos.patch" - patch_type: "portability" - patch_source: https://gitlab.com/AOMediaCodec/SVT-AV1/-/merge_requests/2087 - patch_description: "Allow statically compiling on macos with llvm-clang" - - patch_file: "patches/external-cpuinfo-1.3.0.patch" - patch_type: "portability" - patch_source: https://gitlab.com/AOMediaCodec/SVT-AV1/-/merge_requests/2178 - patch_description: "Allow compiling with external cpuinfo" - "1.2.1": - - patch_file: "patches/llvm-clang-macos.patch" - patch_type: "portability" - patch_source: https://gitlab.com/AOMediaCodec/SVT-AV1/-/merge_requests/2087 - patch_description: "Allow statically compiling on macos with llvm-clang" - - patch_file: "patches/external-cpuinfo-1.2.1.patch" - patch_type: "portability" - patch_source: https://gitlab.com/AOMediaCodec/SVT-AV1/-/merge_requests/2178 - patch_description: "Allow compiling with external cpuinfo" diff --git a/recipes/libsvtav1/all/conanfile.py b/recipes/libsvtav1/all/conanfile.py index 93ab47914aaa4..4e96d05b0f57b 100644 --- a/recipes/libsvtav1/all/conanfile.py +++ b/recipes/libsvtav1/all/conanfile.py @@ -3,8 +3,9 @@ from conan.tools.cmake import cmake_layout, CMakeToolchain, CMakeDeps, CMake from conan.tools.files import copy, get, rmdir, apply_conandata_patches, export_conandata_patches from conan.tools.scm import Version +from conan.errors import ConanInvalidConfiguration -required_conan_version = ">=1.53.0" +required_conan_version = ">=1.54.0" class SVTAV1Conan(ConanFile): @@ -39,6 +40,9 @@ def config_options(self): self.options.rm_safe("fPIC") if Version(self.version) < "2.0.0": del self.options.minimal_build + if Version(self.version) >= "2.1.1": + # https://gitlab.com/AOMediaCodec/SVT-AV1/-/blob/c949fe4f14fe288a9b2b47aa3e61335422a83645/CHANGELOG.md#211---2024-06-25 + del self.options.build_decoder def configure(self): if self.options.shared: @@ -50,11 +54,17 @@ def layout(self): def requirements(self): self.requires("cpuinfo/cci.20231129") + def validate(self): + # https://gitlab.com/AOMediaCodec/SVT-AV1/-/issues/2081 + # https://gitlab.com/AOMediaCodec/SVT-AV1/-/commit/800a81b09db1cf8c9c289ecf6f70381d7888b98c + if Version(self.version) < "1.9.0" and self.settings.os == "Android": + raise ConanInvalidConfiguration(f"{self.ref} does not support Android before version 1.9.0.") + def build_requirements(self): if Version(self.version) >= "1.3.0": self.tool_requires("cmake/[>=3.16 <4]") if self.settings.arch in ("x86", "x86_64"): - self.tool_requires("nasm/2.15.05") + self.tool_requires("nasm/2.16.01") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) @@ -62,7 +72,8 @@ def source(self): def generate(self): tc = CMakeToolchain(self) tc.variables["BUILD_APPS"] = False - tc.variables["BUILD_DEC"] = self.options.build_decoder + if Version(self.version) < "2.1.1": + tc.variables["BUILD_DEC"] = self.options.build_decoder tc.variables["BUILD_ENC"] = self.options.build_encoder tc.variables["USE_EXTERNAL_CPUINFO"] = True if self.settings.arch in ("x86", "x86_64"): @@ -94,7 +105,7 @@ def package_info(self): self.cpp_info.components["encoder"].requires = ["cpuinfo::cpuinfo"] if self.settings.os in ("FreeBSD", "Linux"): self.cpp_info.components["encoder"].system_libs = ["pthread", "dl", "m"] - if self.options.build_decoder: + if self.options.get_safe("build_decoder"): self.cpp_info.components["decoder"].libs = ["SvtAv1Dec"] self.cpp_info.components["decoder"].includedirs = ["include/svt-av1"] self.cpp_info.components["decoder"].set_property("pkg_config_name", "SvtAv1Dec") diff --git a/recipes/libsvtav1/all/patches/external-cpuinfo-1.2.1.patch b/recipes/libsvtav1/all/patches/external-cpuinfo-1.2.1.patch deleted file mode 100644 index 8e74085d78f88..0000000000000 --- a/recipes/libsvtav1/all/patches/external-cpuinfo-1.2.1.patch +++ /dev/null @@ -1,68 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 9c8615541bd0a1db44ec36a761f30bd4dbb26cfb..6245acfe3e05098be57e8b1ad00126455b74e223 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -41,6 +41,11 @@ if(NOT CMAKE_SIZEOF_VOID_P EQUAL 8) - endif() - - option(COMPILE_C_ONLY "Compile only C code with no simds (autodetect, default off for x86)" OFF) -+option(USE_EXTERNAL_CPUINFO "Consume system cpuinfo library only" OFF) -+ -+if(USE_EXTERNAL_CPUINFO) -+ find_package(cpuinfo CONFIG REQUIRED) -+endif() - - include(CheckCSourceCompiles) - -@@ -542,7 +547,7 @@ endif() - - add_subdirectory(third_party/fastfeat) - --if(NOT COMPILE_C_ONLY AND HAVE_X86_PLATFORM) -+if(NOT USE_EXTERNAL_CPUINFO AND NOT COMPILE_C_ONLY AND HAVE_X86_PLATFORM) - add_subdirectory(third_party/cpuinfo) - endif() - -diff --git a/Source/Lib/Encoder/CMakeLists.txt b/Source/Lib/Encoder/CMakeLists.txt -index fa3e11c137638b8949faf00683233188653ddd4e..d4e8880309a9dac9e909b817e01cef31da4531b5 100644 ---- a/Source/Lib/Encoder/CMakeLists.txt -+++ b/Source/Lib/Encoder/CMakeLists.txt -@@ -131,7 +131,9 @@ set_target_properties(SvtAv1Enc PROPERTIES VERSION ${ENC_VERSION}) - set_target_properties(SvtAv1Enc PROPERTIES SOVERSION ${ENC_VERSION_MAJOR}) - set_target_properties(SvtAv1Enc PROPERTIES C_VISIBILITY_PRESET hidden) - target_link_libraries(SvtAv1Enc PUBLIC ${PLATFORM_LIBS}) --if(NOT COMPILE_C_ONLY AND HAVE_X86_PLATFORM) -+if(USE_EXTERNAL_CPUINFO) -+ target_link_libraries(SvtAv1Enc PRIVATE cpuinfo::cpuinfo) -+elseif(NOT COMPILE_C_ONLY AND HAVE_X86_PLATFORM) - target_link_libraries(SvtAv1Enc PRIVATE cpuinfo_public) - endif() - -diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt -index 99a0bcfd62ac7f5f268d3527d0f65c688a44eb6c..d5a3ca47f948663a56dd731e457a4922677e1f78 100644 ---- a/test/CMakeLists.txt -+++ b/test/CMakeLists.txt -@@ -85,7 +85,7 @@ set(lib_list - $ - $ - $ -- cpuinfo_public -+ $,cpuinfo::cpuinfo,cpuinfo_public> - gtest_all) - if(UNIX) - # App Source Files -diff --git a/Source/Lib/Decoder/CMakeLists.txt b/Source/Lib/Decoder/CMakeLists.txt -index ca7e51f2c2c1ec12695a0c1dd5ef90bc259edb1d..bdac723c418f619ceee2dbd7a52d9fc4ac395dc8 100644 ---- a/Source/Lib/Decoder/CMakeLists.txt -+++ b/Source/Lib/Decoder/CMakeLists.txt -@@ -100,7 +100,9 @@ set_target_properties(SvtAv1Dec PROPERTIES SOVERSION ${DEC_VERSION_MAJOR}) - set_target_properties(SvtAv1Dec PROPERTIES C_VISIBILITY_PRESET hidden) - add_dependencies(SvtAv1Dec EbVersionHeaderGen) - target_link_libraries(SvtAv1Dec PUBLIC ${PLATFORM_LIBS}) --if(NOT COMPILE_C_ONLY AND HAVE_X86_PLATFORM) -+if(USE_EXTERNAL_CPUINFO) -+ target_link_libraries(SvtAv1Dec PRIVATE cpuinfo::cpuinfo) -+elseif(NOT COMPILE_C_ONLY AND HAVE_X86_PLATFORM) - target_link_libraries(SvtAv1Dec PRIVATE cpuinfo_public) - endif() - diff --git a/recipes/libsvtav1/all/patches/external-cpuinfo-1.3.0.patch b/recipes/libsvtav1/all/patches/external-cpuinfo-1.3.0.patch deleted file mode 100644 index 8540fba08ffe5..0000000000000 --- a/recipes/libsvtav1/all/patches/external-cpuinfo-1.3.0.patch +++ /dev/null @@ -1,68 +0,0 @@ -diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt -index f98c8675acc06b3c998f29fcc712ac8befcda129..f464ead3ea55bacd71451a24252cbaf33194292c 100644 ---- a/test/CMakeLists.txt -+++ b/test/CMakeLists.txt -@@ -151,7 +151,7 @@ set(lib_list - $ - $ - $ -- cpuinfo_public -+ $,cpuinfo::cpuinfo,cpuinfo_public> - gtest_all) - if(UNIX) - # App Source Files -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 2c7c8d67f6ce94e74b685a3494b0430b60f80105..f7f0dbe1f480060aebd5ccd9b62969ab4a69449a 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -41,6 +41,11 @@ if(NOT CMAKE_SIZEOF_VOID_P EQUAL 8) - endif() - - option(COMPILE_C_ONLY "Compile only C code with no simds (autodetect, default off for x86)" OFF) -+option(USE_EXTERNAL_CPUINFO "Consume system cpuinfo library only" OFF) -+ -+if(USE_EXTERNAL_CPUINFO) -+ find_package(cpuinfo CONFIG REQUIRED) -+endif() - - include(CheckCSourceCompiles) - -@@ -542,7 +547,7 @@ endif() - - add_subdirectory(third_party/fastfeat) - --if(NOT COMPILE_C_ONLY AND HAVE_X86_PLATFORM) -+if(NOT USE_EXTERNAL_CPUINFO AND NOT COMPILE_C_ONLY AND HAVE_X86_PLATFORM) - add_subdirectory(third_party/cpuinfo) - endif() - -diff --git a/Source/Lib/Encoder/CMakeLists.txt b/Source/Lib/Encoder/CMakeLists.txt -index 2991364b7d12dd846ff981c86306d9d2b46cc934..0c0ee78b869c0c875eb36fce4706b6fd3f1c9b7c 100644 ---- a/Source/Lib/Encoder/CMakeLists.txt -+++ b/Source/Lib/Encoder/CMakeLists.txt -@@ -129,7 +129,9 @@ set_target_properties(SvtAv1Enc PROPERTIES VERSION ${ENC_VERSION}) - set_target_properties(SvtAv1Enc PROPERTIES SOVERSION ${ENC_VERSION_MAJOR}) - set_target_properties(SvtAv1Enc PROPERTIES C_VISIBILITY_PRESET hidden) - target_link_libraries(SvtAv1Enc PUBLIC ${PLATFORM_LIBS}) --if(NOT COMPILE_C_ONLY AND HAVE_X86_PLATFORM) -+if(USE_EXTERNAL_CPUINFO) -+ target_link_libraries(SvtAv1Enc PRIVATE cpuinfo::cpuinfo) -+elseif(NOT COMPILE_C_ONLY AND HAVE_X86_PLATFORM) - target_link_libraries(SvtAv1Enc PRIVATE cpuinfo_public) - endif() - -diff --git a/Source/Lib/Decoder/CMakeLists.txt b/Source/Lib/Decoder/CMakeLists.txt -index 0f220a78a6db783ef2b5d6dd6cc182766c4362a3..8fb88f1c958fa965bc8f9ed9c1d563ee3858baee 100644 ---- a/Source/Lib/Decoder/CMakeLists.txt -+++ b/Source/Lib/Decoder/CMakeLists.txt -@@ -147,7 +147,9 @@ set_target_properties(SvtAv1Dec PROPERTIES SOVERSION ${DEC_VERSION_MAJOR}) - set_target_properties(SvtAv1Dec PROPERTIES C_VISIBILITY_PRESET hidden) - add_dependencies(SvtAv1Dec EbVersionHeaderGen) - target_link_libraries(SvtAv1Dec PUBLIC ${PLATFORM_LIBS}) --if(NOT COMPILE_C_ONLY AND HAVE_X86_PLATFORM) -+if(USE_EXTERNAL_CPUINFO) -+ target_link_libraries(SvtAv1Dec PRIVATE cpuinfo::cpuinfo) -+elseif(NOT COMPILE_C_ONLY AND HAVE_X86_PLATFORM) - target_link_libraries(SvtAv1Dec PRIVATE cpuinfo_public) - endif() - diff --git a/recipes/libsvtav1/all/patches/external-cpuinfo-1.4.1.patch b/recipes/libsvtav1/all/patches/external-cpuinfo-1.4.1.patch deleted file mode 100644 index 6673e558c5c3e..0000000000000 --- a/recipes/libsvtav1/all/patches/external-cpuinfo-1.4.1.patch +++ /dev/null @@ -1,68 +0,0 @@ -diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt -index f98c8675acc06b3c998f29fcc712ac8befcda129..f464ead3ea55bacd71451a24252cbaf33194292c 100644 ---- a/test/CMakeLists.txt -+++ b/test/CMakeLists.txt -@@ -151,7 +151,7 @@ set(lib_list - $ - $ - $ -- cpuinfo_public -+ $,cpuinfo::cpuinfo,cpuinfo_public> - gtest_all) - if(UNIX) - # App Source Files -diff --git a/Source/Lib/Decoder/CMakeLists.txt b/Source/Lib/Decoder/CMakeLists.txt -index 0f220a78a6db783ef2b5d6dd6cc182766c4362a3..8fb88f1c958fa965bc8f9ed9c1d563ee3858baee 100644 ---- a/Source/Lib/Decoder/CMakeLists.txt -+++ b/Source/Lib/Decoder/CMakeLists.txt -@@ -147,7 +147,9 @@ set_target_properties(SvtAv1Dec PROPERTIES SOVERSION ${DEC_VERSION_MAJOR}) - set_target_properties(SvtAv1Dec PROPERTIES C_VISIBILITY_PRESET hidden) - add_dependencies(SvtAv1Dec EbVersionHeaderGen) - target_link_libraries(SvtAv1Dec PUBLIC ${PLATFORM_LIBS}) --if(NOT COMPILE_C_ONLY AND HAVE_X86_PLATFORM) -+if(USE_EXTERNAL_CPUINFO) -+ target_link_libraries(SvtAv1Dec PRIVATE cpuinfo::cpuinfo) -+elseif(NOT COMPILE_C_ONLY AND HAVE_X86_PLATFORM) - target_link_libraries(SvtAv1Dec PRIVATE cpuinfo_public) - endif() - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 48953de55693cd1f51a7260b84d4e9da1e463cd5..9899442e29eb5e8d3675de68ebfa296a9045f917 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -41,6 +41,11 @@ if(NOT CMAKE_SIZEOF_VOID_P EQUAL 8) - endif() - - option(COMPILE_C_ONLY "Compile only C code with no simds (autodetect, default off for x86)" OFF) -+option(USE_EXTERNAL_CPUINFO "Consume system cpuinfo library only" OFF) -+ -+if(USE_EXTERNAL_CPUINFO) -+ find_package(cpuinfo CONFIG REQUIRED) -+endif() - - include(CheckCSourceCompiles) - -@@ -590,7 +595,7 @@ endif() - - add_subdirectory(third_party/fastfeat) - --if(NOT COMPILE_C_ONLY AND HAVE_X86_PLATFORM) -+if(NOT USE_EXTERNAL_CPUINFO AND NOT COMPILE_C_ONLY AND HAVE_X86_PLATFORM) - add_subdirectory(third_party/cpuinfo) - endif() - -diff --git a/Source/Lib/Encoder/CMakeLists.txt b/Source/Lib/Encoder/CMakeLists.txt -index 12badfd32963989a0e6a7e181321c9a6b527706b..6ed1ca0cce8f13c536899fc16d6eaa3458f7de8c 100644 ---- a/Source/Lib/Encoder/CMakeLists.txt -+++ b/Source/Lib/Encoder/CMakeLists.txt -@@ -129,7 +129,9 @@ set_target_properties(SvtAv1Enc PROPERTIES VERSION ${ENC_VERSION}) - set_target_properties(SvtAv1Enc PROPERTIES SOVERSION ${ENC_VERSION_MAJOR}) - set_target_properties(SvtAv1Enc PROPERTIES C_VISIBILITY_PRESET hidden) - target_link_libraries(SvtAv1Enc PUBLIC ${PLATFORM_LIBS}) --if(NOT COMPILE_C_ONLY AND HAVE_X86_PLATFORM) -+if(USE_EXTERNAL_CPUINFO) -+ target_link_libraries(SvtAv1Enc PRIVATE cpuinfo::cpuinfo) -+elseif(NOT COMPILE_C_ONLY AND HAVE_X86_PLATFORM) - target_link_libraries(SvtAv1Enc PRIVATE cpuinfo_public) - endif() - diff --git a/recipes/libsvtav1/all/test_package/CMakeLists.txt b/recipes/libsvtav1/all/test_package/CMakeLists.txt index c3bbcf04d632f..9a816703844c2 100644 --- a/recipes/libsvtav1/all/test_package/CMakeLists.txt +++ b/recipes/libsvtav1/all/test_package/CMakeLists.txt @@ -1,8 +1,11 @@ -cmake_minimum_required(VERSION 3.8) +cmake_minimum_required(VERSION 3.15) project(test_package LANGUAGES CXX) find_package(libsvtav1 REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) target_link_libraries(${PROJECT_NAME} PRIVATE libsvtav1::encoder) -target_link_libraries(${PROJECT_NAME} PRIVATE libsvtav1::decoder) +if (TARGET libsvtav1::decoder) + target_link_libraries(${PROJECT_NAME} PRIVATE libsvtav1::decoder) + target_compile_definitions(${PROJECT_NAME} PRIVATE HAVE_DECODER) +endif() diff --git a/recipes/libsvtav1/all/test_package/test_package.cpp b/recipes/libsvtav1/all/test_package/test_package.cpp index cb808440d268e..bb98a869a2556 100644 --- a/recipes/libsvtav1/all/test_package/test_package.cpp +++ b/recipes/libsvtav1/all/test_package/test_package.cpp @@ -1,5 +1,7 @@ #include "EbSvtAv1Enc.h" -#include "EbSvtAv1Dec.h" +#ifdef HAVE_DECODER +# include "EbSvtAv1Dec.h" +#endif #include diff --git a/recipes/libsvtav1/config.yml b/recipes/libsvtav1/config.yml index efc6420082e04..510ab3b3cd3f2 100644 --- a/recipes/libsvtav1/config.yml +++ b/recipes/libsvtav1/config.yml @@ -1,13 +1,9 @@ versions: + "2.1.2": + folder: all "2.1.0": folder: all "1.7.0": folder: all "1.6.0": folder: all - "1.4.1": - folder: all - "1.3.0": - folder: all - "1.2.1": - folder: all From a8e1c51c5094f418dcc42380a0e3ceedc8c4041c Mon Sep 17 00:00:00 2001 From: Daniel Date: Wed, 7 Aug 2024 10:22:37 +0200 Subject: [PATCH 292/641] (#24843) [aws refactor] aws-c-compression/0.2.14: require aws-c-common/0.6.11 * [aws refactor] aws-c-compression/0.2.14: require aws-c-common/0.6.11 * add 0.2.18 version as well --- recipes/aws-c-compression/all/conandata.yml | 12 +++--------- recipes/aws-c-compression/all/conanfile.py | 8 ++++---- recipes/aws-c-compression/config.yml | 6 +----- 3 files changed, 8 insertions(+), 18 deletions(-) diff --git a/recipes/aws-c-compression/all/conandata.yml b/recipes/aws-c-compression/all/conandata.yml index d936f5ef9af18..1bbf0a0f551fb 100644 --- a/recipes/aws-c-compression/all/conandata.yml +++ b/recipes/aws-c-compression/all/conandata.yml @@ -1,13 +1,7 @@ sources: - "0.2.17": - url: "https://github.com/awslabs/aws-c-compression/archive/v0.2.17.tar.gz" - sha256: "703d1671e395ea26f8b0b70d678ed471421685a89e127f8aa125e2b2ecedb0e0" - "0.2.15": - url: "https://github.com/awslabs/aws-c-compression/archive/v0.2.15.tar.gz" - sha256: "11d58a229e2961b2b36493155a981dea2c8a0bc0d113b0073deb8c3189cfa04e" + "0.2.18": + url: "https://github.com/awslabs/aws-c-compression/archive/v0.2.18.tar.gz" + sha256: "517c361f3b7fffca08efd5ad251a20489794f056eab0dfffacc6d5b341df8e86" "0.2.14": url: "https://github.com/awslabs/aws-c-compression/archive/v0.2.14.tar.gz" sha256: "8737863ced57d92f5a0bdde554bf0fe70eaa76aae118fec09a6c361dfc55d0d5" - "0.2.13": - url: "https://github.com/awslabs/aws-c-compression/archive/v0.2.13.tar.gz" - sha256: "6b6ebb223408b48a8b2c74ba7042ff61e5333dc900acd67c40ca1cd4b382c137" diff --git a/recipes/aws-c-compression/all/conanfile.py b/recipes/aws-c-compression/all/conanfile.py index a6b8eb1260a1b..eda11edf4e93e 100644 --- a/recipes/aws-c-compression/all/conanfile.py +++ b/recipes/aws-c-compression/all/conanfile.py @@ -40,10 +40,10 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - if Version(self.version) <= "0.2.15": - self.requires("aws-c-common/0.8.2", transitive_headers=True, transitive_libs=True) - else: - self.requires("aws-c-common/0.9.6", transitive_headers=True, transitive_libs=True) + if self.version == "0.2.18": + self.requires("aws-c-common/0.9.15", transitive_headers=True, transitive_libs=True) + if self.version == "0.2.14": + self.requires("aws-c-common/0.6.11", 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-compression/config.yml b/recipes/aws-c-compression/config.yml index aae181600c27e..ddebab3901e18 100644 --- a/recipes/aws-c-compression/config.yml +++ b/recipes/aws-c-compression/config.yml @@ -1,9 +1,5 @@ versions: - "0.2.17": - folder: all - "0.2.15": + "0.2.18": folder: all "0.2.14": folder: all - "0.2.13": - folder: all From 235e7c4476f73cb90bd228398746760541cfda03 Mon Sep 17 00:00:00 2001 From: Daniel Date: Wed, 7 Aug 2024 10:45:22 +0200 Subject: [PATCH 293/641] (#24846) [aws refactor] aws-c-cal: Add 0.6.14 and keep 0.5.12 * [aws refactor] aws-c-cal: Add 0.6.14 and 0.5.12 * fix * fix openssl --- recipes/aws-c-cal/all/conandata.yml | 51 ++----------------- recipes/aws-c-cal/all/conanfile.py | 11 ++-- .../0002-apple-corefoundation-0.5.13.patch | 26 ---------- .../0002-apple-corefoundation-0.6.1.patch | 26 ---------- .../0002-apple-corefoundation-0.6.9.patch | 30 ----------- recipes/aws-c-cal/config.yml | 12 +---- 6 files changed, 8 insertions(+), 148 deletions(-) delete mode 100644 recipes/aws-c-cal/all/patches/0002-apple-corefoundation-0.5.13.patch delete mode 100644 recipes/aws-c-cal/all/patches/0002-apple-corefoundation-0.6.1.patch delete mode 100644 recipes/aws-c-cal/all/patches/0002-apple-corefoundation-0.6.9.patch diff --git a/recipes/aws-c-cal/all/conandata.yml b/recipes/aws-c-cal/all/conandata.yml index 0bf0d966b7d3a..e4a0abfc8c668 100644 --- a/recipes/aws-c-cal/all/conandata.yml +++ b/recipes/aws-c-cal/all/conandata.yml @@ -1,56 +1,11 @@ sources: - "0.6.9": - url: "https://github.com/awslabs/aws-c-cal/archive/v0.6.9.tar.gz" - sha256: "46defd807034ca9d873cc1459bc60f0bb4662029f7120db1af464421907fb480" - "0.6.1": - url: "https://github.com/awslabs/aws-c-cal/archive/v0.6.1.tar.gz" - sha256: "52df95150a8548ac35a0e4b6f59fbdebff27e4124c0b7e5eaa969ed3ba62fc82" - "0.5.20": - url: "https://github.com/awslabs/aws-c-cal/archive/v0.5.20.tar.gz" - sha256: "acc352359bd06f8597415c366cf4ec4f00d0b0da92d637039a73323dd55b6cd0" - "0.5.19": - url: "https://github.com/awslabs/aws-c-cal/archive/refs/tags/v0.5.19.tar.gz" - sha256: "23452ab7960c480f1ec0a96ac55bde32d7d27c4a664baeadc248923b19c12086" - "0.5.17": - url: "https://github.com/awslabs/aws-c-cal/archive/v0.5.17.tar.gz" - sha256: "40297da04443d4ee2988d1c5fb0dc4a156d0e4cfaf80e6a1df1867452566d540" - "0.5.13": - url: "https://github.com/awslabs/aws-c-cal/archive/v0.5.13.tar.gz" - sha256: "3aba3954877ea5271ce68361f3bd9c155b422b1149eed403874f6493285ca04d" + "0.6.14": + url: "https://github.com/awslabs/aws-c-cal/archive/v0.6.14.tar.gz" + sha256: "2326304b15bec45b212f6b738020c21afa41f9da295936687e103f9f2efb7b5e" "0.5.12": url: "https://github.com/awslabs/aws-c-cal/archive/v0.5.12.tar.gz" sha256: "350c29a288d5d498bd6574fca659cffc9453bf62691fbde5788399716c2bd132" patches: - "0.6.9": - - patch_file: "patches/0002-apple-corefoundation-0.6.9.patch" - patch_description: "Link to CoreFoundation on Apple" - patch_type: "backport" - patch_source: "https://github.com/awslabs/aws-c-cal/pull/126" - "0.6.1": - - patch_file: "patches/0002-apple-corefoundation-0.6.1.patch" - patch_description: "Link to CoreFoundation on Apple" - patch_type: "backport" - patch_source: "https://github.com/awslabs/aws-c-cal/pull/126" - "0.5.20": - - patch_file: "patches/0002-apple-corefoundation-0.5.13.patch" - patch_description: "Link to CoreFoundation on Apple" - patch_type: "backport" - patch_source: "https://github.com/awslabs/aws-c-cal/pull/126" - "0.5.19": - - patch_file: "patches/0002-apple-corefoundation-0.5.13.patch" - patch_description: "Link to CoreFoundation on Apple" - patch_type: "backport" - patch_source: "https://github.com/awslabs/aws-c-cal/pull/126" - "0.5.17": - - patch_file: "patches/0002-apple-corefoundation-0.5.13.patch" - patch_description: "Link to CoreFoundation on Apple" - patch_type: "backport" - patch_source: "https://github.com/awslabs/aws-c-cal/pull/126" - "0.5.13": - - patch_file: "patches/0002-apple-corefoundation-0.5.13.patch" - patch_description: "Link to CoreFoundation on Apple" - patch_type: "backport" - patch_source: "https://github.com/awslabs/aws-c-cal/pull/126" "0.5.12": - patch_file: "patches/0001-use-openssl-cmake-imported-target.patch" - patch_file: "patches/0002-apple-corefoundation-0.5.11.patch" diff --git a/recipes/aws-c-cal/all/conanfile.py b/recipes/aws-c-cal/all/conanfile.py index 82f0949981b96..c0ea74e4902c8 100644 --- a/recipes/aws-c-cal/all/conanfile.py +++ b/recipes/aws-c-cal/all/conanfile.py @@ -48,13 +48,10 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - if Version(self.version) <= "0.5.20": - self.requires("aws-c-common/0.8.2", transitive_headers=True, transitive_libs=True) - elif Version(self.version) <= "0.6.1": - self.requires("aws-c-common/0.9.6", transitive_headers=True, transitive_libs=True) - else: - # [>=0.9.7] - self.requires("aws-c-common/0.9.12", transitive_headers=True, transitive_libs=True) + if self.version == "0.6.14": + self.requires("aws-c-common/0.9.15", transitive_headers=True, transitive_libs=True) + if self.version == "0.5.12": + self.requires("aws-c-common/0.6.11", transitive_headers=True, transitive_libs=True) if self._needs_openssl: self.requires("openssl/[>=1.1 <4]") diff --git a/recipes/aws-c-cal/all/patches/0002-apple-corefoundation-0.5.13.patch b/recipes/aws-c-cal/all/patches/0002-apple-corefoundation-0.5.13.patch deleted file mode 100644 index 422624b80de7e..0000000000000 --- a/recipes/aws-c-cal/all/patches/0002-apple-corefoundation-0.5.13.patch +++ /dev/null @@ -1,26 +0,0 @@ ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -78,7 +78,12 @@ elseif (APPLE) - message(FATAL_ERROR "Security Framework not found") - endif () - -- list(APPEND PLATFORM_LIBS "-framework Security") -+ find_library(COREFOUNDATION_LIB CoreFoundation) -+ if(NOT COREFOUNDATION_LIB) -+ message(FATAL_ERROR "CoreFoundation Framework not found") -+ endif() -+ -+ list(APPEND PLATFORM_LIBS "-framework Security -framework CoreFoundation") - endif() - else () - if (NOT BYO_CRYPTO) ---- a/source/darwin/securityframework_ecc.c -+++ b/source/darwin/securityframework_ecc.c -@@ -7,6 +7,7 @@ - #include - #include - -+#include - #include - #include - diff --git a/recipes/aws-c-cal/all/patches/0002-apple-corefoundation-0.6.1.patch b/recipes/aws-c-cal/all/patches/0002-apple-corefoundation-0.6.1.patch deleted file mode 100644 index 616d8257a2980..0000000000000 --- a/recipes/aws-c-cal/all/patches/0002-apple-corefoundation-0.6.1.patch +++ /dev/null @@ -1,26 +0,0 @@ ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -84,7 +84,12 @@ elseif (APPLE) - message(FATAL_ERROR "Security Framework not found") - endif () - -- list(APPEND PLATFORM_LIBS "-framework Security") -+ find_library(COREFOUNDATION_LIB CoreFoundation) -+ if(NOT COREFOUNDATION_LIB) -+ message(FATAL_ERROR "CoreFoundation Framework not found") -+ endif() -+ -+ list(APPEND PLATFORM_LIBS "-framework Security -framework CoreFoundation") - endif() - else () - if (NOT BYO_CRYPTO) ---- a/source/darwin/securityframework_ecc.c -+++ b/source/darwin/securityframework_ecc.c -@@ -7,6 +7,7 @@ - #include - #include - -+#include - #include - #include - diff --git a/recipes/aws-c-cal/all/patches/0002-apple-corefoundation-0.6.9.patch b/recipes/aws-c-cal/all/patches/0002-apple-corefoundation-0.6.9.patch deleted file mode 100644 index 1059e3dd42f14..0000000000000 --- a/recipes/aws-c-cal/all/patches/0002-apple-corefoundation-0.6.9.patch +++ /dev/null @@ -1,30 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index d57a3fd..7d1d5f2 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -79,7 +79,11 @@ elseif (APPLE) - message(FATAL_ERROR "Security Framework not found") - endif () - -- list(APPEND PLATFORM_LIBS "-framework Security") -+ find_library(COREFOUNDATION_LIB CoreFoundation) -+ if(NOT COREFOUNDATION_LIB) -+ message(FATAL_ERROR "CoreFoundation Framework not found") -+ endif() -+ list(APPEND PLATFORM_LIBS "-framework Security -framework CoreFoundation") - endif() - else () - if (NOT BYO_CRYPTO) -diff --git a/source/darwin/securityframework_ecc.c b/source/darwin/securityframework_ecc.c -index adedadd..d34531e 100644 ---- a/source/darwin/securityframework_ecc.c -+++ b/source/darwin/securityframework_ecc.c -@@ -6,7 +6,7 @@ - - #include - #include -- -+#include - #include - #include - diff --git a/recipes/aws-c-cal/config.yml b/recipes/aws-c-cal/config.yml index f62f1684b8f2a..05b13d1c5771c 100644 --- a/recipes/aws-c-cal/config.yml +++ b/recipes/aws-c-cal/config.yml @@ -1,15 +1,5 @@ versions: - "0.6.9": - folder: all - "0.6.1": - folder: all - "0.5.20": - folder: all - "0.5.19": - folder: all - "0.5.17": - folder: all - "0.5.13": + "0.6.14": folder: all "0.5.12": folder: all From 8450018b1ce8eb8c8cf38a3412d2915fd2e3e829 Mon Sep 17 00:00:00 2001 From: Guillaume Egles Date: Wed, 7 Aug 2024 04:17:25 -0700 Subject: [PATCH 294/641] (#24706) openssl: add version `3.3.1` * openssl: add version `3.3.1` * openssl 3.3.1: windows fixes --------- Co-authored-by: Luis Caro Campos <3535649+jcar87@users.noreply.github.com> --- recipes/openssl/3.x.x/conandata.yml | 3 +++ recipes/openssl/3.x.x/conanfile.py | 5 +++++ recipes/openssl/config.yml | 2 ++ 3 files changed, 10 insertions(+) diff --git a/recipes/openssl/3.x.x/conandata.yml b/recipes/openssl/3.x.x/conandata.yml index 0e6fcf58a8a23..2d9a9b8cb4c8e 100644 --- a/recipes/openssl/3.x.x/conandata.yml +++ b/recipes/openssl/3.x.x/conandata.yml @@ -1,4 +1,7 @@ sources: + 3.3.1: + url: "https://github.com/openssl/openssl/releases/download/openssl-3.3.1/openssl-3.3.1.tar.gz" + sha256: 777cd596284c883375a2a7a11bf5d2786fc5413255efab20c50d6ffe6d020b7e 3.2.2: url: "https://github.com/openssl/openssl/releases/download/openssl-3.2.2/openssl-3.2.2.tar.gz" sha256: 197149c18d9e9f292c43f0400acaba12e5f52cacfe050f3d199277ea738ec2e7 diff --git a/recipes/openssl/3.x.x/conanfile.py b/recipes/openssl/3.x.x/conanfile.py index 6b88374a14b20..91c611c18115c 100644 --- a/recipes/openssl/3.x.x/conanfile.py +++ b/recipes/openssl/3.x.x/conanfile.py @@ -6,6 +6,7 @@ from conan.tools.gnu import AutotoolsToolchain from conan.tools.layout import basic_layout from conan.tools.microsoft import is_msvc, msvc_runtime_flag, unix_path +from conan.tools.scm import Version import fnmatch import os @@ -515,6 +516,10 @@ def _make(self): # When `--prefix=/`, the scripts derive `\` without escaping, which # causes issues on Windows replace_in_file(self, "Makefile", "INSTALLTOP_dir=\\", "INSTALLTOP_dir=\\\\") + if Version(self.version) >= "3.3.0": + # replace backslashes in paths with forward slashes + mkinstallvars_pl = os.path.join(self.source_folder, "util", "mkinstallvars.pl") + replace_in_file(self, mkinstallvars_pl, "$ENV{$k} = $v;", """$v =~ s|\\\\|/|g; $ENV{$k} = $v;""") self._run_make() def _make_install(self): diff --git a/recipes/openssl/config.yml b/recipes/openssl/config.yml index 1ab48b68f1e65..474c4c3f3696f 100644 --- a/recipes/openssl/config.yml +++ b/recipes/openssl/config.yml @@ -1,4 +1,6 @@ versions: + "3.3.1": + folder: "3.x.x" "3.2.2": folder: "3.x.x" "3.2.1": From 45ea73ee84527ff03cc39f7ce0f2fd3938b6f7e0 Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 10 Aug 2024 04:54:26 +0900 Subject: [PATCH 295/641] (#24717) tracy: add 3 options introduced in 0.11.0 * tracy: add 3 options introduced in 0.11.0 * link missing system libs * add version check for libunwind_backtrace --- recipes/tracy/all/conanfile.py | 28 ++++++++++++++++++++++++++-- 1 file changed, 26 insertions(+), 2 deletions(-) diff --git a/recipes/tracy/all/conanfile.py b/recipes/tracy/all/conanfile.py index df60f29fb3584..dd2a2bdace141 100644 --- a/recipes/tracy/all/conanfile.py +++ b/recipes/tracy/all/conanfile.py @@ -3,6 +3,7 @@ from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout from conan.tools.files import copy, get, rmdir from conan.tools.scm import Version +from conan.errors import ConanInvalidConfiguration import os required_conan_version = ">=1.53.0" @@ -41,6 +42,9 @@ class TracyConan(ConanFile): "fibers": ([True, False], False), "no_crash_handler": ([True, False], False), "timer_fallback": ([True, False], False), + "libunwind_backtrace": ([True, False], False), + "symbol_offline_resolve": ([True, False], False), + "libbacktrace_elf_dynload_support": ([True, False], False), } options = { "shared": [True, False], @@ -68,6 +72,15 @@ def config_options(self): del self._tracy_options["no_crash_handler"] del self._tracy_options["timer_fallback"] + if Version(self.version) < "0.11.0": + self.options.rm_safe("libunwind_backtrace") + self.options.rm_safe("symbol_offline_resolve") + self.options.rm_safe("libbacktrace_elf_dynload_support") + + del self._tracy_options["libunwind_backtrace"] + del self._tracy_options["symbol_offline_resolve"] + del self._tracy_options["libbacktrace_elf_dynload_support"] + def configure(self): if self.options.shared: self.options.rm_safe("fPIC") @@ -79,6 +92,10 @@ def validate(self): if self.info.settings.compiler.get_safe("cppstd"): check_min_cppstd(self, 11) + # libunwind_backtrace is not supported in 0.11.0. https://github.com/wolfpld/tracy/pull/841 + if Version(self.version) == "0.11.0" and self.options.get_safe("libunwind_backtrace"): + raise ConanInvalidConfiguration(f"libunwind_backtrace is not supported in {self.ref}") + def source(self): get(self, **self.conan_data["sources"][self.version], destination=self.source_folder, strip_root=True) @@ -114,10 +131,17 @@ def package_info(self): self.cpp_info.components["tracyclient"].defines.append( "TRACY_IMPORTS") if self.settings.os in ["Linux", "FreeBSD"]: - self.cpp_info.components["tracyclient"].system_libs.append( - "pthread") + self.cpp_info.components["tracyclient"].system_libs.extend([ + "pthread", + "m" + ]) if self.settings.os == "Linux": self.cpp_info.components["tracyclient"].system_libs.append("dl") + if self.settings.os == "Windows": + self.cpp_info.components["tracyclient"].system_libs.extend([ + "dbghelp", + "ws2_32" + ]) # Tracy CMake adds options set to ON as public for opt in self._tracy_options.keys(): From ced417011f7bb7d61f002f24d744ef3a87041a7c Mon Sep 17 00:00:00 2001 From: Daniel Date: Fri, 9 Aug 2024 22:22:01 +0200 Subject: [PATCH 296/641] (#24847) [aws refactor] aws-checksums: Add 0.1.18, keep 0.1.12 and remove old versions * [aws refactor] aws-checksums: Add 0.1.18, keep 0.1.12 and remove old versions * fix --- recipes/aws-checksums/all/conandata.yml | 26 ++---------- recipes/aws-checksums/all/conanfile.py | 9 ++-- .../patches/0001-use-PROJECT_SOURCE_DIR.patch | 41 ------------------- .../0002-disable-overriding-fPIC.patch | 15 ------- .../patches/0003-disable-building-tests.patch | 11 ----- recipes/aws-checksums/config.yml | 8 +--- 6 files changed, 8 insertions(+), 102 deletions(-) delete mode 100644 recipes/aws-checksums/all/patches/0001-use-PROJECT_SOURCE_DIR.patch delete mode 100644 recipes/aws-checksums/all/patches/0002-disable-overriding-fPIC.patch delete mode 100644 recipes/aws-checksums/all/patches/0003-disable-building-tests.patch diff --git a/recipes/aws-checksums/all/conandata.yml b/recipes/aws-checksums/all/conandata.yml index 989708680b889..19b138c8eb788 100644 --- a/recipes/aws-checksums/all/conandata.yml +++ b/recipes/aws-checksums/all/conandata.yml @@ -1,27 +1,7 @@ sources: - "0.1.17": - url: "https://github.com/awslabs/aws-checksums/archive/v0.1.17.tar.gz" - sha256: "83c1fbae826631361a529e9565e64a942c412baaec6b705ae5da3f056b97b958" - "0.1.13": - url: "https://github.com/awslabs/aws-checksums/archive/v0.1.13.tar.gz" - sha256: "0f897686f1963253c5069a0e495b85c31635ba146cd3ac38cc2ea31eaf54694d" + "0.1.18": + url: "https://github.com/awslabs/aws-checksums/archive/v0.1.18.tar.gz" + sha256: "bdba9d0a8b8330a89c6b8cbc00b9aa14f403d3449b37ff2e0d96d62a7301b2ee" "0.1.12": url: "https://github.com/awslabs/aws-checksums/archive/v0.1.12.tar.gz" sha256: "394723034b81cc7cd528401775bc7aca2b12c7471c92350c80a0e2fb9d2909fe" - "0.1.11": - url: "https://github.com/awslabs/aws-checksums/archive/v0.1.11.tar.gz" - sha256: "9312e305428655bcea1f81524c3a8f617ce5299b903187047078929e850fb6d4" - "0.1.5": - url: "https://github.com/awslabs/aws-checksums/archive/v0.1.5.tar.gz" - sha256: "6e6bed6f75cf54006b6bafb01b3b96df19605572131a2260fddaf0e87949ced0" -patches: - "0.1.5": - - patch_file: "patches/0001-use-PROJECT_SOURCE_DIR.patch" - patch_description: "use PROJECT_NAME instead of CMAKE_PROJECT_NAME" - patch_type: "conan" - - patch_file: "patches/0002-disable-overriding-fPIC.patch" - patch_description: "disable overriding -fPIC" - patch_type: "conan" - - patch_file: "patches/0003-disable-building-tests.patch" - patch_description: "build no tests" - patch_type: "conan" diff --git a/recipes/aws-checksums/all/conanfile.py b/recipes/aws-checksums/all/conanfile.py index e2711f6d5488f..135cd94267f12 100644 --- a/recipes/aws-checksums/all/conanfile.py +++ b/recipes/aws-checksums/all/conanfile.py @@ -46,10 +46,10 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - if Version(self.version) < "0.1.17": - self.requires("aws-c-common/0.8.2") - else: - self.requires("aws-c-common/0.9.6", transitive_headers=True) + if self.version == "0.1.18": + self.requires("aws-c-common/0.9.15", transitive_headers=True) + if self.version == "0.1.12": + self.requires("aws-c-common/0.6.11", transitive_headers=True) def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) @@ -62,7 +62,6 @@ def generate(self): deps.generate() def build(self): - apply_conandata_patches(self) cmake = CMake(self) cmake.configure() cmake.build() diff --git a/recipes/aws-checksums/all/patches/0001-use-PROJECT_SOURCE_DIR.patch b/recipes/aws-checksums/all/patches/0001-use-PROJECT_SOURCE_DIR.patch deleted file mode 100644 index 9a309a9f74658..0000000000000 --- a/recipes/aws-checksums/all/patches/0001-use-PROJECT_SOURCE_DIR.patch +++ /dev/null @@ -1,41 +0,0 @@ ---- CMakeLists.txt -+++ CMakeLists.txt -@@ -98,7 +98,7 @@ - target_compile_definitions(aws-checksums PRIVATE "-DDEBUG_BUILD") - endif() - --target_include_directories(${CMAKE_PROJECT_NAME} PUBLIC -+target_include_directories(${PROJECT_NAME} PUBLIC - $ - $) - -@@ -129,7 +129,7 @@ - endif() - - install(FILES ${AWS_CHECKSUMS_HEADERS} DESTINATION "include/aws/checksums") --aws_prepare_shared_lib_exports(${CMAKE_PROJECT_NAME}) -+aws_prepare_shared_lib_exports(${PROJECT_NAME}) - - if (BUILD_SHARED_LIBS) - set (TARGET_DIR "shared") -@@ -137,14 +137,14 @@ - set (TARGET_DIR "static") - endif() - --install(EXPORT "${CMAKE_PROJECT_NAME}-targets" -- DESTINATION "${LIBRARY_DIRECTORY}/${CMAKE_PROJECT_NAME}/cmake/${TARGET_DIR}/" -+install(EXPORT "${PROJECT_NAME}-targets" -+ DESTINATION "${LIBRARY_DIRECTORY}/${PROJECT_NAME}/cmake/${TARGET_DIR}/" - NAMESPACE AWS::) - --configure_file("cmake/${CMAKE_PROJECT_NAME}-config.cmake" -- "${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_PROJECT_NAME}-config.cmake" -+configure_file("cmake/${PROJECT_NAME}-config.cmake" -+ "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}-config.cmake" - @ONLY) - --install(FILES "${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_PROJECT_NAME}-config.cmake" -- DESTINATION "${LIBRARY_DIRECTORY}/${CMAKE_PROJECT_NAME}/cmake/") -+install(FILES "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}-config.cmake" -+ DESTINATION "${LIBRARY_DIRECTORY}/${PROJECT_NAME}/cmake/") - diff --git a/recipes/aws-checksums/all/patches/0002-disable-overriding-fPIC.patch b/recipes/aws-checksums/all/patches/0002-disable-overriding-fPIC.patch deleted file mode 100644 index 31249bcf0671b..0000000000000 --- a/recipes/aws-checksums/all/patches/0002-disable-overriding-fPIC.patch +++ /dev/null @@ -1,15 +0,0 @@ ---- CMakeLists.txt -+++ CMakeLists.txt -@@ -83,9 +83,9 @@ - target_compile_definitions(aws-checksums PRIVATE "-DAWS_CHECKSUMS_EXPORTS") - endif() - --if(NOT MSVC) -- target_compile_options(aws-checksums PRIVATE -fPIC) --endif() -+#if(NOT MSVC) -+# target_compile_options(aws-checksums PRIVATE -fPIC) -+#endif() - - if(BUILD_JNI_BINDINGS) - find_package(JNI) diff --git a/recipes/aws-checksums/all/patches/0003-disable-building-tests.patch b/recipes/aws-checksums/all/patches/0003-disable-building-tests.patch deleted file mode 100644 index f62f7e4733e64..0000000000000 --- a/recipes/aws-checksums/all/patches/0003-disable-building-tests.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- CMakeLists.txt -+++ CMakeLists.txt -@@ -109,7 +109,7 @@ - file(GLOB TESTS ${TEST_HDRS} ${TEST_SRC}) - - include_directories(${CMAKE_CURRENT_SOURCE_DIR}/tests) --add_executable(aws-checksums-tests ${TESTS}) -+add_executable(aws-checksums-tests EXCLUDE_FROM_ALL ${TESTS}) - target_compile_options(aws-checksums-tests PRIVATE ${_FLAGS}) - target_link_libraries(aws-checksums-tests aws-checksums) - set_target_properties(aws-checksums-tests PROPERTIES LINKER_LANGUAGE C) diff --git a/recipes/aws-checksums/config.yml b/recipes/aws-checksums/config.yml index efe23bdebe7e1..932ab94596844 100644 --- a/recipes/aws-checksums/config.yml +++ b/recipes/aws-checksums/config.yml @@ -1,11 +1,5 @@ versions: - "0.1.17": - folder: all - "0.1.13": + "0.1.18": folder: all "0.1.12": folder: all - "0.1.11": - folder: all - "0.1.5": - folder: all From cc6cc86bd1d12a03af87a539534b4d89e2786fc6 Mon Sep 17 00:00:00 2001 From: Daniel Date: Fri, 9 Aug 2024 22:41:54 +0200 Subject: [PATCH 297/641] (#24848) [aws refactor] aws-c-sdkutils: Add 0.1.15 and remove old versions --- recipes/aws-c-sdkutils/all/conandata.yml | 18 +++--------------- recipes/aws-c-sdkutils/all/conanfile.py | 10 ++-------- recipes/aws-c-sdkutils/config.yml | 10 +--------- 3 files changed, 6 insertions(+), 32 deletions(-) diff --git a/recipes/aws-c-sdkutils/all/conandata.yml b/recipes/aws-c-sdkutils/all/conandata.yml index 0b83e5b3ee609..36557b2156d5c 100644 --- a/recipes/aws-c-sdkutils/all/conandata.yml +++ b/recipes/aws-c-sdkutils/all/conandata.yml @@ -1,16 +1,4 @@ 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" - "0.1.3": - url: "https://github.com/awslabs/aws-c-sdkutils/archive/v0.1.3.tar.gz" - sha256: "13d99c0877424a8fad40f312762968012dd54ec60a4438fb601ee65ff8b2484b" - "0.1.2": - url: "https://github.com/awslabs/aws-c-sdkutils/archive/refs/tags/v0.1.2.tar.gz" - sha256: "d654670c145212ed3ce0699a988b9f83ebf3e7c44ed74d4d0772dc95ad46b38e" - "0.1.1": - url: "https://github.com/awslabs/aws-c-sdkutils/archive/refs/tags/v0.1.1.tar.gz" - sha256: "201a5f694c912c952f50abab54fa0e576db75ddf6e8710c589896038ff9673f7" + "0.1.15": + url: "https://github.com/awslabs/aws-c-sdkutils/archive/v0.1.15.tar.gz" + sha256: "15fa30b8b0a357128388f2f40ab0ba3df63742fd333cc2f89cb91a9169f03bdc" diff --git a/recipes/aws-c-sdkutils/all/conanfile.py b/recipes/aws-c-sdkutils/all/conanfile.py index 9de343b664f1f..1aca7b380c09d 100644 --- a/recipes/aws-c-sdkutils/all/conanfile.py +++ b/recipes/aws-c-sdkutils/all/conanfile.py @@ -40,14 +40,8 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - if Version(self.version) < "0.1.12": - self.requires("aws-c-common/0.8.2", transitive_headers=True, transitive_libs=True) - 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) + if self.version == "0.1.15": + self.requires("aws-c-common/0.9.15", 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 9a8d3df5bb88c..d90a2c03c7832 100644 --- a/recipes/aws-c-sdkutils/config.yml +++ b/recipes/aws-c-sdkutils/config.yml @@ -1,11 +1,3 @@ versions: - "0.1.13": - folder: all - "0.1.12": - folder: all - "0.1.3": - folder: all - "0.1.2": - folder: all - "0.1.1": + "0.1.15": folder: all From 05abdad97ef78266d804718cdde2296372176764 Mon Sep 17 00:00:00 2001 From: pasbi Date: Fri, 9 Aug 2024 23:11:34 +0200 Subject: [PATCH 298/641] (#24814) Align opencv image codec option default values to upstream defaults * default with_imgcodec_pfm to True The OpenCV projects sets the default of this value to true, there is no reason to change this. If anything, not enabling this by default can lead to unexpected fails at runtime which can be hard to debug. * set default value of with_imgcodec_* to True * with_jpeg2000 defaults to jasper if <4.3.0 else openjpeg * Update recipes/opencv/4.x/conanfile.py Co-authored-by: Martin Valgur --------- Co-authored-by: Martin Valgur --- recipes/opencv/4.x/conanfile.py | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/recipes/opencv/4.x/conanfile.py b/recipes/opencv/4.x/conanfile.py index 04d8d1d48cfcc..71d9b650ddc69 100644 --- a/recipes/opencv/4.x/conanfile.py +++ b/recipes/opencv/4.x/conanfile.py @@ -191,15 +191,15 @@ class OpenCVConan(ConanFile): "with_jpeg": "libjpeg", "with_png": True, "with_tiff": True, - "with_jpeg2000": "jasper", + "with_jpeg2000": "openjpeg", "with_openexr": True, "with_webp": True, "with_gdal": False, "with_gdcm": False, - "with_imgcodec_hdr": False, - "with_imgcodec_pfm": False, - "with_imgcodec_pxm": False, - "with_imgcodec_sunraster": False, + "with_imgcodec_hdr": True, + "with_imgcodec_pfm": True, + "with_imgcodec_pxm": True, + "with_imgcodec_sunraster": True, "with_msmf": True, "with_msmf_dxva": True, # objdetect module options @@ -359,6 +359,9 @@ def config_options(self): if not self._has_with_wayland_option: self.options.with_gtk = True + if Version(self.version) < "4.3.0": + self.options.with_jpeg2000 = "jasper" + @property def _opencv_modules(self): def imageformats_deps(): @@ -1212,6 +1215,9 @@ def validate(self): raise ConanInvalidConfiguration( "viz module can't be enabled yet. It requires VTK which is not available in conan-center." ) + if self.options.with_jpeg2000 == "openjpeg" and Version(self.version) < "4.3.0": + raise ConanInvalidConfiguration("openjpeg is not available for OpenCV before 4.3.0") + def build_requirements(self): if self.options.get_safe("with_protobuf"): From f3c3ac936f3ac485c5445b038a3b897607a3d2c1 Mon Sep 17 00:00:00 2001 From: slivermeteor Date: Sat, 10 Aug 2024 05:51:27 +0800 Subject: [PATCH 299/641] (#24860) wil: add version 1.0.240803.1 --- recipes/wil/all/conandata.yml | 3 +++ recipes/wil/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/wil/all/conandata.yml b/recipes/wil/all/conandata.yml index 50c0114259eca..4dda604c7c75a 100644 --- a/recipes/wil/all/conandata.yml +++ b/recipes/wil/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.0.240803.1": + url: "https://github.com/microsoft/wil/archive/refs/tags/v1.0.240803.1.tar.gz" + sha256: "39910ab105c6df345e4018a2b61dfbc909a8816c971a3d2cebbefa1f8c481cc6" "1.0.240122.1": url: "https://github.com/microsoft/wil/archive/refs/tags/v1.0.240122.1.tar.gz" sha256: "e599f2843c01b9e4827e46f11d3651180675c8ecdbba8bdae735f533672989d3" diff --git a/recipes/wil/config.yml b/recipes/wil/config.yml index f3a417272a35c..67c36e1a1f315 100644 --- a/recipes/wil/config.yml +++ b/recipes/wil/config.yml @@ -1,4 +1,6 @@ versions: + "1.0.240803.1": + folder: "all" "1.0.240122.1": folder: "all" "1.0.231216.1": From 371cabce71bd54f1166cbdb862524e94aecb9e3b Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 12 Aug 2024 14:53:05 +0900 Subject: [PATCH 300/641] (#24873) perfetto: add version 47.0 --- recipes/perfetto/all/conandata.yml | 3 +++ recipes/perfetto/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/perfetto/all/conandata.yml b/recipes/perfetto/all/conandata.yml index e5a1529e55186..ba5f88c572d8d 100644 --- a/recipes/perfetto/all/conandata.yml +++ b/recipes/perfetto/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "47.0": + url: "https://github.com/google/perfetto/archive/refs/tags/v47.0.tar.gz" + sha256: "9bbd38a0f074038bde6ccbcf5f2ff32587eb60faec254932268ecb6f17f18186" "45.0": url: "https://github.com/google/perfetto/archive/refs/tags/v45.0.tar.gz" sha256: "dcb815fb54370fa20a657552288016cb66e7a98237c1a1d47e7645a4325ac75e" diff --git a/recipes/perfetto/config.yml b/recipes/perfetto/config.yml index fd321949678ec..3e962804da06e 100644 --- a/recipes/perfetto/config.yml +++ b/recipes/perfetto/config.yml @@ -1,4 +1,6 @@ versions: + "47.0": + folder: all "45.0": folder: all "44.0": From 2451edf2bb8057066c4a133806f4843a954e49b6 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 12 Aug 2024 15:11:25 +0900 Subject: [PATCH 301/641] (#24881) thorvg: add version 0.14.5 --- 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 8d7b19a192cd6..5001b01654be6 100644 --- a/recipes/thorvg/all/conandata.yml +++ b/recipes/thorvg/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.14.5": + url: "https://github.com/thorvg/thorvg/archive/refs/tags/v0.14.5.tar.gz" + sha256: "a007c548e39b0fad5d66ce9cf71244d3d219d9188fd80ccc049a5fa1b7f7aac2" "0.14.4": url: "https://github.com/thorvg/thorvg/archive/refs/tags/v0.14.4.tar.gz" sha256: "0adabdb61395d9ad126c49ac80aa9c971ad7a37268a77a9712790a556df32838" diff --git a/recipes/thorvg/config.yml b/recipes/thorvg/config.yml index 62dcfcddca37d..bb339477ec6e8 100644 --- a/recipes/thorvg/config.yml +++ b/recipes/thorvg/config.yml @@ -1,4 +1,6 @@ versions: + "0.14.5": + folder: all "0.14.4": folder: all "0.14.2": From 10e13afe695ab2e059e9ade983fba938c001a08b Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 12 Aug 2024 15:31:27 +0900 Subject: [PATCH 302/641] (#24888) s2n: add version 1.5.0, fix url of 1.4.16 --- recipes/s2n/all/conandata.yml | 7 +++++-- recipes/s2n/config.yml | 2 ++ 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/recipes/s2n/all/conandata.yml b/recipes/s2n/all/conandata.yml index 5b8f0f1c01b2c..0a51f6d241144 100644 --- a/recipes/s2n/all/conandata.yml +++ b/recipes/s2n/all/conandata.yml @@ -1,7 +1,10 @@ sources: + "1.5.0": + url: "https://github.com/aws/s2n-tls/archive/refs/tags/v1.5.0.tar.gz" + sha256: "5e86d97d8f24653ef3dff3abe6165169f0ba59cdf52b5264987125bba070174d" "1.4.16": - url: "https://github.com/aws/s2n-tls/archive/refs/tags/v1.4.1.tar.gz" - sha256: "d8c1d8e1142441412434feacb4947ce6430a244dcd8f58921af79b29bd901731" + url: "https://github.com/aws/s2n-tls/archive/refs/tags/v1.4.16.tar.gz" + sha256: "84fdbaa894c722bf13cac87b8579f494c1c2d66de642e5e6104638fddea76ad9" "1.4.13": url: "https://github.com/aws/s2n-tls/archive/refs/tags/v1.4.13.tar.gz" sha256: "8b0b36697963d6752e5a1b49e28e393605990d348edf1aef6f39c33164d45edb" diff --git a/recipes/s2n/config.yml b/recipes/s2n/config.yml index c02d8ff3f44d9..7577db328fedf 100644 --- a/recipes/s2n/config.yml +++ b/recipes/s2n/config.yml @@ -1,4 +1,6 @@ versions: + "1.5.0": + folder: all "1.4.16": folder: all "1.4.13": From fc9799aba6aecf9daf648f2b1b9d12cc85a51976 Mon Sep 17 00:00:00 2001 From: Artemis Meursault Gerrard Date: Mon, 12 Aug 2024 07:52:34 +0100 Subject: [PATCH 303/641] (#24898) [fixes #24897] fix bad sha256 for dataframe/3.2.0 --- recipes/dataframe/all/conandata.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/dataframe/all/conandata.yml b/recipes/dataframe/all/conandata.yml index 8c70c0dff65c4..76e42aa109c01 100644 --- a/recipes/dataframe/all/conandata.yml +++ b/recipes/dataframe/all/conandata.yml @@ -1,7 +1,7 @@ sources: "3.2.0": url: "https://github.com/hosseinmoein/DataFrame/archive/refs/tags/3.2.0.tar.gz" - sha256: "ca0c27cddf7a77da008d4b85e620e65baf5fcdf107f5e523ec38e7c55d778f7e" + sha256: "44c513ef7956976738c2ca37384a220c5383e95fc363ad933541c6f3eef9d294" "3.1.0": url: "https://github.com/hosseinmoein/DataFrame/archive/refs/tags/3.1.0.tar.gz" sha256: "09280a81f17d87d171062210c904c1acd94b1cdcf4c040eaa16cc9d224d526d4" From cdbfe64946a29202065308f7995a7c3645e66d6d Mon Sep 17 00:00:00 2001 From: Luis Caro Campos <3535649+jcar87@users.noreply.github.com> Date: Mon, 12 Aug 2024 10:03:08 +0100 Subject: [PATCH 304/641] (#24876) qt refactor option handling and error reporting * qt refactor option handling and error reporting * fixes * Fix --- recipes/qt/5.x.x/conanfile.py | 82 ++++++++++++++++++++++-------- recipes/qt/6.x.x/conanfile.py | 94 ++++++++++++++++++++++++----------- 2 files changed, 124 insertions(+), 52 deletions(-) diff --git a/recipes/qt/5.x.x/conanfile.py b/recipes/qt/5.x.x/conanfile.py index 3f3977990a25b..0ad50b6ce723c 100644 --- a/recipes/qt/5.x.x/conanfile.py +++ b/recipes/qt/5.x.x/conanfile.py @@ -1,4 +1,4 @@ -from conan import ConanFile +from conan import ConanFile, conan_version from conan.errors import ConanException, ConanInvalidConfiguration from conan.tools.android import android_abi from conan.tools.apple import is_apple_os @@ -123,9 +123,10 @@ class QtConan(ConanFile): "sysroot": None, "config": None, "multiconfiguration": False, - "essential_modules": not os.getenv('CONAN_CENTER_BUILD_SERVICE') } - default_options.update({f"{status}_modules": False for status in _module_statuses if status != "essential"}) + # essential_modules, addon_modules, deprecated_modules, preview_modules: + # these are only provided for convenience, set to False by default + default_options.update({f"{status}_modules": False for status in _module_statuses}) no_copy_source = True short_paths = True @@ -207,6 +208,10 @@ def config_options(self): if self.settings.os != "Android": del self.options.android_sdk + def _debug_output(self, message): + if Version(conan_version) >= "2": + self.output.debug(message) + def configure(self): # if self.settings.os != "Linux": # self.options.with_libiconv = False # QTBUG-84708 @@ -249,25 +254,50 @@ def configure(self): for m in submodules_tree: assert m in ["qtbase", "qtqa", "qtrepotools"] or m in self._submodules, "module %s is not present in recipe options : (%s)" % (m, ",".join(self._submodules)) - for m in self._submodules: - if m not in submodules_tree: - delattr(self.options, m) + for module in self._submodules: + if module not in submodules_tree: + self._debug_output(f"qt5: removing {module} from options as it is not an option for this version, or it is ignored or obsolete") + self.options.rm_safe(module) + + # Requested modules: + # - any module for non-removed options that have 'True' value + # - any enabled via `xxx_modules` that does not have a 'False' value + # Note that at this point, the submodule options dont have a value unless one is given externally + # to the recipe (e.g. via the command line, a profile, or a consumer) + requested_modules = set([module for module in self._submodules if self.options.get_safe(module)]) + for module in [m for m in self._submodules if m in submodules_tree]: + status = submodules_tree[module]['status'] + is_disabled = self.options.get_safe(module) == False + if self.options.get_safe(f"{status}_modules"): + if not is_disabled: + requested_modules.add(module) + else: + self.output.warning(f"qt5: {module} requested because {status}_modules=True" + f" but it has been explicitly disabled with {module}=False") + + self.output.info(f"qt5: requested modules {list(requested_modules)}") - def _enablemodule(mod): - if mod != "qtbase": - setattr(self.options, mod, True) - for req in submodules_tree[mod]["depends"]: - _enablemodule(req) + required_modules = {} + for module in requested_modules: + deps = submodules_tree[module]["depends"] + for dep in deps: + required_modules.setdefault(dep,[]).append(module) - for module in self._submodules: - if self.options.get_safe(module): - _enablemodule(module) - else: - if module in submodules_tree: - for status in self._module_statuses: - if getattr(self.options, f"{status}_modules") and submodules_tree[module]['status'] == status: - _enablemodule(module) - break + required_but_disabled = [m for m in required_modules.keys() if self.options.get_safe(m) == False] + if required_modules: + self._debug_output(f"qt5: required_modules modules {list(required_modules.keys())}") + if required_but_disabled: + required_by = set() + for m in required_but_disabled: + required_by.update(required_modules[m]) + raise ConanInvalidConfiguration(f"Modules {required_but_disabled} are explicitly disabled, " + f"but are required by {list(required_by)}, enabled by other options") + + enabled_modules = requested_modules.union(set(required_modules.keys())) + enabled_modules.discard("qtbase") + + for module in list(enabled_modules): + setattr(self.options, module, True) for module in self._submodules: if module in self.options and not self.options.get_safe(module): @@ -283,6 +313,16 @@ def _enablemodule(mod): if self.options.qtwebengine: self.options.with_fontconfig = True + for status in self._module_statuses: + # These are convenience only, should not affect package_id + option_name = f"{status}_modules" + self._debug_output(f"qt5 removing convenience option: {option_name}," + f" see individual module options") + self.options.rm_safe(option_name) + + for option in self.options.items(): + self._debug_output(f"qt5 option {option[0]}={option[1]}") + def validate(self): if self.settings.compiler.get_safe("cppstd"): check_min_cppstd(self, "11") @@ -438,8 +478,6 @@ def package_id(self): self.info.settings.compiler.runtime_type = "Release/Debug" if self.info.settings.os == "Android": del self.info.options.android_sdk - for status in self._module_statuses: - delattr(self.info.options, f"{status}_modules") def build_requirements(self): if self._settings_build.os == "Windows" and is_msvc(self): diff --git a/recipes/qt/6.x.x/conanfile.py b/recipes/qt/6.x.x/conanfile.py index 15b0c62488f23..fae6a4ea138ca 100644 --- a/recipes/qt/6.x.x/conanfile.py +++ b/recipes/qt/6.x.x/conanfile.py @@ -4,7 +4,7 @@ import platform import textwrap -from conan import ConanFile +from conan import ConanFile, conan_version from conan.tools.apple import is_apple_os from conan.tools.build import cross_building, check_min_cppstd, default_cppstd from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout @@ -122,9 +122,10 @@ class QtConan(ConanFile): "sysroot": None, "multiconfiguration": False, "disabled_features": "", - "essential_modules": not os.getenv('CONAN_CENTER_BUILD_SERVICE') } - default_options.update({f"{status}_modules": False for status in _module_statuses if status != "essential"}) + # essential_modules, addon_modules, deprecated_modules, preview_modules: + # these are only provided for convenience, set to False by default + default_options.update({f"{status}_modules": False for status in _module_statuses}) short_paths = True @@ -182,9 +183,10 @@ def config_options(self): if self.settings.os != "Linux": self.options.qtwayland = False - for m in self._submodules: - if m not in self._get_module_tree: - delattr(self.options, m) + for submodule in self._submodules: + if submodule not in self._get_module_tree: + self._debug_output(f"Qt6: Removing {submodule} option as it is not in the module tree for this version, or is marked as obsolete or ignore") + self.options.rm_safe(submodule) @property def _minimum_compilers_version(self): @@ -197,6 +199,10 @@ def _minimum_compilers_version(self): "apple-clang": "12" if Version(self.version) >= "6.5.0" else "11" } + def _debug_output(self, message): + if Version(conan_version) >= "2": + self.output.debug(message) + def configure(self): if not self.options.gui: del self.options.opengl @@ -213,28 +219,48 @@ def configure(self): if self.options.multiconfiguration: del self.settings.build_type - def _enablemodule(mod): - if mod != "qtbase": - setattr(self.options, mod, True) - for req in self._get_module_tree[mod]["depends"]: - _enablemodule(req) - - # enable all modules which are - # - required by a module explicitely enabled by the consumer - for module_name, module in self._get_module_tree.items(): - if getattr(self.options, module_name): - _enablemodule(module_name) - else: - for status in self._module_statuses: - if getattr(self.options, f"{status}_modules") and module['status'] == status: - _enablemodule(module_name) - break - - # disable all modules which are: - # - not explicitely enabled by the consumer and - # - not required by a module explicitely enabled by the consumer - for module in self._get_module_tree: - if getattr(self.options, module).value is None: + # Requested modules: + # - any module for non-removed options that have 'True' value + # - any enabled via `xxx_modules` that does not have a 'False' value + # Note that at this point, the submodule options dont have a value unless one is given externally + # to the recipe (e.g. via the command line, a profile, or a consumer) + requested_modules = set([module for module in self._submodules if self.options.get_safe(module)]) + for module in [m for m in self._submodules if m in self._get_module_tree]: + status = self._get_module_tree[module]['status'] + is_disabled = self.options.get_safe(module) == False + if self.options.get_safe(f"{status}_modules"): + if not is_disabled: + requested_modules.add(module) + else: + self.output.warning(f"qt6: {module} requested because {status}_modules=True" + f" but it has been explicitly disabled with {module}=False") + + self.output.info(f"qt6: requested modules {list(requested_modules)}") + + required_modules = {} + for module in requested_modules: + deps = self._get_module_tree[module]["depends"] + for dep in deps: + required_modules.setdefault(dep,[]).append(module) + + required_but_disabled = [m for m in required_modules.keys() if self.options.get_safe(m) == False] + if required_modules: + self._debug_output(f"qt6: required_modules modules {list(required_modules.keys())}") + if required_but_disabled: + required_by = set() + for m in required_but_disabled: + required_by.update(required_modules[m]) + raise ConanInvalidConfiguration(f"Modules {required_but_disabled} are explicitly disabled, " + f"but are required by {list(required_by)}, enabled by other options") + + enabled_modules = requested_modules.union(set(required_modules.keys())) + enabled_modules.discard("qtbase") + + for module in list(enabled_modules): + setattr(self.options, module, True) + + for module in self._submodules: + if module in self.options and not self.options.get_safe(module): setattr(self.options, module, False) if not self.options.get_safe("qtmultimedia"): @@ -247,6 +273,16 @@ def _enablemodule(mod): if self.options.get_safe("qtwebengine"): self.options.with_fontconfig = True + for status in self._module_statuses: + # These are convenience only, should not affect package_id + option_name = f"{status}_modules" + self._debug_output(f"qt6 removing convenience option: {option_name}," + f" see individual module options") + self.options.rm_safe(option_name) + + for option in self.options.items(): + self._debug_output(f"qt6 option: {option}") + def validate(self): if os.getenv('CONAN_CENTER_BUILD_SERVICE') is not None: if self.info.settings.compiler == "gcc" and Version(self.info.settings.compiler.version) >= "11" or \ @@ -649,8 +685,6 @@ def package_id(self): self.info.settings.compiler.runtime_type = "Release/Debug" if self.info.settings.os == "Android": del self.info.options.android_sdk - for status in self._module_statuses: - delattr(self.info.options, f"{status}_modules") def source(self): destination = self.source_folder From 20866d6b1b63919b009d9471e3f62d09f9053280 Mon Sep 17 00:00:00 2001 From: Daniel Date: Mon, 12 Aug 2024 12:42:13 +0200 Subject: [PATCH 305/641] (#24902) [aws refactor] aws-c-io: Remove some versions and unify dependencies --- recipes/aws-c-io/all/conandata.yml | 48 ++++-------------------------- recipes/aws-c-io/all/conanfile.py | 18 ++++++----- recipes/aws-c-io/config.yml | 14 ++------- 3 files changed, 18 insertions(+), 62 deletions(-) diff --git a/recipes/aws-c-io/all/conandata.yml b/recipes/aws-c-io/all/conandata.yml index a70c427e6a279..60d48a7600965 100644 --- a/recipes/aws-c-io/all/conandata.yml +++ b/recipes/aws-c-io/all/conandata.yml @@ -1,43 +1,7 @@ sources: - "0.14.1": - url: "https://github.com/awslabs/aws-c-io/archive/v0.14.1.tar.gz" - sha256: "d0512b36ac2ad50536172865c0fa7528725c3a9f9031879279b82f9f0924b453" - "0.13.35": - url: "https://github.com/awslabs/aws-c-io/archive/v0.13.35.tar.gz" - sha256: "a9232dbbb3324de36a280859a4ea84dd2b75e47961805f1cffe0f3a7e1831711" - "0.13.32": - url: "https://github.com/awslabs/aws-c-io/archive/v0.13.32.tar.gz" - sha256: "2a6b18c544d014ca4f55cb96002dbbc1e52a2120541c809fa974cb0838ea72cc" - "0.13.4": - url: "https://github.com/awslabs/aws-c-io/archive/v0.13.4.tar.gz" - sha256: "133bd0aa46caa2041962cd4f6d076209686ce2934af82f86d1a258df4cbdce8b" - "0.11.2": - url: "https://github.com/awslabs/aws-c-io/archive/v0.11.2.tar.gz" - sha256: "b60270d23b6e2f4a5d80e64ca6538ba114cd6044b53752964c940f87e59bf0d9" - "0.10.20": - url: "https://github.com/awslabs/aws-c-io/archive/v0.10.20.tar.gz" - sha256: "293248ef96166826370223865bff2537bea5e08f6913919884c53add8238ba97" - "0.10.13": - url: "https://github.com/awslabs/aws-c-io/archive/v0.10.13.tar.gz" - sha256: "ee34a93190e35a5c372ba73661dd69c48986e051a4b26dedb62bc5aa78f1660f" - -version_mappings: - # the versions of aws-c-common and aws-c-io are tied since aws-c-common/0.6.12 and aws-c-io/0.10.10 - # Please refer https://github.com/conan-io/conan-center-index/issues/7763 - "0.10.13": &v0_10_13 - aws-c-common: "0.8.2" - aws-c-cal: "0.5.13" - s2n: "1.3.55" - "0.10.20": *v0_10_13 - "0.11.2": *v0_10_13 - "0.13.4": *v0_10_13 - "0.13.32": &v0_13_32 - aws-c-common: "0.9.6" - aws-c-cal: "0.6.1" - s2n: "1.3.55" - "0.13.35": *v0_13_32 - "0.14.1": - aws-c-common: "0.9.12" - aws-c-cal: "0.6.9" - s2n: "1.4.1" - + "0.14.7": + url: "https://github.com/awslabs/aws-c-io/archive/v0.14.7.tar.gz" + sha256: "ecf1f660d7d43913aa8a416be6a2027101ce87c3b241344342d608335b4df7d4" + "0.10.9": + url: "https://github.com/awslabs/aws-c-io/archive/v0.10.9.tar.gz" + sha256: "c64464152abe8b7e23f10bc026ed54a15eaf0ec0aae625d28e2caf4489090327" diff --git a/recipes/aws-c-io/all/conanfile.py b/recipes/aws-c-io/all/conanfile.py index 284cde25af16a..a0bc513a7bf85 100644 --- a/recipes/aws-c-io/all/conanfile.py +++ b/recipes/aws-c-io/all/conanfile.py @@ -39,14 +39,16 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - def _mapping_requires(dep, **kwargs): - required_version = self.conan_data["version_mappings"][self.version][dep] - self.requires(f"{dep}/{required_version}", **kwargs) - - _mapping_requires("aws-c-common", transitive_headers=True, transitive_libs=True) - _mapping_requires("aws-c-cal", transitive_headers=True, transitive_libs=True) - if self.settings.os in ["Linux", "FreeBSD", "Android"]: - _mapping_requires("s2n") + if self.version == "0.14.7": + self.requires("aws-c-common/0.9.15", transitive_headers=True, transitive_libs=True) + self.requires("aws-c-cal/0.6.14") + if self.settings.os in ["Linux", "FreeBSD", "Android"]: + self.requires("s2n/1.4.1") + if self.version == "0.10.9": + self.requires("aws-c-common/0.6.11", transitive_headers=True, transitive_libs=True) + self.requires("aws-c-cal/0.5.12") + if self.settings.os in ["Linux", "FreeBSD", "Android"]: + self.requires("s2n/1.3.55") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) diff --git a/recipes/aws-c-io/config.yml b/recipes/aws-c-io/config.yml index 069070f53b1fc..659ff80091e7d 100644 --- a/recipes/aws-c-io/config.yml +++ b/recipes/aws-c-io/config.yml @@ -1,15 +1,5 @@ versions: - "0.14.1": + "0.14.7": folder: all - "0.13.35": - folder: all - "0.13.32": - folder: all - "0.13.4": - folder: all - "0.11.2": - folder: all - "0.10.20": - folder: all - "0.10.13": + "0.10.9": folder: all From 145cedb9607d2ac5299716ac5d3c0cc77728c47e Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Mon, 12 Aug 2024 17:02:25 +0100 Subject: [PATCH 306/641] (#24908) [bot] Update authorized users list (2024-08-12) Co-authored-by: conan-center-bot --- .c3i/authorized_users.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.c3i/authorized_users.yml b/.c3i/authorized_users.yml index bc215f6e77a17..c49517593935d 100644 --- a/.c3i/authorized_users.yml +++ b/.c3i/authorized_users.yml @@ -1396,3 +1396,8 @@ authorized_users: - liuzicheng1987 - guyutongxue - ciclark +- John-LittleBearLabs +- jasal82 +- philipp-m-w +- nine +- OMGtechy From a61fbccf03da2b5101d8946a61d716643463312b Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 13 Aug 2024 03:32:17 +0900 Subject: [PATCH 307/641] (#24886) jsonifier: add version 0.9.97 --- recipes/jsonifier/all/conandata.yml | 3 +++ recipes/jsonifier/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/jsonifier/all/conandata.yml b/recipes/jsonifier/all/conandata.yml index b2b7a5da8d77b..d326552c7b2a5 100644 --- a/recipes/jsonifier/all/conandata.yml +++ b/recipes/jsonifier/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.9.97": + url: "https://github.com/RealTimeChris/Jsonifier/archive/refs/tags/v0.9.97.tar.gz" + sha256: "68828c982a994862b02bcee562ee4e6d7cc461013ac3d4dcb98c0f1581049924" "0.9.96": url: "https://github.com/RealTimeChris/Jsonifier/archive/refs/tags/v0.9.96.tar.gz" sha256: "9f2658282f53680be0121091adacc8f82b2de5b95c31bc6eadb98802c0aa59f0" diff --git a/recipes/jsonifier/config.yml b/recipes/jsonifier/config.yml index 4072492ec419c..f8a1d2a6df61b 100644 --- a/recipes/jsonifier/config.yml +++ b/recipes/jsonifier/config.yml @@ -1,4 +1,6 @@ versions: + "0.9.97": + folder: all "0.9.96": folder: all "0.9.95": From ed56ed5cb36efeb3ff7333d0aa8d897ee1d3bf18 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 13 Aug 2024 03:51:57 +0900 Subject: [PATCH 308/641] (#24887) quill: add version 6.1.0 --- recipes/quill/all/conandata.yml | 3 +++ recipes/quill/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/quill/all/conandata.yml b/recipes/quill/all/conandata.yml index 3e08beff90722..4f8ba57c812d4 100644 --- a/recipes/quill/all/conandata.yml +++ b/recipes/quill/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "6.1.0": + url: "https://github.com/odygrd/quill/releases/download/v6.1.0/quill-6.1.0.zip" + sha256: "114bea9d3e4f1ef06a3c48c4e5554a1a3cba182731495e229f2d28f8aef04467" "6.0.0": url: "https://github.com/odygrd/quill/releases/download/v6.0.0/quill-6.0.0.zip" sha256: "912de8486ce781d06e3f03c4267d112a0c7f20f93f0470f6ac66a52774c08283" diff --git a/recipes/quill/config.yml b/recipes/quill/config.yml index 9b11652fad543..c06b06ae090d1 100644 --- a/recipes/quill/config.yml +++ b/recipes/quill/config.yml @@ -1,4 +1,6 @@ versions: + "6.1.0": + folder: "all" "6.0.0": folder: "all" "4.5.0": From 48b798230eb4791286e144eb8c603ee42494aab6 Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Mon, 12 Aug 2024 23:01:31 +0100 Subject: [PATCH 309/641] (#24914) [bot] Update list of references (prod-v2/ListPackages) Co-authored-by: conan-center-bot --- .c3i/conan_v2_ready_references.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.c3i/conan_v2_ready_references.yml b/.c3i/conan_v2_ready_references.yml index 67cb6879492fa..447a8e448c231 100644 --- a/.c3i/conan_v2_ready_references.yml +++ b/.c3i/conan_v2_ready_references.yml @@ -43,6 +43,7 @@ required_for_references: - args-parser - argtable2 - argtable3 +- argz - armadillo - arrow - arsenalgear @@ -453,6 +454,7 @@ required_for_references: - fusepp - fxdiv - g3log +- gaia-ecs - gainput - gamenetworkingsockets - gamma @@ -1348,6 +1350,7 @@ required_for_references: - simfil - simple-websocket-server - simple-yaml +- simple_enum - sioclient - sjson-cpp - skyr-url From 27cb803644a93e9b763f8d620c3d79a3d521cb57 Mon Sep 17 00:00:00 2001 From: Daniel Date: Tue, 13 Aug 2024 09:22:17 +0200 Subject: [PATCH 310/641] (#24909) [aws refactor] aws-c-event-stream: Reduce versions, remove patches and unify dependencies --- recipes/aws-c-event-stream/all/conandata.yml | 25 ++------ recipes/aws-c-event-stream/all/conanfile.py | 21 +++---- .../all/patches/0001-disable-tests-bin.patch | 25 -------- .../patches/0002-use-PROJECT_SOURCE_DIR.patch | 61 ------------------- recipes/aws-c-event-stream/config.yml | 10 +-- 5 files changed, 16 insertions(+), 126 deletions(-) delete mode 100644 recipes/aws-c-event-stream/all/patches/0001-disable-tests-bin.patch delete mode 100644 recipes/aws-c-event-stream/all/patches/0002-use-PROJECT_SOURCE_DIR.patch diff --git a/recipes/aws-c-event-stream/all/conandata.yml b/recipes/aws-c-event-stream/all/conandata.yml index 6f473b8334656..63e6c5f58778f 100644 --- a/recipes/aws-c-event-stream/all/conandata.yml +++ b/recipes/aws-c-event-stream/all/conandata.yml @@ -1,20 +1,7 @@ sources: - "0.3.2": - url: "https://github.com/awslabs/aws-c-event-stream/archive/v0.3.2.tar.gz" - sha256: "3134b35a45e9f9d974c2b78ee44fd2ea0aebc04df80236b80692aa63bee2092e" - "0.3.1": - url: "https://github.com/awslabs/aws-c-event-stream/archive/v0.3.1.tar.gz" - sha256: "bdbc420efc2572689fb167ac288e982a01224876eb79d80e2411fad4c43e9dc0" - "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.1.5": - url: "https://github.com/awslabs/aws-c-event-stream/archive/v0.1.5.tar.gz" - sha256: "f1b423a487b5d6dca118bfc0d0c6cc596dc476b282258a3228e73a8f730422d4" -patches: - "0.1.5": - - patch_file: "patches/0001-disable-tests-bin.patch" - - patch_file: "patches/0002-use-PROJECT_SOURCE_DIR.patch" + "0.4.2": + url: "https://github.com/awslabs/aws-c-event-stream/archive/v0.4.2.tar.gz" + sha256: "c98b8fa05c2ca10aacfce7327b92a84669c2da95ccb8e7d7b3e3285fcec8beee" + "0.2.7": + url: "https://github.com/awslabs/aws-c-event-stream/archive/v0.2.7.tar.gz" + sha256: "bb5c94cdff70c1985fb0b5f30d81756cedb5a3c3075d37f7e1e2b34e2a33c8c0" diff --git a/recipes/aws-c-event-stream/all/conanfile.py b/recipes/aws-c-event-stream/all/conanfile.py index e7d1df562c48b..7fc076d11b4af 100644 --- a/recipes/aws-c-event-stream/all/conanfile.py +++ b/recipes/aws-c-event-stream/all/conanfile.py @@ -43,19 +43,14 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - if Version(self.version) < "0.3.1": - self.requires("aws-c-common/0.8.2", transitive_headers=True, transitive_libs=True) - self.requires("aws-checksums/0.1.13") - else: - self.requires("aws-c-common/0.9.6", transitive_headers=True, transitive_libs=True) - self.requires("aws-checksums/0.1.17") - if Version(self.version) >= "0.2": - if Version(self.version) < "0.2.11": - self.requires("aws-c-io/0.10.20") - elif Version(self.version) < "0.3.1": - self.requires("aws-c-io/0.13.4") - else: - self.requires("aws-c-io/0.13.35") + if self.version == "0.4.2": + self.requires("aws-c-common/0.9.15", transitive_headers=True, transitive_libs=True) + self.requires("aws-checksums/0.1.18") + self.requires("aws-c-io/0.14.7") + if self.version == "0.2.7": + self.requires("aws-c-common/0.6.11", transitive_headers=True, transitive_libs=True) + self.requires("aws-checksums/0.1.12") + self.requires("aws-c-io/0.10.9") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) diff --git a/recipes/aws-c-event-stream/all/patches/0001-disable-tests-bin.patch b/recipes/aws-c-event-stream/all/patches/0001-disable-tests-bin.patch deleted file mode 100644 index 21eae44486c93..0000000000000 --- a/recipes/aws-c-event-stream/all/patches/0001-disable-tests-bin.patch +++ /dev/null @@ -1,25 +0,0 @@ ---- CMakeLists.txt -+++ CMakeLists.txt -@@ -112,14 +112,18 @@ - install(FILES "${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_PROJECT_NAME}-config.cmake" - DESTINATION "${LIBRARY_DIRECTORY}/${CMAKE_PROJECT_NAME}/cmake/" - COMPONENT Development) - - --include(CTest) --enable_testing() --add_subdirectory(tests) -+if(BUILD_TESTING) -+ include(CTest) -+ enable_testing() -+ add_subdirectory(tests) -+endif() - - if(NOT MSVC) - set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) - endif() - --add_subdirectory(bin) -+if(BUILD_BINARIES) -+ add_subdirectory(bin) -+endif() diff --git a/recipes/aws-c-event-stream/all/patches/0002-use-PROJECT_SOURCE_DIR.patch b/recipes/aws-c-event-stream/all/patches/0002-use-PROJECT_SOURCE_DIR.patch deleted file mode 100644 index f2b60bb0f9a1d..0000000000000 --- a/recipes/aws-c-event-stream/all/patches/0002-use-PROJECT_SOURCE_DIR.patch +++ /dev/null @@ -1,61 +0,0 @@ ---- CMakeLists.txt -+++ CMakeLists.txt -@@ -70,25 +70,25 @@ - ${AWS_EVENT_STREAM_SRC} - ) - --add_library(${CMAKE_PROJECT_NAME} ${EVENT_STREAM_SRC}) --aws_set_common_properties(${CMAKE_PROJECT_NAME}) --aws_add_sanitizers(${CMAKE_PROJECT_NAME}) --aws_prepare_symbol_visibility_args(${CMAKE_PROJECT_NAME} "AWS_EVENT_STREAM") -+add_library(${PROJECT_NAME} ${EVENT_STREAM_SRC}) -+aws_set_common_properties(${PROJECT_NAME}) -+aws_add_sanitizers(${PROJECT_NAME}) -+aws_prepare_symbol_visibility_args(${PROJECT_NAME} "AWS_EVENT_STREAM") - --target_include_directories(${CMAKE_PROJECT_NAME} PUBLIC -+target_include_directories(${PROJECT_NAME} PUBLIC - $ - $) - - --set_target_properties(${CMAKE_PROJECT_NAME} PROPERTIES VERSION 1.0.0) --set_target_properties(${CMAKE_PROJECT_NAME} PROPERTIES SOVERSION 0unstable) -+set_target_properties(${PROJECT_NAME} PROPERTIES VERSION 1.0.0) -+set_target_properties(${PROJECT_NAME} PROPERTIES SOVERSION 0unstable) - - find_package(aws-c-common REQUIRED) - find_package(aws-checksums REQUIRED) - --target_link_libraries(${CMAKE_PROJECT_NAME} PUBLIC AWS::aws-c-common AWS::aws-checksums) -+target_link_libraries(${PROJECT_NAME} PUBLIC AWS::aws-c-common AWS::aws-checksums) - --aws_prepare_shared_lib_exports(${CMAKE_PROJECT_NAME}) -+aws_prepare_shared_lib_exports(${PROJECT_NAME}) - - install(FILES ${AWS_EVENT_STREAM_HEADERS} - DESTINATION "include/aws/event-stream" -@@ -100,17 +100,17 @@ - set (TARGET_DIR "static") - endif() - --install(EXPORT "${CMAKE_PROJECT_NAME}-targets" -- DESTINATION "${LIBRARY_DIRECTORY}/${CMAKE_PROJECT_NAME}/cmake/${TARGET_DIR}/" -+install(EXPORT "${PROJECT_NAME}-targets" -+ DESTINATION "${LIBRARY_DIRECTORY}/${PROJECT_NAME}/cmake/${TARGET_DIR}/" - NAMESPACE AWS:: - COMPONENT Development) - --configure_file("cmake/${CMAKE_PROJECT_NAME}-config.cmake" -- "${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_PROJECT_NAME}-config.cmake" -+configure_file("cmake/${PROJECT_NAME}-config.cmake" -+ "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}-config.cmake" - @ONLY) - --install(FILES "${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_PROJECT_NAME}-config.cmake" -- DESTINATION "${LIBRARY_DIRECTORY}/${CMAKE_PROJECT_NAME}/cmake/" -+install(FILES "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}-config.cmake" -+ DESTINATION "${LIBRARY_DIRECTORY}/${PROJECT_NAME}/cmake/" - COMPONENT Development) - - diff --git a/recipes/aws-c-event-stream/config.yml b/recipes/aws-c-event-stream/config.yml index 98f41919c3397..015334b5552b6 100644 --- a/recipes/aws-c-event-stream/config.yml +++ b/recipes/aws-c-event-stream/config.yml @@ -1,11 +1,5 @@ versions: - "0.3.2": + "0.4.2": folder: all - "0.3.1": - folder: all - "0.2.20": - folder: all - "0.2.15": - folder: all - "0.1.5": + "0.2.7": folder: all From a650bac3fb5d0c2d1e5da12dcba015074d6e94c7 Mon Sep 17 00:00:00 2001 From: Luis Caro Campos <3535649+jcar87@users.noreply.github.com> Date: Tue, 13 Aug 2024 08:42:21 +0100 Subject: [PATCH 311/641] (#24903) Fix locating moltenvk headers when with_vulkan=True * Fix locating moltenvk headers when with_vulkan=True * qt6: fixe handling of vulkan --- recipes/qt/6.x.x/conanfile.py | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/recipes/qt/6.x.x/conanfile.py b/recipes/qt/6.x.x/conanfile.py index fae6a4ea138ca..0b275f218cf1c 100644 --- a/recipes/qt/6.x.x/conanfile.py +++ b/recipes/qt/6.x.x/conanfile.py @@ -304,9 +304,6 @@ def validate(self): if Version(self.version) >= "6.6.1" and self.settings.compiler == "apple-clang" and Version(self.settings.compiler.version) < "13.1": raise ConanInvalidConfiguration("apple-clang >= 13.1 is required by qt >= 6.6.1 cf QTBUG-119490") - if self.settings.os == "Macos" and self.dependencies["double-conversion"].options.shared: - raise ConanInvalidConfiguration("Test recipe fails because of Macos' SIP. Contributions are welcome.") - if self.options.get_safe("qtwebengine"): if not self.options.shared: raise ConanInvalidConfiguration("Static builds of Qt WebEngine are not supported") @@ -366,7 +363,12 @@ def requirements(self): if self.options.with_pcre2: self.requires("pcre2/10.42") if self.options.get_safe("with_vulkan"): - self.requires("vulkan-loader/1.3.268.0") + # Note: the versions of vulkan-loader and moltenvk + # must be exactly part of the same Vulkan SDK version + # do not update either without checking both + # require exactly the same version of vulkan-headers + self.requires("vulkan-loader/1.3.239.0") + self.requires("vulkan-headers/1.3.239.0", transitive_headers=True) if is_apple_os(self): self.requires("moltenvk/1.2.2") if self.options.with_glib: @@ -721,6 +723,13 @@ def source(self): "qt_auto_detect_vcpkg()", "# qt_auto_detect_vcpkg()") + # Handle locating moltenvk headers when vulkan is enabled on macOS + replace_in_file(self, os.path.join(self.source_folder, "qtbase", "cmake", "FindWrapVulkanHeaders.cmake"), + "if(APPLE)", "if(APPLE)\n" + " find_package(moltenvk REQUIRED QUIET)\n" + " target_include_directories(WrapVulkanHeaders::WrapVulkanHeaders INTERFACE ${moltenvk_INCLUDE_DIR})" + ) + def _xplatform(self): if self.settings.os == "Linux": if self.settings.compiler == "gcc": @@ -1118,6 +1127,7 @@ def _create_plugin(pluginname, libname, plugintype, requires): gui_reqs.append("opengl::opengl") if self.options.get_safe("with_vulkan", False): gui_reqs.append("vulkan-loader::vulkan-loader") + gui_reqs.append("vulkan-headers::vulkan-headers") if is_apple_os(self): gui_reqs.append("moltenvk::moltenvk") if self.options.with_harfbuzz: From 82bbae0703b3dd66a1a768fa0652fe6be57c6b14 Mon Sep 17 00:00:00 2001 From: Daniel Date: Tue, 13 Aug 2024 10:02:27 +0200 Subject: [PATCH 312/641] (#24910) [aws refactor] aws-c-http: Reduce versions and unify dependency versions --- recipes/aws-c-http/all/conandata.yml | 15 --------------- recipes/aws-c-http/all/conanfile.py | 22 +++++++++------------- recipes/aws-c-http/config.yml | 10 ---------- 3 files changed, 9 insertions(+), 38 deletions(-) diff --git a/recipes/aws-c-http/all/conandata.yml b/recipes/aws-c-http/all/conandata.yml index 6ee734ea998ca..515176a226691 100644 --- a/recipes/aws-c-http/all/conandata.yml +++ b/recipes/aws-c-http/all/conandata.yml @@ -2,21 +2,6 @@ sources: "0.8.1": url: "https://github.com/awslabs/aws-c-http/archive/v0.8.1.tar.gz" sha256: "83fb47e2d7956469bb328f16dea96663e96f8f20dc60dc4e9676b82804588530" - "0.7.14": - url: "https://github.com/awslabs/aws-c-http/archive/v0.7.14.tar.gz" - sha256: "afb935395c93427ac0853d6363900a71816a0508f18c86e84da0e6ebe7271429" - "0.6.22": - url: "https://github.com/awslabs/aws-c-http/archive/v0.6.22.tar.gz" - sha256: "a178fd04bd1618469cd21afc5b84cbe436d1f9d9e036fefbd3a8f00356da4d4c" - "0.6.13": - url: "https://github.com/awslabs/aws-c-http/archive/v0.6.13.tar.gz" - sha256: "8c69f8fc58b7073039e598383da3e1fd9b23f392cb992dbe769a7b80f342dbaf" - "0.6.10": - url: "https://github.com/awslabs/aws-c-http/archive/v0.6.10.tar.gz" - sha256: "4413faf2b8f6a83c898bb535cf83542fa548d7ecc1acf681dc79b7959a07231a" "0.6.7": url: "https://github.com/awslabs/aws-c-http/archive/v0.6.7.tar.gz" sha256: "2244d1e26ce5b5f40f96e570b1c4332a07c645ef744644d5b90b089d3695ec3b" - "0.6.5": - url: "https://github.com/awslabs/aws-c-http/archive/v0.6.5.tar.gz" - sha256: "9cb82f1cfe1342f4bbd58f51b74beaeb6a544fb6792c48f9b0d3967619b33221" diff --git a/recipes/aws-c-http/all/conanfile.py b/recipes/aws-c-http/all/conanfile.py index f9311547cb20c..2c2aed337ab03 100644 --- a/recipes/aws-c-http/all/conanfile.py +++ b/recipes/aws-c-http/all/conanfile.py @@ -40,19 +40,15 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - if Version(self.version) <= "0.6.22": - self.requires("aws-c-compression/0.2.15") - self.requires("aws-c-common/0.8.2", transitive_headers=True, transitive_libs=True) - else: - self.requires("aws-c-compression/0.2.17") - self.requires("aws-c-common/0.9.6", transitive_headers=True, transitive_libs=True) - - if Version(self.version) <= "0.6.13": - self.requires("aws-c-io/0.10.20", transitive_headers=True, transitive_libs=True) - elif Version(self.version) <= "0.6.22": - self.requires("aws-c-io/0.13.4", transitive_headers=True, transitive_libs=True) - else: - self.requires("aws-c-io/0.13.35", transitive_headers=True, transitive_libs=True) + if self.version == "0.8.1": + self.requires("aws-c-common/0.9.15", transitive_headers=True, transitive_libs=True) + self.requires("aws-c-compression/0.2.18") + self.requires("aws-c-cal/0.6.14") + self.requires("aws-c-io/0.14.7", transitive_headers=True, transitive_libs=True) + if self.version == "0.6.7": + self.requires("aws-c-common/0.6.11", transitive_headers=True, transitive_libs=True) + self.requires("aws-c-compression/0.2.14") + self.requires("aws-c-io/0.10.9", transitive_headers=True, transitive_libs=True) def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) diff --git a/recipes/aws-c-http/config.yml b/recipes/aws-c-http/config.yml index 9ef90600a046d..b4cfbdf31c4fc 100644 --- a/recipes/aws-c-http/config.yml +++ b/recipes/aws-c-http/config.yml @@ -1,15 +1,5 @@ versions: "0.8.1": folder: all - "0.7.14": - folder: all - "0.6.22": - folder: all - "0.6.13": - folder: all - "0.6.10": - folder: all "0.6.7": folder: all - "0.6.5": - folder: all From 5e1de45735ffc8c4c9db049989fad2740cf1da32 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 13 Aug 2024 17:52:12 +0900 Subject: [PATCH 313/641] (#24891) daw_header_libraries: add version 2.107.0 --- recipes/daw_header_libraries/all/conandata.yml | 3 +++ recipes/daw_header_libraries/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/daw_header_libraries/all/conandata.yml b/recipes/daw_header_libraries/all/conandata.yml index bac687052b675..0562aafef47b0 100644 --- a/recipes/daw_header_libraries/all/conandata.yml +++ b/recipes/daw_header_libraries/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.107.0": + url: "https://github.com/beached/header_libraries/archive/v2.107.0.tar.gz" + sha256: "b84f7666d004da466d0035e9f475797395e90b6e8f23e000816b45aa13d4fc35" "2.106.2": url: "https://github.com/beached/header_libraries/archive/v2.106.2.tar.gz" sha256: "33609d83aec5a6081efebf871627b7a8bddc2b7f0eb8d4ac14756d403d29d089" diff --git a/recipes/daw_header_libraries/config.yml b/recipes/daw_header_libraries/config.yml index f94348de2d647..64c10e5dcf7f6 100644 --- a/recipes/daw_header_libraries/config.yml +++ b/recipes/daw_header_libraries/config.yml @@ -1,4 +1,6 @@ versions: + "2.107.0": + folder: all "2.106.2": folder: all "2.106.1": From 04033e781bdf811306b22d332ecded5cbc2937c4 Mon Sep 17 00:00:00 2001 From: Carlos Zoido Date: Tue, 13 Aug 2024 11:05:08 +0200 Subject: [PATCH 314/641] (#24694) Add new versions for llama-cpp and also adding a couple of options * new version * wip * wip * add patch for 3040 * some fixes * minor changes * remove pkgconfig --- recipes/llama-cpp/all/conandata.yml | 11 +++-- recipes/llama-cpp/all/conanfile.py | 41 +++++++++++++------ .../b3040-001-curl-patch-targets.patch | 15 +++++++ .../b3542-001-curl-patch-targets.patch | 26 ++++++++++++ .../llama-cpp/all/test_package/CMakeLists.txt | 5 --- recipes/llama-cpp/config.yml | 4 +- 6 files changed, 80 insertions(+), 22 deletions(-) mode change 100644 => 100755 recipes/llama-cpp/all/conandata.yml mode change 100644 => 100755 recipes/llama-cpp/all/conanfile.py create mode 100755 recipes/llama-cpp/all/patches/b3040-001-curl-patch-targets.patch create mode 100755 recipes/llama-cpp/all/patches/b3542-001-curl-patch-targets.patch mode change 100644 => 100755 recipes/llama-cpp/all/test_package/CMakeLists.txt diff --git a/recipes/llama-cpp/all/conandata.yml b/recipes/llama-cpp/all/conandata.yml old mode 100644 new mode 100755 index 83cccb6e8a1a6..f31f9bb9e4c75 --- a/recipes/llama-cpp/all/conandata.yml +++ b/recipes/llama-cpp/all/conandata.yml @@ -1,7 +1,12 @@ sources: + "b3542": + url: "https://github.com/ggerganov/llama.cpp/archive/refs/tags/b3542.tar.gz" + sha256: "6f8b23d930400fce5708d2c85022ef33f1083af8f6ac395abefadacee0942e78" "b3040": url: "https://github.com/ggerganov/llama.cpp/archive/refs/tags/b3040.tar.gz" sha256: "020e040139660eb40113503bb1057d5387677d249b990e008e04821532f7cd62" - "b2038": - url: "https://github.com/ggerganov/llama.cpp/archive/refs/tags/b2038.tar.gz" - sha256: "a55bc75f5c76624cabfd9ea5e045f76597411231cb6fc231f2a0bff6287ab13b" +patches: + "b3542": + - patch_file: "patches/b3542-001-curl-patch-targets.patch" + "b3040": + - patch_file: "patches/b3040-001-curl-patch-targets.patch" diff --git a/recipes/llama-cpp/all/conanfile.py b/recipes/llama-cpp/all/conanfile.py old mode 100644 new mode 100755 index b39564c4e0974..360a4fcfd3c83 --- a/recipes/llama-cpp/all/conanfile.py +++ b/recipes/llama-cpp/all/conanfile.py @@ -5,7 +5,7 @@ from conan.tools.apple import is_apple_os from conan.tools.build import check_min_cppstd, cross_building from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout -from conan.tools.files import copy, get, rmdir +from conan.tools.files import copy, get, rmdir, apply_conandata_patches, export_conandata_patches from conan.tools.scm import Version @@ -20,16 +20,22 @@ class LlamaCppConan(ConanFile): homepage = "https://github.com/ggerganov/llama.cpp" license = "MIT" settings = "os", "arch", "compiler", "build_type" + package_type = "library" + options = { "shared": [True, False], "fPIC": [True, False], + "with_examples": [True, False], + "with_cuda": [True, False], + "with_curl": [True, False], } default_options = { "shared": False, "fPIC": True, + "with_examples": False, + "with_cuda": False, + "with_curl": False, } - - package_type = "library" @property def _min_cppstd(self): @@ -41,6 +47,9 @@ def _compilers_minimum_version(self): "gcc": "8" } + def export_sources(self): + export_conandata_patches(self) + def config_options(self): if self.settings.os == "Windows": del self.options.fPIC @@ -61,6 +70,10 @@ def validate(self): def layout(self): cmake_layout(self, src_folder="src") + def requirements(self): + if self.options.with_curl: + self.requires("libcurl/[>=7.78 <9]") + def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) @@ -71,13 +84,16 @@ def generate(self): tc = CMakeToolchain(self) tc.variables["LLAMA_STANDALONE"] = False tc.variables["LLAMA_BUILD_TESTS"] = False - tc.variables["LLAMA_BUILD_EXAMPLES"] = False + tc.variables["LLAMA_BUILD_EXAMPLES"] = self.options.get_safe("with_examples") + tc.variables["LLAMA_CURL"] = self.options.get_safe("with_curl") tc.variables["BUILD_SHARED_LIBS"] = bool(self.options.shared) + tc.variables["GGML_CUDA"] = self.options.get_safe("with_cuda") if hasattr(self, "settings_build") and cross_building(self): tc.variables["LLAMA_NATIVE"] = False tc.generate() def build(self): + apply_conandata_patches(self) cmake = CMake(self) cmake.configure() cmake.build() @@ -87,6 +103,7 @@ def package(self): cmake = CMake(self) cmake.install() rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) copy(self, "*", os.path.join(self.source_folder, "models"), os.path.join(self.package_folder, "res", "models")) copy(self, "*.h*", os.path.join(self.source_folder, "common"), os.path.join(self.package_folder, "include", "common")) copy(self, "*common*.lib", src=self.build_folder, dst=os.path.join(self.package_folder, "lib"), keep_path=False) @@ -95,18 +112,18 @@ def package(self): copy(self, "*common*.dylib", src=self.build_folder, dst=os.path.join(self.package_folder, "lib"), keep_path=False) copy(self, "*common*.a", src=self.build_folder, dst=os.path.join(self.package_folder, "lib"), keep_path=False) - def package_info(self): + self.cpp_info.components["common"].includedirs = [os.path.join("include", "common")] + self.cpp_info.components["common"].libs = ["common"] + self.cpp_info.components["common"].libdirs = ["lib"] + if self.version >= Version("b3240"): + self.cpp_info.components["common"].libs.append("ggml") + self.cpp_info.components["llama"].libs = ["llama"] self.cpp_info.components["llama"].resdirs = ["res"] self.cpp_info.components["llama"].libdirs = ["lib"] if is_apple_os(self): - self.cpp_info.components["llama"].frameworks.extend(["Foundation", "Accelerate", "Metal"]) + self.cpp_info.components["common"].frameworks.extend(["Foundation", "Accelerate", "Metal"]) elif self.settings.os in ("Linux", "FreeBSD"): - self.cpp_info.components["llama"].system_libs.extend(["dl", "m", "pthread"]) - - self.cpp_info.components["common"].requires.append("llama") - self.cpp_info.components["common"].includedirs = [os.path.join("include", "common")] - self.cpp_info.components["common"].libs = ["common"] - + self.cpp_info.components["common"].system_libs.extend(["dl", "m", "pthread", "gomp"]) diff --git a/recipes/llama-cpp/all/patches/b3040-001-curl-patch-targets.patch b/recipes/llama-cpp/all/patches/b3040-001-curl-patch-targets.patch new file mode 100755 index 0000000000000..454fe46b32c1f --- /dev/null +++ b/recipes/llama-cpp/all/patches/b3040-001-curl-patch-targets.patch @@ -0,0 +1,15 @@ +diff --git a/common/CMakeLists.txt b/common/CMakeLists.txt +index 0ec8d6d8..647ef30b 100644 +--- a/common/CMakeLists.txt ++++ b/common/CMakeLists.txt +@@ -77,9 +77,7 @@ set(LLAMA_COMMON_EXTRA_LIBS build_info) + if (LLAMA_CURL) + find_package(CURL REQUIRED) + add_definitions(-DLLAMA_USE_CURL) +- include_directories(${CURL_INCLUDE_DIRS}) +- find_library(CURL_LIBRARY curl REQUIRED) +- set(LLAMA_COMMON_EXTRA_LIBS ${LLAMA_COMMON_EXTRA_LIBS} ${CURL_LIBRARY}) ++ list(APPEND LLAMA_COMMON_EXTRA_LIBS CURL::libcurl) + endif () + + target_include_directories(${TARGET} PUBLIC .) diff --git a/recipes/llama-cpp/all/patches/b3542-001-curl-patch-targets.patch b/recipes/llama-cpp/all/patches/b3542-001-curl-patch-targets.patch new file mode 100755 index 0000000000000..dcb0f491566b5 --- /dev/null +++ b/recipes/llama-cpp/all/patches/b3542-001-curl-patch-targets.patch @@ -0,0 +1,26 @@ +diff --git a/common/CMakeLists.txt b/common/CMakeLists.txt +index 761971d6..3afd9759 100644 +--- a/common/CMakeLists.txt ++++ b/common/CMakeLists.txt +@@ -66,7 +66,7 @@ add_library(${TARGET} STATIC + train.cpp + ngram-cache.h + ngram-cache.cpp +- ) ++) + + if (BUILD_SHARED_LIBS) + set_target_properties(${TARGET} PROPERTIES POSITION_INDEPENDENT_CODE ON) +@@ -78,10 +78,8 @@ set(LLAMA_COMMON_EXTRA_LIBS build_info) + if (LLAMA_CURL) + find_package(CURL REQUIRED) + add_definitions(-DLLAMA_USE_CURL) +- include_directories(${CURL_INCLUDE_DIRS}) +- find_library(CURL_LIBRARY curl REQUIRED) +- set(LLAMA_COMMON_EXTRA_LIBS ${LLAMA_COMMON_EXTRA_LIBS} ${CURL_LIBRARY}) +-endif () ++ list(APPEND LLAMA_COMMON_EXTRA_LIBS CURL::libcurl) ++endif() + + target_include_directories(${TARGET} PUBLIC .) + target_compile_features (${TARGET} PUBLIC cxx_std_11) diff --git a/recipes/llama-cpp/all/test_package/CMakeLists.txt b/recipes/llama-cpp/all/test_package/CMakeLists.txt old mode 100644 new mode 100755 index ebff8cc0707b3..fa2157e90aaa3 --- a/recipes/llama-cpp/all/test_package/CMakeLists.txt +++ b/recipes/llama-cpp/all/test_package/CMakeLists.txt @@ -7,8 +7,3 @@ find_package(llama-cpp REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) target_link_libraries(${PROJECT_NAME} PRIVATE llama-cpp::llama llama-cpp::common) set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD 11) - -add_custom_command(TARGET test_package POST_BUILD - COMMAND ${CMAKE_COMMAND} -E copy_directory - ${llama-cpp_INCLUDE_DIR}/../res/models - ${CMAKE_CURRENT_BINARY_DIR}/models) diff --git a/recipes/llama-cpp/config.yml b/recipes/llama-cpp/config.yml index 9893609aaeaea..80c3c72b8c4f3 100644 --- a/recipes/llama-cpp/config.yml +++ b/recipes/llama-cpp/config.yml @@ -1,5 +1,5 @@ versions: - "b3040": + "b3542": folder: "all" - "b2038": + "b3040": folder: "all" From 7b6a1ca41329f8011f5654bc4369780da5a19efe Mon Sep 17 00:00:00 2001 From: Uilian Ries Date: Tue, 13 Aug 2024 10:21:42 +0100 Subject: [PATCH 315/641] (#24900) [docs] Keep only patch version compatible for zstd Signed-off-by: Uilian Ries --- docs/adding_packages/dependencies.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/adding_packages/dependencies.md b/docs/adding_packages/dependencies.md index 4135ca7f24965..3a93fcb8bad12 100644 --- a/docs/adding_packages/dependencies.md +++ b/docs/adding_packages/dependencies.md @@ -196,7 +196,7 @@ 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]` +* 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]` From 7d453390ad2da9f747df7eb0808994b327f35016 Mon Sep 17 00:00:00 2001 From: Daniel Date: Tue, 13 Aug 2024 11:42:16 +0200 Subject: [PATCH 316/641] (#24918) [aws refactor] aws-c-auth: Remove unused versions, add 0.7.16 and simplify requirements --- recipes/aws-c-auth/all/conandata.yml | 30 +--- recipes/aws-c-auth/all/conanfile.py | 26 ++-- .../patches/0.6.17-0001-fix-macro-usage.patch | 132 ------------------ recipes/aws-c-auth/config.yml | 14 +- 4 files changed, 14 insertions(+), 188 deletions(-) delete mode 100644 recipes/aws-c-auth/all/patches/0.6.17-0001-fix-macro-usage.patch diff --git a/recipes/aws-c-auth/all/conandata.yml b/recipes/aws-c-auth/all/conandata.yml index ed85abf4d870c..be2876a831b62 100644 --- a/recipes/aws-c-auth/all/conandata.yml +++ b/recipes/aws-c-auth/all/conandata.yml @@ -1,31 +1,7 @@ sources: - "0.7.21": - url: "https://github.com/awslabs/aws-c-auth/archive/v0.7.21.tar.gz" - sha256: "802054ff0a82c9fc977671f7d2be1c55229a97d808e0d53784a749be32ceb5ec" - "0.7.8": - url: "https://github.com/awslabs/aws-c-auth/archive/v0.7.8.tar.gz" - sha256: "5db8ab91262b5c055e3634f2c9dc2bc1a3285c2dd5513fdcafcb3e79468dc7de" - "0.7.7": - url: "https://github.com/awslabs/aws-c-auth/archive/v0.7.7.tar.gz" - sha256: "ea3c9e75b59b36aaf9147deec655d1669f197745bbe914cd3b8e234740be29ba" - "0.6.17": - url: "https://github.com/awslabs/aws-c-auth/archive/v0.6.17.tar.gz" - sha256: "b43678ad3a779c9c7fccf8f931c162eaaf4d5d64d2955ac1fcfd32e538545c0f" - "0.6.11": - url: "https://github.com/awslabs/aws-c-auth/archive/v0.6.11.tar.gz" - sha256: "d8a0d373cf8b0ff148a014ae2ba24c51f2e7a598b5b0cf3a6e64482c1cd37f90" - "0.6.8": - url: "https://github.com/awslabs/aws-c-auth/archive/v0.6.8.tar.gz" - sha256: "48b1c0008265ea8e7d7b653b34640ce8111e00d6e0e3f4855f3fba71e1ac5704" + "0.7.16": + url: "https://github.com/awslabs/aws-c-auth/archive/v0.7.16.tar.gz" + sha256: "7ee5afe05482f750dd0406b8b5b55dafb446fc21288f98c0b4118d62795003ba" "0.6.4": url: "https://github.com/awslabs/aws-c-auth/archive/v0.6.4.tar.gz" sha256: "119cec67e85b01af8c01b11d962c610d8e9b183cde96fee77db669cccaa19ac9" - "0.6.0": - url: "https://github.com/awslabs/aws-c-auth/archive/v0.6.0.tar.gz" - sha256: "5f5fff63110c3e8f619385ca563f77886bc101d3e054987eecbb87586e27b651" -patches: - "0.6.17": - - patch_file: "patches/0.6.17-0001-fix-macro-usage.patch" - patch_description: "Fix inconsistent usage of macros" - patch_type: "backport" - patch_source: "https://github.com/awslabs/aws-c-auth/pull/181" diff --git a/recipes/aws-c-auth/all/conanfile.py b/recipes/aws-c-auth/all/conanfile.py index 23636f36d1ad3..924a52fe64d4d 100644 --- a/recipes/aws-c-auth/all/conanfile.py +++ b/recipes/aws-c-auth/all/conanfile.py @@ -47,23 +47,17 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - if Version(self.version) <= "0.6.17": - self.requires("aws-c-common/0.8.2", transitive_headers=True, transitive_libs=True) - self.requires("aws-c-cal/0.5.13") - if Version(self.version) < "0.6.17": - self.requires("aws-c-io/0.10.20", transitive_headers=True, transitive_libs=True) - self.requires("aws-c-http/0.6.13", transitive_headers=True) - else: - self.requires("aws-c-io/0.13.4", transitive_headers=True, transitive_libs=True) - self.requires("aws-c-http/0.6.22", transitive_headers=True) - if Version(self.version) >= "0.6.5": - self.requires("aws-c-sdkutils/0.1.3", transitive_headers=True) - else: - self.requires("aws-c-common/0.9.6", transitive_headers=True, transitive_libs=True) - self.requires("aws-c-cal/0.6.9") - self.requires("aws-c-io/0.13.35", transitive_headers=True, transitive_libs=True) + if self.version == "0.7.16": + self.requires("aws-c-common/0.9.15", transitive_headers=True, transitive_libs=True) + self.requires("aws-c-cal/0.6.14") + self.requires("aws-c-io/0.14.7", transitive_headers=True, transitive_libs=True) self.requires("aws-c-http/0.8.1", transitive_headers=True) - self.requires("aws-c-sdkutils/0.1.12", transitive_headers=True) + self.requires("aws-c-sdkutils/0.1.15", transitive_headers=True) + if self.version == "0.6.4": + self.requires("aws-c-common/0.6.11", transitive_headers=True, transitive_libs=True) + self.requires("aws-c-cal/0.5.12") + self.requires("aws-c-io/0.10.9", transitive_headers=True, transitive_libs=True) + self.requires("aws-c-http/0.6.7", transitive_headers=True) def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) diff --git a/recipes/aws-c-auth/all/patches/0.6.17-0001-fix-macro-usage.patch b/recipes/aws-c-auth/all/patches/0.6.17-0001-fix-macro-usage.patch deleted file mode 100644 index bed12b1bd563b..0000000000000 --- a/recipes/aws-c-auth/all/patches/0.6.17-0001-fix-macro-usage.patch +++ /dev/null @@ -1,132 +0,0 @@ -diff --git a/source/aws_signing.c b/source/aws_signing.c -index 940d7be..ecc1144 100644 ---- a/source/aws_signing.c -+++ b/source/aws_signing.c -@@ -2500,7 +2500,7 @@ int aws_verify_sigv4a_signing( - aws_credentials_release(signing_state->config.credentials); - signing_state->config.credentials = ecc_credentials; - if (signing_state->config.credentials == NULL) { -- AWS_LOGF_ERROR(AWS_LS_AUTH_SIGNING, "Unable to create ECC from provided credentials") -+ AWS_LOGF_ERROR(AWS_LS_AUTH_SIGNING, "Unable to create ECC from provided credentials"); - goto done; - } - } -diff --git a/source/credentials_provider_process.c b/source/credentials_provider_process.c -index 655df86..29f99d0 100644 ---- a/source/credentials_provider_process.c -+++ b/source/credentials_provider_process.c -@@ -187,7 +187,7 @@ static struct aws_string *s_get_command(struct aws_allocator *allocator, struct - if (!command_buf.len) { - AWS_LOGF_ERROR( - AWS_LS_AUTH_CREDENTIALS_PROVIDER, -- "Failed to resolve credentials_process command during process credentials provider initialization.") -+ "Failed to resolve credentials_process command during process credentials provider initialization."); - goto on_finish; - } - -@@ -202,7 +202,7 @@ static struct aws_string *s_get_command(struct aws_allocator *allocator, struct - - AWS_LOGF_DEBUG( - AWS_LS_AUTH_CREDENTIALS_PROVIDER, -- "Successfully loaded credentials_process command for process credentials provider.") -+ "Successfully loaded credentials_process command for process credentials provider."); - - on_finish: - aws_string_destroy(profile_name); -diff --git a/source/credentials_provider_sts_web_identity.c b/source/credentials_provider_sts_web_identity.c -index cb03cb5..c3e4697 100644 ---- a/source/credentials_provider_sts_web_identity.c -+++ b/source/credentials_provider_sts_web_identity.c -@@ -231,7 +231,7 @@ static bool s_parse_retryable_error_from_response(struct aws_allocator *allocato - if (xml_parser == NULL) { - AWS_LOGF_ERROR( - AWS_LS_AUTH_CREDENTIALS_PROVIDER, -- "Failed to init xml parser for sts web identity credentials provider to parse error information.") -+ "Failed to init xml parser for sts web identity credentials provider to parse error information."); - return false; - } - bool get_retryable_error = false; -@@ -330,14 +330,14 @@ static struct aws_credentials *s_parse_credentials_from_response( - if (xml_parser == NULL) { - AWS_LOGF_ERROR( - AWS_LS_AUTH_CREDENTIALS_PROVIDER, -- "Failed to init xml parser for sts web identity credentials provider to parse error information.") -+ "Failed to init xml parser for sts web identity credentials provider to parse error information."); - return NULL; - } - uint64_t now = UINT64_MAX; - if (aws_sys_clock_get_ticks(&now) != AWS_OP_SUCCESS) { - AWS_LOGF_ERROR( - AWS_LS_AUTH_CREDENTIALS_PROVIDER, -- "Failed to get sys clock for sts web identity credentials provider to parse error information.") -+ "Failed to get sys clock for sts web identity credentials provider to parse error information."); - goto on_finish; - } - uint64_t now_seconds = aws_timestamp_convert(now, AWS_TIMESTAMP_NANOS, AWS_TIMESTAMP_SECS, NULL); -@@ -998,7 +998,7 @@ static struct sts_web_identity_parameters *s_parameters_new(struct aws_allocator - AWS_LOGF_ERROR( - AWS_LS_AUTH_CREDENTIALS_PROVIDER, - "Failed to resolve either region, role arn or token file path during sts web identity provider " -- "initialization.") -+ "initialization."); - goto on_finish; - - } else { -@@ -1021,7 +1021,7 @@ static struct sts_web_identity_parameters *s_parameters_new(struct aws_allocator - aws_byte_buf_init_copy_from_cursor(¶meters->role_arn, allocator, aws_byte_cursor_from_string(role_arn))) { - AWS_LOGF_ERROR( - AWS_LS_AUTH_CREDENTIALS_PROVIDER, -- "Failed to resolve role arn during sts web identity provider initialization.") -+ "Failed to resolve role arn during sts web identity provider initialization."); - goto on_finish; - } - -@@ -1031,7 +1031,7 @@ static struct sts_web_identity_parameters *s_parameters_new(struct aws_allocator - ¶meters->token_file_path, allocator, aws_byte_cursor_from_string(token_file_path))) { - AWS_LOGF_ERROR( - AWS_LS_AUTH_CREDENTIALS_PROVIDER, -- "Failed to resolve token file path during sts web identity provider initialization.") -+ "Failed to resolve token file path during sts web identity provider initialization."); - goto on_finish; - } - -@@ -1047,7 +1047,7 @@ static struct sts_web_identity_parameters *s_parameters_new(struct aws_allocator - - AWS_LOGF_DEBUG( - AWS_LS_AUTH_CREDENTIALS_PROVIDER, -- "Successfully loaded all required parameters for sts web identity credentials provider.") -+ "Successfully loaded all required parameters for sts web identity credentials provider."); - success = true; - - on_finish: -diff --git a/source/credentials_utils.c b/source/credentials_utils.c -index 061e26b..2cb61d6 100644 ---- a/source/credentials_utils.c -+++ b/source/credentials_utils.c -@@ -98,7 +98,7 @@ static bool s_parse_expiration_value_from_json_object( - - if (expiration_cursor.len == 0) { - AWS_LOGF_INFO( -- AWS_LS_AUTH_CREDENTIALS_PROVIDER, "Parsed a credentials json document with empty expiration.") -+ AWS_LS_AUTH_CREDENTIALS_PROVIDER, "Parsed a credentials json document with empty expiration."); - return false; - } - -@@ -211,7 +211,7 @@ struct aws_credentials *aws_parse_credentials_from_aws_json_object( - if (access_key_id_cursor.len == 0 || secrete_access_key_cursor.len == 0) { - AWS_LOGF_ERROR( - AWS_LS_AUTH_CREDENTIALS_PROVIDER, -- "Parsed an unexpected credentials json document, either access key, secret key is empty.") -+ "Parsed an unexpected credentials json document, either access key, secret key is empty."); - goto done; - } - -@@ -222,7 +222,7 @@ struct aws_credentials *aws_parse_credentials_from_aws_json_object( - aws_json_value_get_string(token, &session_token_cursor); - if (options->token_required && session_token_cursor.len == 0) { - AWS_LOGF_ERROR( -- AWS_LS_AUTH_CREDENTIALS_PROVIDER, "Parsed an unexpected credentials json document with empty token.") -+ AWS_LS_AUTH_CREDENTIALS_PROVIDER, "Parsed an unexpected credentials json document with empty token."); - goto done; - } - } diff --git a/recipes/aws-c-auth/config.yml b/recipes/aws-c-auth/config.yml index dfdab8e268054..485e385b44014 100644 --- a/recipes/aws-c-auth/config.yml +++ b/recipes/aws-c-auth/config.yml @@ -1,17 +1,5 @@ versions: - "0.7.21": - folder: all - "0.7.8": - folder: all - "0.7.7": - folder: all - "0.6.17": - folder: all - "0.6.11": - folder: all - "0.6.8": + "0.7.16": folder: all "0.6.4": folder: all - "0.6.0": - folder: all From c242e8d0d741ee4b8c2a59137d333c0d5ab1ad6d Mon Sep 17 00:00:00 2001 From: Daniel Date: Tue, 13 Aug 2024 12:03:35 +0200 Subject: [PATCH 317/641] (#24919) [aws refactor] aws-c-mqtt: Add only needed versions (0.10.3 and 0.7.8) --- recipes/aws-c-mqtt/all/conandata.yml | 24 ++++++------------------ recipes/aws-c-mqtt/all/conanfile.py | 20 ++++++++++---------- recipes/aws-c-mqtt/config.yml | 12 ++---------- 3 files changed, 18 insertions(+), 38 deletions(-) diff --git a/recipes/aws-c-mqtt/all/conandata.yml b/recipes/aws-c-mqtt/all/conandata.yml index 275052c56df7c..d212e8cf3426a 100644 --- a/recipes/aws-c-mqtt/all/conandata.yml +++ b/recipes/aws-c-mqtt/all/conandata.yml @@ -1,19 +1,7 @@ sources: - "0.9.10": - url: "https://github.com/awslabs/aws-c-mqtt/archive/v0.9.10.tar.gz" - sha256: "a8f92cb045e2c1e0b7e87e5c43ca373eb020014b5d3ebd75ed67ffff430d9ab6" - "0.8.12": - url: "https://github.com/awslabs/aws-c-mqtt/archive/v0.8.12.tar.gz" - sha256: "df02de478ab1806bb57bcb78e5faa21b567716dcb64f8a52ae90a2b84f43cba1" - "0.7.12": - url: "https://github.com/awslabs/aws-c-mqtt/archive/v0.7.12.tar.gz" - sha256: "cf80f1b4f37aa8a6b8698315fae32cbf2bd944b67784f07b5762f392f18e64df" - "0.7.10": - url: "https://github.com/awslabs/aws-c-mqtt/archive/v0.7.10.tar.gz" - sha256: "95667477e17bc99d49a1d6674d7fb98f9a0379b6966cb2ed4863152e959d9e8f" - "0.7.9": - url: "https://github.com/awslabs/aws-c-mqtt/archive/v0.7.9.tar.gz" - sha256: "8556ae7c2b30ebb4ccb61becb120a848ea33315f7cf85436ebe5f21b75ab09c4" - "0.7.6": - url: "https://github.com/awslabs/aws-c-mqtt/archive/v0.7.6.tar.gz" - sha256: "a02c0525f7ddcdc058cd9f507b2f3a8be0383fc946920ed32c9d780cc29703ac" + "0.10.3": + url: "https://github.com/awslabs/aws-c-mqtt/archive/v0.10.3.tar.gz" + sha256: "bb938d794b0757d669b5877526363dc6f6f0e43869ca19fc196ffd0f7a35f5b9" + "0.7.8": + url: "https://github.com/awslabs/aws-c-mqtt/archive/v0.7.8.tar.gz" + sha256: "bf5ed63706f3f1aed86a878462fac78e5f045dfc34567bfb86c38f8b9d9d51ef" diff --git a/recipes/aws-c-mqtt/all/conanfile.py b/recipes/aws-c-mqtt/all/conanfile.py index 4740c4414b3ba..1405aeca68d5a 100644 --- a/recipes/aws-c-mqtt/all/conanfile.py +++ b/recipes/aws-c-mqtt/all/conanfile.py @@ -41,16 +41,16 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - if Version(self.version) <= "0.7.12": - self.requires("aws-c-common/0.8.2", transitive_headers=True, transitive_libs=True) - self.requires("aws-c-cal/0.5.13") - self.requires("aws-c-io/0.10.20", transitive_headers=True) - self.requires("aws-c-http/0.6.13") - else: - self.requires("aws-c-common/0.9.6", transitive_headers=True, transitive_libs=True) - self.requires("aws-c-cal/0.6.9") - self.requires("aws-c-io/0.13.35", transitive_headers=True) - self.requires("aws-c-http/0.7.14") + if self.version == "0.10.3": + self.requires("aws-c-common/0.9.15", transitive_headers=True, transitive_libs=True) + self.requires("aws-c-cal/0.6.14") + self.requires("aws-c-io/0.14.7", transitive_headers=True) + self.requires("aws-c-http/0.8.1") + if self.version == "0.7.8": + self.requires("aws-c-common/0.6.11", transitive_headers=True, transitive_libs=True) + self.requires("aws-c-cal/0.5.12") + self.requires("aws-c-io/0.10.9", transitive_headers=True) + self.requires("aws-c-http/0.6.7") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) diff --git a/recipes/aws-c-mqtt/config.yml b/recipes/aws-c-mqtt/config.yml index 788eeccfb0963..a54bded63fa25 100644 --- a/recipes/aws-c-mqtt/config.yml +++ b/recipes/aws-c-mqtt/config.yml @@ -1,13 +1,5 @@ versions: - "0.9.10": + "0.10.3": folder: all - "0.8.12": - folder: all - "0.7.12": - folder: all - "0.7.10": - folder: all - "0.7.9": - folder: all - "0.7.6": + "0.7.8": folder: all From a0cf0fb85fd652f65df8588c1a5e211cb636cd16 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 13 Aug 2024 19:31:27 +0900 Subject: [PATCH 318/641] (#24892) cpp-channel: add version 0.8.3 --- recipes/cpp-channel/all/conandata.yml | 3 +++ recipes/cpp-channel/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/cpp-channel/all/conandata.yml b/recipes/cpp-channel/all/conandata.yml index 8e45b89578701..ed231f8fb8014 100644 --- a/recipes/cpp-channel/all/conandata.yml +++ b/recipes/cpp-channel/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.8.3": + url: "https://github.com/andreiavrammsd/cpp-channel/archive/refs/tags/v0.8.3.tar.gz" + sha256: "49539a9e387797bd91d1713588f7c88beef98d69919bfb7b0712ed060527567a" "0.8.2": url: "https://github.com/andreiavrammsd/cpp-channel/archive/refs/tags/v0.8.2.tar.gz" sha256: "7666ec6ef275029593dc97bf35057761bc049298d71597a640da1e659c39a667" diff --git a/recipes/cpp-channel/config.yml b/recipes/cpp-channel/config.yml index bed1cdd9bb5b1..eda9ea75e51a5 100644 --- a/recipes/cpp-channel/config.yml +++ b/recipes/cpp-channel/config.yml @@ -1,3 +1,5 @@ versions: + "0.8.3": + folder: all "0.8.2": folder: all From bbb4af7841ae518cf5ad04369bb19347bea99455 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 13 Aug 2024 19:53:01 +0900 Subject: [PATCH 319/641] (#24896) simdutf: add version 5.3.5 * simdutf: add version 5.3.4 * update 5.3.5 --- recipes/simdutf/all/conandata.yml | 3 +++ recipes/simdutf/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/simdutf/all/conandata.yml b/recipes/simdutf/all/conandata.yml index 6339a9b94b626..084113d98a59d 100644 --- a/recipes/simdutf/all/conandata.yml +++ b/recipes/simdutf/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "5.3.5": + url: "https://github.com/simdutf/simdutf/archive/v5.3.5.tar.gz" + sha256: "e6706d7fc68f6e1541414dcf45abe6190d591505d08bff3cc53f55642568f28d" "5.3.2": url: "https://github.com/simdutf/simdutf/archive/v5.3.2.tar.gz" sha256: "3c146fb80d775b869ae9b132f41981dc3266f616f589b5f45045d6a22fdabdca" diff --git a/recipes/simdutf/config.yml b/recipes/simdutf/config.yml index 186ca2905be54..4c0c528fd3c5b 100644 --- a/recipes/simdutf/config.yml +++ b/recipes/simdutf/config.yml @@ -1,4 +1,6 @@ versions: + "5.3.5": + folder: all "5.3.2": folder: all "5.3.1": From b7d9b622956b2d9e496106ea24c3fd62a6153b69 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 13 Aug 2024 20:11:22 +0900 Subject: [PATCH 320/641] (#24904) functionplus: add version 0.2.25 --- recipes/functionalplus/all/conandata.yml | 3 +++ recipes/functionalplus/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/functionalplus/all/conandata.yml b/recipes/functionalplus/all/conandata.yml index 995124a2aca90..ce67a8c16c149 100644 --- a/recipes/functionalplus/all/conandata.yml +++ b/recipes/functionalplus/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.2.25": + url: "https://github.com/Dobiasd/FunctionalPlus/archive/v0.2.25.tar.gz" + sha256: "9b5e24bbc92f43b977dc83efbc173bcf07dbe07f8718fc2670093655b56fcee3" "0.2.24": url: "https://github.com/Dobiasd/FunctionalPlus/archive/v0.2.24.tar.gz" sha256: "446c63ac3f2045e7587f694501882a3d7c7b962b70bcc08deacf5777bdaaff8c" diff --git a/recipes/functionalplus/config.yml b/recipes/functionalplus/config.yml index 13685d2ebceaf..1aa00fc767fdd 100644 --- a/recipes/functionalplus/config.yml +++ b/recipes/functionalplus/config.yml @@ -1,4 +1,6 @@ versions: + "0.2.25": + folder: all "0.2.24": folder: all "0.2.23": From 4a9f60ad2b3ec18c5b0d3312df9b518b9ca1590e Mon Sep 17 00:00:00 2001 From: Daniel Date: Tue, 13 Aug 2024 13:22:12 +0200 Subject: [PATCH 321/641] (#24921) [aws refactor] aws-c-s3: Add versions 0.1.26 and 0.5.5 only --- recipes/aws-c-s3/all/conandata.yml | 24 +++++--------------- recipes/aws-c-s3/all/conanfile.py | 35 +++++++++++------------------- recipes/aws-c-s3/config.yml | 12 ++-------- 3 files changed, 21 insertions(+), 50 deletions(-) diff --git a/recipes/aws-c-s3/all/conandata.yml b/recipes/aws-c-s3/all/conandata.yml index 2433ee657645c..bacf4d1932974 100644 --- a/recipes/aws-c-s3/all/conandata.yml +++ b/recipes/aws-c-s3/all/conandata.yml @@ -1,19 +1,7 @@ sources: - "0.4.5": - url: "https://github.com/awslabs/aws-c-s3/archive/v0.4.5.tar.gz" - sha256: "c9b588f5761ae6754dab2b51124784be78887f054856f02e44b6e51c25873055" - "0.3.24": - url: "https://github.com/awslabs/aws-c-s3/archive/v0.3.24.tar.gz" - sha256: "09803db4af98bba0af263434e2de432cdccdb3ab709411abba8e05d34840f815" - "0.1.49": - url: "https://github.com/awslabs/aws-c-s3/archive/v0.1.49.tar.gz" - sha256: "71acbba41a02477a6c352172da561bc2138bf239b936490c773d7aaa83afc9ab" - "0.1.37": - url: "https://github.com/awslabs/aws-c-s3/archive/v0.1.37.tar.gz" - sha256: "2c35100c1739300e438d47f49aaa2c374001416a79fe3c6f27d79371fb2ac90b" - "0.1.29": - url: "https://github.com/awslabs/aws-c-s3/archive/v0.1.29.tar.gz" - sha256: "bcbc38d091ad994fec2789bffd1d99e157c5e29a60685e836f028006e531bc60" - "0.1.27": - url: "https://github.com/awslabs/aws-c-s3/archive/v0.1.27.tar.gz" - sha256: "8fccbf967c3b29f0feaa1ba3de158b7ead805c3b4302c45b7cad3429f045920c" + "0.5.5": + url: "https://github.com/awslabs/aws-c-s3/archive/v0.5.5.tar.gz" + sha256: "81d3913826953cb634ef1183a0c241d5e117419a877b625d69d7e1e54bbe5219" + "0.1.26": + url: "https://github.com/awslabs/aws-c-s3/archive/v0.1.26.tar.gz" + sha256: "68467095ce2c523caa9ecac27453cd83f4c195c33c6ab8c8b0fa6534565d19bf" diff --git a/recipes/aws-c-s3/all/conanfile.py b/recipes/aws-c-s3/all/conanfile.py index 1813ec30adc8a..957de6e997292 100644 --- a/recipes/aws-c-s3/all/conanfile.py +++ b/recipes/aws-c-s3/all/conanfile.py @@ -40,28 +40,19 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - if Version(self.version) < "0.3.24": - self.requires("aws-c-common/0.8.2", transitive_headers=True, transitive_libs=True) - self.requires("aws-c-cal/0.5.13") - else: - self.requires("aws-c-common/0.9.6", transitive_headers=True, transitive_libs=True) - self.requires("aws-c-cal/0.6.9") - if Version(self.version) < "0.1.49": - self.requires("aws-c-auth/0.6.11", transitive_headers=True) - self.requires("aws-c-http/0.6.13") - self.requires("aws-c-io/0.10.20", transitive_headers=True) - elif Version(self.version) < "0.3.24": - self.requires("aws-c-auth/0.6.17", transitive_headers=True) - self.requires("aws-c-http/0.6.22") - self.requires("aws-c-io/0.13.4", transitive_headers=True) - else: - self.requires("aws-c-auth/0.7.8", transitive_headers=True) - self.requires("aws-c-http/0.7.14") - self.requires("aws-c-io/0.13.35", transitive_headers=True) - if Version(self.version) >= "0.3.24": - self.requires("aws-checksums/0.1.17") - elif Version(self.version) >= "0.1.36": - self.requires("aws-checksums/0.1.13") + if self.version == "0.5.5": + self.requires("aws-c-common/0.9.15", transitive_headers=True, transitive_libs=True) + self.requires("aws-c-cal/0.6.14") + self.requires("aws-c-auth/0.7.16", transitive_headers=True) + self.requires("aws-c-http/0.8.1") + self.requires("aws-c-io/0.14.7", transitive_headers=True) + self.requires("aws-checksums/0.1.18") + if self.version == "0.1.26": + self.requires("aws-c-common/0.6.11", transitive_headers=True, transitive_libs=True) + self.requires("aws-c-cal/0.5.12") + self.requires("aws-c-auth/0.6.4", transitive_headers=True) + self.requires("aws-c-http/0.6.7") + self.requires("aws-c-io/0.10.9", transitive_headers=True) def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) diff --git a/recipes/aws-c-s3/config.yml b/recipes/aws-c-s3/config.yml index 9dc59a14978b9..31b0a063a88bd 100644 --- a/recipes/aws-c-s3/config.yml +++ b/recipes/aws-c-s3/config.yml @@ -1,13 +1,5 @@ versions: - "0.4.5": + "0.5.5": folder: all - "0.3.24": - folder: all - "0.1.49": - folder: all - "0.1.37": - folder: all - "0.1.29": - folder: all - "0.1.27": + "0.1.26": folder: all From ed3325ff2050cbf3714e9e194fd1c074d0a3e79c Mon Sep 17 00:00:00 2001 From: PerseoGI Date: Tue, 13 Aug 2024 13:42:05 +0200 Subject: [PATCH 322/641] (#24877) keychain: Fixed dependency conflict between libsecret and glib * keychain: Fixed dependency conflict between libsecret and glib Linted and little refactor of recipe * Added math library on linux/freeBSD --- recipes/keychain/all/conandata.yml | 12 +++---- recipes/keychain/all/conanfile.py | 53 +++++++++++++++++++----------- recipes/keychain/config.yml | 4 +-- 3 files changed, 41 insertions(+), 28 deletions(-) diff --git a/recipes/keychain/all/conandata.yml b/recipes/keychain/all/conandata.yml index 1c93eb4e4837d..f10687c09e1bc 100644 --- a/recipes/keychain/all/conandata.yml +++ b/recipes/keychain/all/conandata.yml @@ -1,10 +1,10 @@ sources: - "1.2.0": - url: "https://github.com/hrantzsch/keychain/archive/v1.2.0.tar.gz" - sha256: "82cc66a7fa12af43f3e2efeb378bacb0a514056617e369430f252da2392acaae" - "1.2.1": - url: "https://github.com/hrantzsch/keychain/archive/v1.2.1.tar.gz" - sha256: "725cc30da0451403713dee648edd06686fdc31b5041e75e3350e6056c78de076" "1.3.0": url: "https://github.com/hrantzsch/keychain/archive/refs/tags/v1.3.0.tar.gz" sha256: "0e2eb3c6ca2c62253f7d28a478d0cb3eeb4b9656b33d2946e1a294361f72809c" + "1.2.1": + url: "https://github.com/hrantzsch/keychain/archive/v1.2.1.tar.gz" + sha256: "725cc30da0451403713dee648edd06686fdc31b5041e75e3350e6056c78de076" + "1.2.0": + url: "https://github.com/hrantzsch/keychain/archive/v1.2.0.tar.gz" + sha256: "82cc66a7fa12af43f3e2efeb378bacb0a514056617e369430f252da2392acaae" diff --git a/recipes/keychain/all/conanfile.py b/recipes/keychain/all/conanfile.py index 64b3ee8743d71..5a1130d8d16d6 100644 --- a/recipes/keychain/all/conanfile.py +++ b/recipes/keychain/all/conanfile.py @@ -1,53 +1,59 @@ +import os + from conan import ConanFile from conan.tools.build import check_min_cppstd from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout from conan.tools.files import collect_libs, copy, get, replace_in_file from conan.tools.gnu import PkgConfigDeps -import os - class KeychainConan(ConanFile): name = "keychain" + description = ( + "A cross-platform wrapper for the operating system's credential storage" + ) + license = "MIT" + url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/hrantzsch/keychain" - description = "A cross-platform wrapper for the operating system's credential storage" topics = ("keychain", "security", "credentials", "password", "cpp11") - url = "https://github.com/conan-io/conan-center-index" - license = "MIT" package_type = "library" settings = "os", "arch", "compiler", "build_type" - options = {'shared': [False, True], 'fPIC': [False, True]} + options = {"shared": [False, True], "fPIC": [False, True]} default_options = {"shared": False, "fPIC": True} def config_options(self): - if self.settings.os == 'Windows': + if self.settings.os == "Windows": del self.options.fPIC def configure(self): if self.options.shared: self.options.rm_safe("fPIC") - def validate(self): - if self.settings.get_safe("compiler.cppstd"): - check_min_cppstd(self, 11) + def layout(self): + cmake_layout(self, src_folder="src") def requirements(self): if self.settings.os == "Linux": self.requires("libsecret/0.20.5") - self.requires("glib/2.78.1") + self.requires("glib/2.78.3") + + def validate(self): + if self.settings.compiler.get_safe("cppstd"): + check_min_cppstd(self, 11) def build_requirements(self): if self.settings.os == "Linux": self.tool_requires("pkgconf/2.0.3") - def layout(self): - cmake_layout(self, src_folder="src") - def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) # Ensure .dll is installed on Windows - replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), - "TARGETS ${PROJECT_NAME}", "TARGETS ${PROJECT_NAME} RUNTIME DESTINATION bin") + replace_in_file( + self, + os.path.join(self.source_folder, "CMakeLists.txt"), + "TARGETS ${PROJECT_NAME}", + "TARGETS ${PROJECT_NAME} RUNTIME DESTINATION bin", + ) def generate(self): tc = CMakeToolchain(self) @@ -64,14 +70,21 @@ def build(self): cmake.build() def package(self): - copy(self, pattern="LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + copy( + self, + pattern="LICENSE", + dst=os.path.join(self.package_folder, "licenses"), + src=self.source_folder, + ) cmake = CMake(self) cmake.install() def package_info(self): self.cpp_info.libs = collect_libs(self) - if self.settings.os == 'Macos': - self.cpp_info.frameworks = ['Security', 'CoreFoundation'] + if self.settings.os == "Macos": + self.cpp_info.frameworks = ["Security", "CoreFoundation"] if self.settings.os == "Windows": - self.cpp_info.system_libs = ['crypt32'] + self.cpp_info.system_libs = ["crypt32"] + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.system_libs = ["m"] diff --git a/recipes/keychain/config.yml b/recipes/keychain/config.yml index fd230ff5e48d0..21c776e737e77 100644 --- a/recipes/keychain/config.yml +++ b/recipes/keychain/config.yml @@ -1,7 +1,7 @@ versions: - "1.2.0": + "1.3.0": folder: all "1.2.1": folder: all - "1.3.0": + "1.2.0": folder: all From 22164b920d2972af7e38fc1a9dde24a2ee53f3a0 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 13 Aug 2024 21:11:45 +0900 Subject: [PATCH 323/641] (#24863) asio: add version 1.31.0 --- recipes/asio/all/conandata.yml | 3 +++ recipes/asio/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/asio/all/conandata.yml b/recipes/asio/all/conandata.yml index 2701f5013ce40..bf7c7ab528f44 100644 --- a/recipes/asio/all/conandata.yml +++ b/recipes/asio/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.31.0": + url: "https://github.com/chriskohlhoff/asio/archive/asio-1-31-0.tar.gz" + sha256: "530540f973498c2d297771af1bc852f69b27509bbb56bc7ac3309c928373286f" "1.30.2": url: "https://github.com/chriskohlhoff/asio/archive/asio-1-30-2.tar.gz" sha256: "755bd7f85a4b269c67ae0ea254907c078d408cce8e1a352ad2ed664d233780e8" diff --git a/recipes/asio/config.yml b/recipes/asio/config.yml index 1655f339efad7..0f4a1ba23b387 100644 --- a/recipes/asio/config.yml +++ b/recipes/asio/config.yml @@ -1,4 +1,6 @@ versions: + "1.31.0": + folder: all "1.30.2": folder: all "1.30.1": From 2a036dc9afa3c371200719a29b988ba84834029e Mon Sep 17 00:00:00 2001 From: nine Date: Tue, 13 Aug 2024 14:32:27 +0200 Subject: [PATCH 324/641] (#24894) (#24893) magic_enum/0.9.6: fixes install dir * (#24893) magic_enum/0.9.6: fixes install dir * (#24893) magic_enum/0.9.6: create package using CMake install target * (#24893) magic_enum/0.9.6: set src_dir layout method * (#24893) magic_enum/0.9.6: add legacy include directory --- recipes/magic_enum/all/conanfile.py | 23 +++++++++++++++---- .../all/test_package/CMakeLists.txt | 4 ---- .../all/test_package/test_package.cpp | 6 +---- 3 files changed, 19 insertions(+), 14 deletions(-) diff --git a/recipes/magic_enum/all/conanfile.py b/recipes/magic_enum/all/conanfile.py index 5d4edee82bb6d..9b0f3868a9d81 100644 --- a/recipes/magic_enum/all/conanfile.py +++ b/recipes/magic_enum/all/conanfile.py @@ -1,8 +1,8 @@ from conan import ConanFile from conan.errors import ConanInvalidConfiguration from conan.tools.build import check_min_cppstd -from conan.tools.files import copy, get -from conan.tools.layout import basic_layout +from conan.tools.files import copy, get, mkdir, rmdir +from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout from conan.tools.scm import Version import os @@ -39,7 +39,7 @@ def _compilers_minimum_version(self): } def layout(self): - basic_layout(self, src_folder="src") + cmake_layout(self, src_folder="src") def package_id(self): self.info.clear() @@ -56,12 +56,25 @@ def validate(self): def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) + def generate(self): + tc = CMakeToolchain(self) + tc.generate() + def build(self): - pass + cmake = CMake(self) + cmake.configure() + cmake.build() def package(self): - copy(self, "*", src=os.path.join(self.source_folder, "include"), dst=os.path.join(self.package_folder, "include")) + cmake = CMake(self) + cmake.install() + if Version(self.version) >= "0.9.4" and Version(self.version) <= "0.9.6": + mkdir(self, os.path.join(self.package_folder, "include/magic_enum")) + copy(self, "*", src=os.path.join(self.package_folder, "include"), dst=os.path.join(self.package_folder, "include/magic_enum")) copy(self, "LICENSE", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) + rmdir(self, os.path.join(self.package_folder, "share")) def package_info(self): self.cpp_info.set_property("cmake_file_name", "magic_enum") diff --git a/recipes/magic_enum/all/test_package/CMakeLists.txt b/recipes/magic_enum/all/test_package/CMakeLists.txt index f5917740f5800..c185d76435a4f 100644 --- a/recipes/magic_enum/all/test_package/CMakeLists.txt +++ b/recipes/magic_enum/all/test_package/CMakeLists.txt @@ -6,7 +6,3 @@ find_package(magic_enum REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) target_link_libraries(${PROJECT_NAME} PRIVATE magic_enum::magic_enum) target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) - -if(magic_enum_VERSION VERSION_GREATER_EQUAL "0.9.4") - target_compile_definitions(${PROJECT_NAME} PRIVATE MAGIC_ENUM_INCLUDE_WITH_FOLDER) -endif() diff --git a/recipes/magic_enum/all/test_package/test_package.cpp b/recipes/magic_enum/all/test_package/test_package.cpp index 208a3dd5fc806..fcb911e1f966e 100644 --- a/recipes/magic_enum/all/test_package/test_package.cpp +++ b/recipes/magic_enum/all/test_package/test_package.cpp @@ -1,8 +1,4 @@ -#ifdef MAGIC_ENUM_INCLUDE_WITH_FOLDER -# include -#else -# include -#endif +#include #include #include From 3f7be7e3e158676571299cfe1bb07a4aad43bc02 Mon Sep 17 00:00:00 2001 From: Uilian Ries Date: Tue, 13 Aug 2024 13:42:33 +0100 Subject: [PATCH 325/641] (#24905) [ffmpeg] Add official patch to fix when using binutils >=2.41 * Add patch for binutils >=2.41 Signed-off-by: Uilian Ries * Apply patches only for 4.x and 5.x Signed-off-by: Uilian Ries --------- Signed-off-by: Uilian Ries --- recipes/ffmpeg/all/conandata.yml | 12 +++ .../all/patches/5.1-0004-fix-binutils.patch | 73 +++++++++++++++++++ 2 files changed, 85 insertions(+) create mode 100644 recipes/ffmpeg/all/patches/5.1-0004-fix-binutils.patch diff --git a/recipes/ffmpeg/all/conandata.yml b/recipes/ffmpeg/all/conandata.yml index 9c344456b7886..0c31b9c82f58e 100644 --- a/recipes/ffmpeg/all/conandata.yml +++ b/recipes/ffmpeg/all/conandata.yml @@ -38,13 +38,25 @@ patches: patch_description: "Compatibility with vulkan >= 1.3.239" patch_type: "portability" patch_source: "https://git.ffmpeg.org/gitweb/ffmpeg.git/commit/eb0455d64690eed0068e5cb202f72ecdf899837c" + - patch_file: "patches/5.1-0004-fix-binutils.patch" + patch_description: "Compatibility with binutils >= 2.41" + patch_type: "portability" + patch_source: "https://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff/effadce6c756247ea8bae32dc13bb3e6f464f0eb" "5.0.3": - patch_file: "patches/5.0-0001-fix-hwcontext_vulkan.patch" patch_description: "Compatibility with vulkan >= 1.3.239" patch_type: "portability" patch_source: "https://git.ffmpeg.org/gitweb/ffmpeg.git/commit/eb0455d64690eed0068e5cb202f72ecdf899837c" + - patch_file: "patches/5.1-0004-fix-binutils.patch" + patch_description: "Compatibility with binutils >= 2.41" + patch_type: "portability" + patch_source: "https://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff/effadce6c756247ea8bae32dc13bb3e6f464f0eb" "4.4.4": - patch_file: "patches/4.4-0001-fix-aom_codec_av1_dx_algo.patch" patch_description: "Compatibility with shared libaom" patch_type: "portability" patch_source: "https://git.ffmpeg.org/gitweb/ffmpeg.git/commit/d92fdc714496d43234733c315894abe0beeb3529" + - patch_file: "patches/5.1-0004-fix-binutils.patch" + patch_description: "Compatibility with binutils >= 2.41" + patch_type: "portability" + patch_source: "https://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff/effadce6c756247ea8bae32dc13bb3e6f464f0eb" \ No newline at end of file diff --git a/recipes/ffmpeg/all/patches/5.1-0004-fix-binutils.patch b/recipes/ffmpeg/all/patches/5.1-0004-fix-binutils.patch new file mode 100644 index 0000000000000..53a596d0ee7d4 --- /dev/null +++ b/recipes/ffmpeg/all/patches/5.1-0004-fix-binutils.patch @@ -0,0 +1,73 @@ +From effadce6c756247ea8bae32dc13bb3e6f464f0eb Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?R=C3=A9mi=20Denis-Courmont?= +Date: Sun, 16 Jul 2023 18:18:02 +0300 +Subject: [PATCH] avcodec/x86/mathops: clip constants used with shift + instructions within inline assembly + +Fixes assembling with binutil as >= 2.41 + +Signed-off-by: James Almer +--- + libavcodec/x86/mathops.h | 26 +++++++++++++++++++++++--- + 1 file changed, 23 insertions(+), 3 deletions(-) + +diff --git a/libavcodec/x86/mathops.h b/libavcodec/x86/mathops.h +index 6298f5ed1983b..ca7e2dffc1076 100644 +--- a/libavcodec/x86/mathops.h ++++ b/libavcodec/x86/mathops.h +@@ -35,12 +35,20 @@ + static av_always_inline av_const int MULL(int a, int b, unsigned shift) + { + int rt, dummy; ++ if (__builtin_constant_p(shift)) + __asm__ ( + "imull %3 \n\t" + "shrdl %4, %%edx, %%eax \n\t" + :"=a"(rt), "=d"(dummy) +- :"a"(a), "rm"(b), "ci"((uint8_t)shift) ++ :"a"(a), "rm"(b), "i"(shift & 0x1F) + ); ++ else ++ __asm__ ( ++ "imull %3 \n\t" ++ "shrdl %4, %%edx, %%eax \n\t" ++ :"=a"(rt), "=d"(dummy) ++ :"a"(a), "rm"(b), "c"((uint8_t)shift) ++ ); + return rt; + } + +@@ -113,19 +121,31 @@ __asm__ volatile(\ + // avoid +32 for shift optimization (gcc should do that ...) + #define NEG_SSR32 NEG_SSR32 + static inline int32_t NEG_SSR32( int32_t a, int8_t s){ ++ if (__builtin_constant_p(s)) + __asm__ ("sarl %1, %0\n\t" + : "+r" (a) +- : "ic" ((uint8_t)(-s)) ++ : "i" (-s & 0x1F) + ); ++ else ++ __asm__ ("sarl %1, %0\n\t" ++ : "+r" (a) ++ : "c" ((uint8_t)(-s)) ++ ); + return a; + } + + #define NEG_USR32 NEG_USR32 + static inline uint32_t NEG_USR32(uint32_t a, int8_t s){ ++ if (__builtin_constant_p(s)) + __asm__ ("shrl %1, %0\n\t" + : "+r" (a) +- : "ic" ((uint8_t)(-s)) ++ : "i" (-s & 0x1F) + ); ++ else ++ __asm__ ("shrl %1, %0\n\t" ++ : "+r" (a) ++ : "c" ((uint8_t)(-s)) ++ ); + return a; + } + From 6cf75d31884bf17f66e07bb87d3f957b0b9dfd52 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 13 Aug 2024 22:21:57 +0900 Subject: [PATCH 326/641] (#24906) samurai: add version 0.16.0 --- recipes/samurai/all/conandata.yml | 3 +++ recipes/samurai/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/samurai/all/conandata.yml b/recipes/samurai/all/conandata.yml index a3cf7b7eb4b88..39739edcf25df 100644 --- a/recipes/samurai/all/conandata.yml +++ b/recipes/samurai/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.16.0": + url: "https://github.com/hpc-maths/samurai/archive/v0.16.0.tar.gz" + sha256: "61616de42557e5cd5e9483103fd640f94f3235354e42a22a0ec76520196059a5" "0.13.0": url: "https://github.com/hpc-maths/samurai/archive/v0.13.0.tar.gz" sha256: "f38e379218b1206fc5c5e157ee5e80687721a896f70b892623d9f30280529448" diff --git a/recipes/samurai/config.yml b/recipes/samurai/config.yml index e6692765cde8a..87628f14bd6dd 100644 --- a/recipes/samurai/config.yml +++ b/recipes/samurai/config.yml @@ -1,4 +1,6 @@ versions: + "0.16.0": + folder: all "0.13.0": folder: all "0.9.0": From 2af1b254fe9b88a36bdd0a1e8093a1f21b91e4f5 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 13 Aug 2024 22:51:32 +0900 Subject: [PATCH 327/641] (#24912) hwdata: add version 0.385 --- recipes/hwdata/all/conandata.yml | 3 +++ recipes/hwdata/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/hwdata/all/conandata.yml b/recipes/hwdata/all/conandata.yml index e9aebcb14c2d1..4dd2a08c35c6b 100644 --- a/recipes/hwdata/all/conandata.yml +++ b/recipes/hwdata/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.385": + url: "https://github.com/vcrhonek/hwdata/archive/v0.385.tar.gz" + sha256: "577219d44d9686e8177f6291adbff7bacdd785ad4e8a8d0c4b2a14dbf850d6ac" "0.382": url: "https://github.com/vcrhonek/hwdata/archive/v0.382.tar.gz" sha256: "5e25457b562a5227eb77eac21d5e4344bd1183c7d62b41e7d3e780ae33e053c1" diff --git a/recipes/hwdata/config.yml b/recipes/hwdata/config.yml index f134cf723e787..329f229df7ce9 100644 --- a/recipes/hwdata/config.yml +++ b/recipes/hwdata/config.yml @@ -1,4 +1,6 @@ versions: + "0.385": + folder: all "0.382": folder: all "0.378": From 38187ebf20304a8f828ffa79b1ca24ea7503c5df Mon Sep 17 00:00:00 2001 From: Daniel Date: Tue, 13 Aug 2024 17:42:10 +0200 Subject: [PATCH 328/641] (#24923) [aws refactor] aws-crt-cpp: Add versions 0.26.9 and 0.17.1a only * [aws refactor] aws-crt-cpp: Add versions 0.26.9 and 0.17.1a only * fix * fix dependencies * fix checksums --- recipes/aws-crt-cpp/all/conandata.yml | 34 +++----------- recipes/aws-crt-cpp/all/conanfile.py | 46 ++++++++++--------- .../all/patches/0.17.12-fix-cast-error.patch | 13 ------ .../all/patches/0.17.23-fix-cast-error.patch | 13 ------ .../patches/0.24.1-disable-sanitizers.patch | 11 ----- .../all/patches/0.24.1-fix-cast-error.patch | 13 ------ recipes/aws-crt-cpp/config.yml | 8 +--- 7 files changed, 32 insertions(+), 106 deletions(-) delete mode 100644 recipes/aws-crt-cpp/all/patches/0.17.12-fix-cast-error.patch delete mode 100644 recipes/aws-crt-cpp/all/patches/0.17.23-fix-cast-error.patch delete mode 100644 recipes/aws-crt-cpp/all/patches/0.24.1-disable-sanitizers.patch delete mode 100644 recipes/aws-crt-cpp/all/patches/0.24.1-fix-cast-error.patch diff --git a/recipes/aws-crt-cpp/all/conandata.yml b/recipes/aws-crt-cpp/all/conandata.yml index 9126f56004fa0..bccfcb97b58ea 100644 --- a/recipes/aws-crt-cpp/all/conandata.yml +++ b/recipes/aws-crt-cpp/all/conandata.yml @@ -1,29 +1,7 @@ sources: - "0.24.1": - url: "https://github.com/awslabs/aws-crt-cpp/archive/v0.24.1.tar.gz" - sha256: "c627fbc76fc31332801e29872203a11ce0234b7c17e75811277aa913f1550d6f" - "0.17.23": - url: "https://github.com/awslabs/aws-crt-cpp/archive/v0.17.23.tar.gz" - sha256: "28061c3efa493519cfae46e4ea96389f03a81eeec7613d7da861dd8c5f4f6598" - "0.17.12": - url: "https://github.com/awslabs/aws-crt-cpp/archive/v0.17.12.tar.gz" - sha256: "acdd8b83198c5a471f92702bc4101828fe55361005764143704c39acd6f80ffc" - "0.14.3": - url: "https://github.com/awslabs/aws-crt-cpp/archive/v0.14.3.tar.gz" - sha256: "3ea16c43e691bab0c373ba1ad072f6535390c516ebda658dfaf4d074d920e0fb" -patches: - "0.24.1": - - patch_file: "patches/0.24.1-fix-cast-error.patch" - patch_description: "fix const cast error" - patch_type: "portability" - - patch_file: "patches/0.24.1-disable-sanitizers.patch" - patch_description: "disable sanitizers" - patch_type: "conan" - "0.17.23": - - patch_file: "patches/0.17.23-fix-cast-error.patch" - patch_description: "fix const cast error" - patch_type: "portability" - "0.17.12": - - patch_file: "patches/0.17.12-fix-cast-error.patch" - patch_description: "fix const cast error" - patch_type: "portability" + "0.26.9": + url: "https://github.com/awslabs/aws-crt-cpp/archive/v0.26.9.tar.gz" + sha256: "5b5760d34fbbfcc971f561296e828de4c788750472fd9bd3ac20068a083620f2" + "0.17.1a": + url: "https://github.com/awslabs/aws-crt-cpp/archive/v0.17.1a.tar.gz" + sha256: "64053c8237e350cfbec24984a3696aaf914bfa64e6200ef19bebe9cf5bb0692b" diff --git a/recipes/aws-crt-cpp/all/conanfile.py b/recipes/aws-crt-cpp/all/conanfile.py index 459770aa822b1..92652a3ebbf87 100644 --- a/recipes/aws-crt-cpp/all/conanfile.py +++ b/recipes/aws-crt-cpp/all/conanfile.py @@ -48,29 +48,31 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - if Version(self.version) < "0.24.1": - self.requires("aws-c-cal/0.5.13", transitive_headers=True) - self.requires("aws-c-common/0.8.2", transitive_headers=True) - self.requires("aws-checksums/0.1.13") - else: - self.requires("aws-c-cal/0.6.9", transitive_headers=True) - self.requires("aws-c-common/0.9.6", transitive_headers=True) - self.requires("aws-checksums/0.1.17") - if Version(self.version) < "0.17.29": - self.requires("aws-c-auth/0.6.11", transitive_headers=True) + if self.version == "0.26.9": + # From add_subdirectory() calls in https://github.com/awslabs/aws-crt-cpp/blob/v0.26.9/CMakeLists.txt + self.requires("aws-c-common/0.9.15") + self.requires("aws-c-sdkutils/0.1.15") + self.requires("aws-c-io/0.14.7", transitive_headers=True) + self.requires("aws-c-cal/0.6.14") + self.requires("aws-c-compression/0.2.18") + self.requires("aws-c-http/0.8.1", transitive_headers=True) + self.requires("aws-c-auth/0.7.16", transitive_headers=True) + self.requires("aws-c-mqtt/0.10.3", transitive_headers=True) + self.requires("aws-checksums/0.1.18") + self.requires("aws-c-event-stream/0.4.2") + self.requires("aws-c-s3/0.5.5") + if self.version == "0.17.1a": + # From add_subdirectory() calls in https://github.com/awslabs/aws-crt-cpp/blob/v0.17.1a/CMakeLists.txt#L95 + self.requires("aws-c-http/0.6.7", transitive_headers=True) + self.requires("aws-c-mqtt/0.7.8", transitive_headers=True) + self.requires("aws-c-cal/0.5.12") + self.requires("aws-c-compression/0.2.14") + self.requires("aws-c-auth/0.6.4", transitive_headers=True) + self.requires("aws-c-common/0.6.11") + self.requires("aws-c-io/0.10.9", transitive_headers=True) + self.requires("aws-checksums/0.1.12") self.requires("aws-c-event-stream/0.2.7") - self.requires("aws-c-http/0.6.13", transitive_headers=True) - self.requires("aws-c-io/0.10.20", transitive_headers=True) - self.requires("aws-c-mqtt/0.7.10", transitive_headers=True) - self.requires("aws-c-s3/0.1.37") - else: - self.requires("aws-c-auth/0.7.8", transitive_headers=True) - self.requires("aws-c-event-stream/0.3.1") - self.requires("aws-c-http/0.7.14", transitive_headers=True) - self.requires("aws-c-io/0.13.35", transitive_headers=True) - self.requires("aws-c-mqtt/0.9.10", transitive_headers=True) - self.requires("aws-c-s3/0.3.24") - self.requires("aws-c-sdkutils/0.1.12") + self.requires("aws-c-s3/0.1.26") def validate(self): if self.settings.compiler.get_safe("cppstd"): diff --git a/recipes/aws-crt-cpp/all/patches/0.17.12-fix-cast-error.patch b/recipes/aws-crt-cpp/all/patches/0.17.12-fix-cast-error.patch deleted file mode 100644 index be886c030a52c..0000000000000 --- a/recipes/aws-crt-cpp/all/patches/0.17.12-fix-cast-error.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/source/io/TlsOptions.cpp b/source/io/TlsOptions.cpp -index 9f9f8cf..e9913ef 100644 ---- a/source/io/TlsOptions.cpp -+++ b/source/io/TlsOptions.cpp -@@ -216,7 +216,7 @@ namespace Aws - - if (m_slotId) - { -- options.slot_id = &(*m_slotId); -+ options.slot_id = const_cast(&(*m_slotId)); - } - - if (m_userPin) diff --git a/recipes/aws-crt-cpp/all/patches/0.17.23-fix-cast-error.patch b/recipes/aws-crt-cpp/all/patches/0.17.23-fix-cast-error.patch deleted file mode 100644 index 676d3a87fbac2..0000000000000 --- a/recipes/aws-crt-cpp/all/patches/0.17.23-fix-cast-error.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/source/io/TlsOptions.cpp b/source/io/TlsOptions.cpp -index 3018e4c..eb5e129 100644 ---- a/source/io/TlsOptions.cpp -+++ b/source/io/TlsOptions.cpp -@@ -213,7 +213,7 @@ namespace Aws - - if (m_slotId) - { -- options.slot_id = &(*m_slotId); -+ options.slot_id = const_cast(&(*m_slotId)); - } - - if (m_userPin) diff --git a/recipes/aws-crt-cpp/all/patches/0.24.1-disable-sanitizers.patch b/recipes/aws-crt-cpp/all/patches/0.24.1-disable-sanitizers.patch deleted file mode 100644 index bb37fbe98b61a..0000000000000 --- a/recipes/aws-crt-cpp/all/patches/0.24.1-disable-sanitizers.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- CMakeLists.txt.orig 2024-02-23 17:49:55 -+++ CMakeLists.txt 2024-02-23 17:50:20 -@@ -314,7 +314,7 @@ - aws_use_package(aws-c-event-stream) - aws_use_package(aws-c-s3) - --aws_add_sanitizers(${PROJECT_NAME}) -+#aws_add_sanitizers(${PROJECT_NAME}) - - target_link_libraries(${PROJECT_NAME} PUBLIC ${DEP_AWS_LIBS}) - diff --git a/recipes/aws-crt-cpp/all/patches/0.24.1-fix-cast-error.patch b/recipes/aws-crt-cpp/all/patches/0.24.1-fix-cast-error.patch deleted file mode 100644 index 78b3163f7e6d5..0000000000000 --- a/recipes/aws-crt-cpp/all/patches/0.24.1-fix-cast-error.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/source/io/TlsOptions.cpp b/source/io/TlsOptions.cpp -index 6077912..74a55c9 100644 ---- a/source/io/TlsOptions.cpp -+++ b/source/io/TlsOptions.cpp -@@ -219,7 +219,7 @@ namespace Aws - - if (m_slotId) - { -- options.slot_id = &(*m_slotId); -+ options.slot_id = const_cast(&(*m_slotId)); - } - - if (m_userPin) diff --git a/recipes/aws-crt-cpp/config.yml b/recipes/aws-crt-cpp/config.yml index 20f59bce0267f..b1a11f4753b30 100644 --- a/recipes/aws-crt-cpp/config.yml +++ b/recipes/aws-crt-cpp/config.yml @@ -1,9 +1,5 @@ versions: - "0.24.1": + "0.26.9": folder: all - "0.17.23": - folder: all - "0.17.12": - folder: all - "0.14.3": + "0.17.1a": folder: all From 981f70805bdef7791915ffcb34d76f3a8491a205 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 14 Aug 2024 01:51:58 +0900 Subject: [PATCH 329/641] (#24925) sqlite3: add version 3.46.1 --- recipes/sqlite3/all/conandata.yml | 3 +++ recipes/sqlite3/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/sqlite3/all/conandata.yml b/recipes/sqlite3/all/conandata.yml index ac208fb3cac3a..cc14778b41f4c 100644 --- a/recipes/sqlite3/all/conandata.yml +++ b/recipes/sqlite3/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.46.1": + url: "https://sqlite.org/2024/sqlite-amalgamation-3460100.zip" + sha256: "77823cb110929c2bcb0f5d48e4833b5c59a8a6e40cdea3936b99e199dbbe5784" "3.46.0": url: "https://sqlite.org/2024/sqlite-amalgamation-3460000.zip" sha256: "712a7d09d2a22652fb06a49af516e051979a3984adb067da86760e60ed51a7f5" diff --git a/recipes/sqlite3/config.yml b/recipes/sqlite3/config.yml index 8482b7cd3dae3..379a6a6a50b9a 100644 --- a/recipes/sqlite3/config.yml +++ b/recipes/sqlite3/config.yml @@ -1,4 +1,6 @@ versions: + "3.46.1": + folder: all "3.46.0": folder: all "3.45.3": From 198d1eb7a5015b7694068a52dac6e54869c747e6 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 14 Aug 2024 02:11:24 +0900 Subject: [PATCH 330/641] (#24926) pybind11: add version 2.13.2 --- recipes/pybind11/all/conandata.yml | 3 +++ recipes/pybind11/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/pybind11/all/conandata.yml b/recipes/pybind11/all/conandata.yml index c44f76e084fcf..cdd4a4e6a9f13 100644 --- a/recipes/pybind11/all/conandata.yml +++ b/recipes/pybind11/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.13.2": + url: "https://github.com/pybind/pybind11/archive/v2.13.2.tar.gz" + sha256: "50eebef369d28f07ce1fe1797f38149e5928817be8e539239f2aadfd95b227f3" "2.13.1": url: "https://github.com/pybind/pybind11/archive/v2.13.1.tar.gz" sha256: "51631e88960a8856f9c497027f55c9f2f9115cafb08c0005439838a05ba17bfc" diff --git a/recipes/pybind11/config.yml b/recipes/pybind11/config.yml index 975b39f3ad740..12252f6d805d2 100644 --- a/recipes/pybind11/config.yml +++ b/recipes/pybind11/config.yml @@ -1,4 +1,6 @@ versions: + "2.13.2": + folder: all "2.13.1": folder: all "2.12.0": From 3bf80b06aa83aceebd94ff1b6518ad2887c7a57d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Abril=20Rinc=C3=B3n=20Blanco?= Date: Tue, 13 Aug 2024 21:02:28 +0200 Subject: [PATCH 331/641] (#24869) opentelemetry-cpp: Bump boost to fix old opentelemetry-cpp versions * Bump boost to fix old opentelemetry-cpp versions * Fix missing binary --- recipes/opentelemetry-cpp/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/opentelemetry-cpp/all/conanfile.py b/recipes/opentelemetry-cpp/all/conanfile.py index 60940dcfcab3b..7d46d7427d052 100644 --- a/recipes/opentelemetry-cpp/all/conanfile.py +++ b/recipes/opentelemetry-cpp/all/conanfile.py @@ -110,7 +110,7 @@ def requirements(self): self.requires("ms-gsl/4.0.0") if self.options.with_abseil: - self.requires("abseil/20230125.3", transitive_headers=True) + self.requires("abseil/20230802.1", transitive_headers=True) if self.options.with_otlp_grpc or self.options.with_otlp_http: self.requires("protobuf/3.21.12", transitive_headers=True, transitive_libs=True) @@ -137,7 +137,7 @@ def requirements(self): if self.options.get_safe("with_jaeger"): self.requires("thrift/0.17.0") - self.requires("boost/1.84.0") + self.requires("boost/1.85.0") @property def _required_boost_components(self): From 656d8499eb231e1796383def2dcb70e7cee10b44 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 14 Aug 2024 04:32:50 +0900 Subject: [PATCH 332/641] (#24865) mold: add new version 2.33.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * mold: add version 2.33.0 * drop support apple-clang < 14 * Update recipes/mold/all/conanfile.py --------- Co-authored-by: Abril Rincón Blanco --- recipes/mold/all/conandata.yml | 3 +++ recipes/mold/all/conanfile.py | 4 +++- recipes/mold/config.yml | 2 ++ 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/recipes/mold/all/conandata.yml b/recipes/mold/all/conandata.yml index 76bdbbd4a2351..2c5f346939e24 100644 --- a/recipes/mold/all/conandata.yml +++ b/recipes/mold/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.33.0": + url: "https://github.com/rui314/mold/archive/refs/tags/v2.33.0.tar.gz" + sha256: "37b3aacbd9b6accf581b92ba1a98ca418672ae330b78fe56ae542c2dcb10a155" "2.32.1": url: "https://github.com/rui314/mold/archive/refs/tags/v2.32.1.tar.gz" sha256: "f3c9a527d884c635834fe7d79b3de959b00783bf9446280ea274d996f0335825" diff --git a/recipes/mold/all/conanfile.py b/recipes/mold/all/conanfile.py index 68b6db435177a..c604d73299327 100644 --- a/recipes/mold/all/conanfile.py +++ b/recipes/mold/all/conanfile.py @@ -45,7 +45,7 @@ def requirements(self): self.requires("mimalloc/2.1.2") if Version(self.version) < "2.2.0": # Newer versions use vendored-in BLAKE3 - self.requires("openssl/[>=1.1 <4]") + self.requires("openssl/[>=1.1 <4]") def package_id(self): del self.info.settings.compiler @@ -65,6 +65,8 @@ def validate(self): raise ConanInvalidConfiguration("Clang version 12 or higher required") if self.settings.compiler == "apple-clang" and "armv8" == self.settings.arch : raise ConanInvalidConfiguration(f'{self.name} is still not supported by Mac M1.') + if Version(self.version) == "2.33.0" and self.settings.compiler == "apple-clang" and Version(self.settings.compiler.version) < "14": + raise ConanInvalidConfiguration(f'{self.ref} doesn\'t support Apple-Clang < 14.') def build_requirements(self): self.tool_requires("cmake/[>=3.18.0 <4]") diff --git a/recipes/mold/config.yml b/recipes/mold/config.yml index 096044e3278b2..e7c236baf0d22 100644 --- a/recipes/mold/config.yml +++ b/recipes/mold/config.yml @@ -1,4 +1,6 @@ versions: + "2.33.0": + folder: all "2.32.1": folder: all "2.32.0": From 2b5103601bbb7a2b26f46106f674ba2e62107f45 Mon Sep 17 00:00:00 2001 From: maximiliank Date: Wed, 14 Aug 2024 00:50:42 +0200 Subject: [PATCH 333/641] =?UTF-8?q?(#24458)=20Set=20boost=20required=20ver?= =?UTF-8?q?sion=20to=201.85.0=20to=20be=20inline=20with=20thrift/0.17.0=20?= =?UTF-8?q?=E2=80=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Abril Rincón Blanco --- recipes/arrow/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/arrow/all/conanfile.py b/recipes/arrow/all/conanfile.py index 8080af297b81b..1903432f155aa 100644 --- a/recipes/arrow/all/conanfile.py +++ b/recipes/arrow/all/conanfile.py @@ -170,7 +170,7 @@ def requirements(self): if self.options.with_mimalloc: self.requires("mimalloc/1.7.6") if self.options.with_boost: - self.requires("boost/1.84.0") + self.requires("boost/1.85.0") if self.options.with_gflags: self.requires("gflags/2.2.2") if self.options.with_glog: From f31b98bae9c200494240f9b475c16e055ff8077e Mon Sep 17 00:00:00 2001 From: Carlos Zoido Date: Wed, 14 Aug 2024 07:23:26 +0200 Subject: [PATCH 334/641] (#24928) Fix linking problems when using CUDA with llama-cpp in static * fix cuda linking static * fix cublasLt in win * use find_dependency * add buildirs --- recipes/llama-cpp/all/cmake/llama-cpp-cuda-static.cmake | 7 +++++++ recipes/llama-cpp/all/conanfile.py | 7 +++++++ 2 files changed, 14 insertions(+) create mode 100644 recipes/llama-cpp/all/cmake/llama-cpp-cuda-static.cmake diff --git a/recipes/llama-cpp/all/cmake/llama-cpp-cuda-static.cmake b/recipes/llama-cpp/all/cmake/llama-cpp-cuda-static.cmake new file mode 100644 index 0000000000000..2e9b341b77e42 --- /dev/null +++ b/recipes/llama-cpp/all/cmake/llama-cpp-cuda-static.cmake @@ -0,0 +1,7 @@ +find_dependency(CUDAToolkit REQUIRED) +if (WIN32) + # As of 12.3.1 CUDA Toolkit for Windows does not offer a static cublas library + target_link_libraries(llama-cpp::common INTERFACE CUDA::cudart_static CUDA::cublas CUDA::cublasLt CUDA::cuda_driver) +else () + target_link_libraries(llama-cpp::common INTERFACE CUDA::cudart_static CUDA::cublas_static CUDA::cublasLt_static CUDA::cuda_driver) +endif() diff --git a/recipes/llama-cpp/all/conanfile.py b/recipes/llama-cpp/all/conanfile.py index 360a4fcfd3c83..06fe2b68724c2 100755 --- a/recipes/llama-cpp/all/conanfile.py +++ b/recipes/llama-cpp/all/conanfile.py @@ -49,6 +49,7 @@ def _compilers_minimum_version(self): def export_sources(self): export_conandata_patches(self) + copy(self, "cmake/*", dst=self.export_sources_folder, src=self.recipe_folder) def config_options(self): if self.settings.os == "Windows": @@ -111,6 +112,7 @@ def package(self): copy(self, "*common*.so", src=self.build_folder, dst=os.path.join(self.package_folder, "lib"), keep_path=False) copy(self, "*common*.dylib", src=self.build_folder, dst=os.path.join(self.package_folder, "lib"), keep_path=False) copy(self, "*common*.a", src=self.build_folder, dst=os.path.join(self.package_folder, "lib"), keep_path=False) + copy(self, "*.cmake", src=os.path.join(self.export_sources_folder, "cmake"), dst=os.path.join(self.package_folder, "lib", "cmake")) def package_info(self): self.cpp_info.components["common"].includedirs = [os.path.join("include", "common")] @@ -123,6 +125,11 @@ def package_info(self): self.cpp_info.components["llama"].resdirs = ["res"] self.cpp_info.components["llama"].libdirs = ["lib"] + if self.options.with_cuda and not self.options.shared: + self.cpp_info.builddirs.append(os.path.join("lib", "cmake")) + module_path = os.path.join("lib", "cmake", "llama-cpp-cuda-static.cmake") + self.cpp_info.set_property("cmake_build_modules", [module_path]) + if is_apple_os(self): self.cpp_info.components["common"].frameworks.extend(["Foundation", "Accelerate", "Metal"]) elif self.settings.os in ("Linux", "FreeBSD"): From bd142be653e97b5fca450c6d9f5c1c0d15484fae Mon Sep 17 00:00:00 2001 From: Jordan Williams Date: Wed, 14 Aug 2024 02:46:57 -0500 Subject: [PATCH 335/641] (#22990) ffmpeg: Add missing dependency on OpenSSL for avutil MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * ffmpeg: Add missing dependency on OpenSSL for avutil * Use libva and libvdpau dependencies * Add with_libdrm option * Fix vulkan in cpp_info Signed-off-by: Uilian Ries * Fix options Signed-off-by: Uilian Ries * Fix options Signed-off-by: Uilian Ries * Remove changes to use non-system libva and libvdpau packages * Default libdrm to False --------- Signed-off-by: Uilian Ries Co-authored-by: Rubén Rincón Blanco Co-authored-by: Uilian Ries --- recipes/ffmpeg/all/conanfile.py | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/recipes/ffmpeg/all/conanfile.py b/recipes/ffmpeg/all/conanfile.py index e2529a2053314..678d74eaa8856 100644 --- a/recipes/ffmpeg/all/conanfile.py +++ b/recipes/ffmpeg/all/conanfile.py @@ -74,6 +74,7 @@ class FFMpegConan(ConanFile): "with_libsvtav1": [True, False], "with_libaom": [True, False], "with_libdav1d": [True, False], + "with_libdrm": [True, False], "with_jni": [True, False], "with_mediacodec": [True, False], "disable_everything": [True, False], @@ -156,6 +157,7 @@ class FFMpegConan(ConanFile): "with_libsvtav1": True, "with_libaom": True, "with_libdav1d": True, + "with_libdrm": False, "with_jni": False, "with_mediacodec": False, "disable_everything": False, @@ -242,13 +244,14 @@ def export_sources(self): def config_options(self): if self.settings.os == "Windows": del self.options.fPIC - if not self.settings.os in ["Linux", "FreeBSD"]: + if self.settings.os not in ["Linux", "FreeBSD"]: del self.options.with_vaapi del self.options.with_vdpau del self.options.with_vulkan del self.options.with_xcb del self.options.with_libalsa del self.options.with_pulse + del self.options.with_libdrm if self.settings.os != "Macos": del self.options.with_appkit if self.settings.os not in ["Macos", "iOS", "tvOS"]: @@ -311,7 +314,7 @@ def requirements(self): self.requires("openssl/[>=1.1 <4]") if self.options.get_safe("with_libalsa"): self.requires("libalsa/1.2.10") - if self.options.get_safe("with_xcb") or self.options.get_safe("with_vaapi"): + if self.options.get_safe("with_xcb"): self.requires("xorg/system") if self.options.get_safe("with_pulse"): self.requires("pulseaudio/14.2") @@ -327,6 +330,8 @@ def requirements(self): self.requires("libaom-av1/3.6.1") if self.options.get_safe("with_libdav1d"): self.requires("dav1d/1.2.1") + if self.options.get_safe("with_libdrm"): + self.requires("libdrm/2.4.119") def validate(self): if self.options.with_ssl == "securetransport" and not is_apple_os(self): @@ -503,6 +508,7 @@ def opt_append_disable_if_set(args, what, v): opt_enable_disable("alsa", self.options.get_safe("with_libalsa")), opt_enable_disable("libpulse", self.options.get_safe("with_pulse")), opt_enable_disable("vaapi", self.options.get_safe("with_vaapi")), + opt_enable_disable("libdrm", self.options.get_safe("with_libdrm")), opt_enable_disable("vdpau", self.options.get_safe("with_vdpau")), opt_enable_disable("libxcb", self.options.get_safe("with_xcb")), opt_enable_disable("libxcb-shm", self.options.get_safe("with_xcb")), @@ -902,11 +908,18 @@ def _add_component(name, dependencies): if Version(self.version) >= "5.0" and is_apple_os(self): avfilter.frameworks.append("Metal") + if self.options.get_safe("with_libdrm"): + avutil.requires.append("libdrm::libdrm_libdrm") if self.options.get_safe("with_vaapi"): - avutil.requires.extend(["vaapi::vaapi", "xorg::x11"]) + avutil.requires.append("vaapi::vaapi") + if self.options.get_safe("with_xcb"): + avutil.requires.append("xorg::x11") if self.options.get_safe("with_vdpau"): avutil.requires.append("vdpau::vdpau") + if self.options.with_ssl == "openssl": + avutil.requires.append("openssl::ssl") + if self.options.get_safe("with_vulkan"): avutil.requires.append("vulkan-loader::vulkan-loader") From 6e688de99164ae5d7940f8c7c138b36c321dab0a Mon Sep 17 00:00:00 2001 From: Kevin Perry Date: Wed, 14 Aug 2024 08:51:50 +0000 Subject: [PATCH 336/641] (#24931) fast-dds: add version 2.14.3 The glibc patch is no longer necessary since eProsima/Fast-DDS#4565 has been resolved. --- recipes/fast-dds/all/conandata.yml | 7 +++++++ recipes/fast-dds/config.yml | 2 ++ 2 files changed, 9 insertions(+) diff --git a/recipes/fast-dds/all/conandata.yml b/recipes/fast-dds/all/conandata.yml index 9e3502b8efbdc..f53bf9511da8b 100644 --- a/recipes/fast-dds/all/conandata.yml +++ b/recipes/fast-dds/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.14.3": + url: "https://github.com/eProsima/Fast-DDS/archive/refs/tags/v2.14.3.tar.gz" + sha256: "292e4170e4689d878eb5ddd38661134a704a1541402a4f564353190e4aadd23d" "2.14.0": url: "https://github.com/eProsima/Fast-DDS/archive/refs/tags/v2.14.0.tar.gz" sha256: "a6f12bce6b77f265cab81abde5dc2e08133be9a55bc29e573c84571d44eddbc2" @@ -15,6 +18,10 @@ sources: url: "https://github.com/eProsima/Fast-DDS/archive/refs/tags/v2.3.4.tar.gz" sha256: "b1b2322de0ca55a16495666e3fbda8aca32b888bbfaecda29f2ffc4b072ef7ac" patches: + "2.14.3": + - patch_file: "patches/2.13.3-0001-fix-find-asio-and-tinyxml2.patch" + patch_type: "conan" + patch_description: "Fixup find asio and tinyxml2" "2.14.0": - patch_file: "patches/2.13.3-0001-fix-find-asio-and-tinyxml2.patch" patch_type: "conan" diff --git a/recipes/fast-dds/config.yml b/recipes/fast-dds/config.yml index 29bc2c57212d7..101b2295a806a 100644 --- a/recipes/fast-dds/config.yml +++ b/recipes/fast-dds/config.yml @@ -1,4 +1,6 @@ versions: + "2.14.3": + folder: all "2.14.0": folder: all "2.13.3": From 7488d98380df50067ec1e7ea31226672129707de Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maciek=20Jab=C5=82o=C5=84ski?= <35082097+maciejjablonsky@users.noreply.github.com> Date: Wed, 14 Aug 2024 11:33:47 +0200 Subject: [PATCH 337/641] (#24836) vulkan-loader: bump to 1.3.290.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Adjustment for tests CMakeLists Co-authored-by: Abril Rincón Blanco --- recipes/vulkan-loader/all/conandata.yml | 3 +++ recipes/vulkan-loader/all/conanfile.py | 13 +++++++------ recipes/vulkan-loader/config.yml | 2 ++ 3 files changed, 12 insertions(+), 6 deletions(-) diff --git a/recipes/vulkan-loader/all/conandata.yml b/recipes/vulkan-loader/all/conandata.yml index b31ce6fd5b07a..ad7d56b8cab7b 100644 --- a/recipes/vulkan-loader/all/conandata.yml +++ b/recipes/vulkan-loader/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.3.290.0": + url: "https://github.com/KhronosGroup/Vulkan-Loader/archive/refs/tags/v1.3.290.tar.gz" + sha256: "a1f0d80c4ee448d4fa37d1d4a4c4cf1d6d0f5873d3ca6dffe2a9498e6e654142" "1.3.268.0": url: "https://github.com/KhronosGroup/Vulkan-Loader/archive/refs/tags/vulkan-sdk-1.3.268.0.tar.gz" sha256: "404fa621f1ab2731bcc68bcbff64d8c6de322faad2d87f9198641bd37255fd39" diff --git a/recipes/vulkan-loader/all/conanfile.py b/recipes/vulkan-loader/all/conanfile.py index d1e31f8184d88..27aeb7d2928a6 100644 --- a/recipes/vulkan-loader/all/conanfile.py +++ b/recipes/vulkan-loader/all/conanfile.py @@ -132,12 +132,13 @@ def _patch_sources(self): "if(${configuration} MATCHES \"/MD\")", "if(FALSE)") else: - replace_in_file( - self, - cmakelists, - "set(TESTS_STANDARD_CXX_PROPERTIES ${LOADER_STANDARD_CXX_PROPERTIES} MSVC_RUNTIME_LIBRARY \"MultiThreaded$<$:Debug>DLL\")", - "set(TESTS_STANDARD_CXX_PROPERTIES ${LOADER_STANDARD_CXX_PROPERTIES})", - ) + if Version(self.version) < "1.3.275": + replace_in_file( + self, + cmakelists, + "set(TESTS_STANDARD_CXX_PROPERTIES ${LOADER_STANDARD_CXX_PROPERTIES} MSVC_RUNTIME_LIBRARY \"MultiThreaded$<$:Debug>DLL\")", + "set(TESTS_STANDARD_CXX_PROPERTIES ${LOADER_STANDARD_CXX_PROPERTIES})", + ) replace_in_file( self, cmakelists, diff --git a/recipes/vulkan-loader/config.yml b/recipes/vulkan-loader/config.yml index a9f30cdd286b9..0254c0a572bb2 100644 --- a/recipes/vulkan-loader/config.yml +++ b/recipes/vulkan-loader/config.yml @@ -1,4 +1,6 @@ versions: + "1.3.290.0": + folder: all "1.3.268.0": folder: all "1.3.250.0": From c7ddadacb4b619bd07f6cb1d66f47ad36eb5f088 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 14 Aug 2024 20:11:41 +0900 Subject: [PATCH 338/641] (#24911) nodejs: add version 20.16.0(LTS) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Abril Rincón Blanco --- recipes/nodejs/all/conandata.yml | 117 +++++++++++++++++++------------ recipes/nodejs/config.yml | 10 +-- 2 files changed, 77 insertions(+), 50 deletions(-) diff --git a/recipes/nodejs/all/conandata.yml b/recipes/nodejs/all/conandata.yml index 56a1be535ef41..da170c70c328b 100644 --- a/recipes/nodejs/all/conandata.yml +++ b/recipes/nodejs/all/conandata.yml @@ -1,52 +1,51 @@ sources: - "12.14.1": - Windows: - "x86_64": - url: "https://nodejs.org/dist/v12.14.1/node-v12.14.1-win-x64.zip" - sha256: "1f96ccce3ba045ecea3f458e189500adb90b8bc1a34de5d82fc10a5bf66ce7e3" - Linux: - "x86_64": - url: "https://nodejs.org/dist/v12.14.1/node-v12.14.1-linux-x64.tar.xz" - sha256: "07cfcaa0aa9d0fcb6e99725408d9e0b07be03b844701588e3ab5dbc395b98e1b" - Macos: - "x86_64": - url: "https://nodejs.org/dist/v12.14.1/node-v12.14.1-darwin-x64.tar.gz" - sha256: "0be10a28737527a1e5e3784d3ad844d742fe8b0718acd701fd48f718fd3af78f" - "13.6.0": + "20.16.0": Windows: "x86_64": - url: "https://nodejs.org/dist/v13.6.0/node-v13.6.0-win-x64.zip" - sha256: "7fe37b34a4673a071bea52fcaf913ec422cf6fd79fd025bfb22de42ccc77f386" + url: "https://nodejs.org/dist/v20.16.0/node-v20.16.0-win-x64.zip" + sha256: "4e88373ac5ae859ad4d50cc3c5fa86eb3178d089b72e64c4dbe6eeac5d7b5979" + "armv8": + url: "https://nodejs.org/dist/v20.16.0/node-v20.16.0-win-arm64.zip" + sha256: "af5a85ea299fcebd34c3c726a47a926e73171f9b657a6eaa796c011597241bf8" Linux: "x86_64": - url: "https://nodejs.org/dist/v13.6.0/node-v13.6.0-linux-x64.tar.xz" - sha256: "00f01315a867da16d1638f7a02966c608e344ac6c5b7d04d1fdae3138fa9d798" + url: "https://nodejs.org/dist/v20.16.0/node-v20.16.0-linux-x64.tar.xz" + sha256: "c30af7dfea46de7d8b9b370fa33b8b15440bc93f0a686af8601bbb48b82f16c0" + "armv7": + url: "https://nodejs.org/dist/v20.16.0/node-v20.16.0-linux-armv7l.tar.xz" + sha256: "a23a49029e8c7788c701eb3ace553260b7676a5a2ea9965ba92e4817008fbefe" + "armv8": + url: "https://nodejs.org/dist/v20.16.0/node-v20.16.0-linux-arm64.tar.xz" + sha256: "1d9929e72f692179f884cd676b2dfabd879cb77defa7869dc8cfc802619277fb" Macos: "x86_64": - url: "https://nodejs.org/dist/v13.6.0/node-v13.6.0-darwin-x64.tar.gz" - sha256: "da13adb864777b322dda7af20410a9b0c63aa69de4b5574008d1e6910768bf69" - "16.3.0": + url: "https://nodejs.org/dist/v20.16.0/node-v20.16.0-darwin-x64.tar.gz" + sha256: "e18942cd706e4d69a4845ddacee2f1c17a72e853a229e3d2623d2edeb7efde72" + "armv8": + url: "https://nodejs.org/dist/v20.16.0/node-v20.16.0-darwin-arm64.tar.gz" + sha256: "fc7355e778b181575153b7dea4879e8021776eeb376c43c50f65893d2ea70aa3" + "18.15.0": Windows: "x86_64": - url: "https://nodejs.org/dist/v16.3.0/node-v16.3.0-win-x64.zip" - sha256: "3352e58d3603cf58964409d07f39f3816285317d638ddb0a0bf3af5deb2ff364" + url: "https://nodejs.org/dist/v18.15.0/node-v18.15.0-win-x64.zip" + sha256: "118fbcae58bc8c53cbe97a10c019734ed90685da8dda98aa0b0f4aeead42a647" Linux: "x86_64": - url: "https://nodejs.org/dist/v16.3.0/node-v16.3.0-linux-x64.tar.xz" - sha256: "5347ece975747e4d9768d4ed3f8b2220c955ac01f8a695347cd7f71ff5efa318" + url: "https://nodejs.org/dist/v18.15.0/node-v18.15.0-linux-x64.tar.xz" + sha256: "c8c5fa53ce0c0f248e45983e86368e0b1daf84b77e88b310f769c3cfc12682ef" "armv7": - url: "https://nodejs.org/dist/v16.3.0/node-v16.3.0-linux-armv7l.tar.xz" - sha256: "c8817e30fb910476ec1f223de7eedd31f3d157ddf2003a3083d7f5662180e4de" + url: "https://nodejs.org/dist/v18.15.0/node-v18.15.0-linux-armv7l.tar.xz" + sha256: "baad3cdf1365f46bf837635554b10bc3e320799e69ac26e07df1fcde0c1738c7" "armv8": - url: "https://nodejs.org/dist/v16.3.0/node-v16.3.0-linux-arm64.tar.xz" - sha256: "67dd97e41aad1bc11736e99cba119525b4f3472b132c46730ba8cf03f7076e23" + url: "https://nodejs.org/dist/v18.15.0/node-v18.15.0-linux-arm64.tar.xz" + sha256: "98ea6ed0a1ae55334ab2c03c34d5e52c6dc3dee8f236c0afc08ab1c964506633" Macos: "x86_64": - url: "https://nodejs.org/dist/v16.3.0/node-v16.3.0-darwin-x64.tar.gz" - sha256: "3e075bcfb6130dda84bfd04633cb228ec71e72d9a844c57efb7cfff130b4be89" + url: "https://nodejs.org/dist/v18.15.0/node-v18.15.0-darwin-x64.tar.gz" + sha256: "76add174d2d3f98da08907412e82add7352b8cb6f639324d352a65c084b99c7e" "armv8": - url: "https://nodejs.org/dist/v16.3.0/node-v16.3.0-darwin-arm64.tar.gz" - sha256: "aeac294dbe54a4dfd222eedfbae704b185c40702254810e2c5917f6dbc80e017" + url: "https://nodejs.org/dist/v18.15.0/node-v18.15.0-darwin-arm64.tar.gz" + sha256: "bd302a689c3c34e2b61d86b97de66d26a335881a17af09b6a0a4bb1019df56e4" "16.20.2": Windows: "x86_64": @@ -69,25 +68,51 @@ sources: "armv8": url: "https://nodejs.org/dist/v16.20.2/node-v16.20.2-darwin-arm64.tar.gz" sha256: "6a5c4108475871362d742b988566f3fe307f6a67ce14634eb3fbceb4f9eea88c" - "18.15.0": + "16.3.0": Windows: "x86_64": - url: "https://nodejs.org/dist/v18.15.0/node-v18.15.0-win-x64.zip" - sha256: "118fbcae58bc8c53cbe97a10c019734ed90685da8dda98aa0b0f4aeead42a647" + url: "https://nodejs.org/dist/v16.3.0/node-v16.3.0-win-x64.zip" + sha256: "3352e58d3603cf58964409d07f39f3816285317d638ddb0a0bf3af5deb2ff364" Linux: "x86_64": - url: "https://nodejs.org/dist/v18.15.0/node-v18.15.0-linux-x64.tar.xz" - sha256: "c8c5fa53ce0c0f248e45983e86368e0b1daf84b77e88b310f769c3cfc12682ef" + url: "https://nodejs.org/dist/v16.3.0/node-v16.3.0-linux-x64.tar.xz" + sha256: "5347ece975747e4d9768d4ed3f8b2220c955ac01f8a695347cd7f71ff5efa318" "armv7": - url: "https://nodejs.org/dist/v18.15.0/node-v18.15.0-linux-armv7l.tar.xz" - sha256: "baad3cdf1365f46bf837635554b10bc3e320799e69ac26e07df1fcde0c1738c7" + url: "https://nodejs.org/dist/v16.3.0/node-v16.3.0-linux-armv7l.tar.xz" + sha256: "c8817e30fb910476ec1f223de7eedd31f3d157ddf2003a3083d7f5662180e4de" "armv8": - url: "https://nodejs.org/dist/v18.15.0/node-v18.15.0-linux-arm64.tar.xz" - sha256: "98ea6ed0a1ae55334ab2c03c34d5e52c6dc3dee8f236c0afc08ab1c964506633" + url: "https://nodejs.org/dist/v16.3.0/node-v16.3.0-linux-arm64.tar.xz" + sha256: "67dd97e41aad1bc11736e99cba119525b4f3472b132c46730ba8cf03f7076e23" Macos: "x86_64": - url: "https://nodejs.org/dist/v18.15.0/node-v18.15.0-darwin-x64.tar.gz" - sha256: "76add174d2d3f98da08907412e82add7352b8cb6f639324d352a65c084b99c7e" + url: "https://nodejs.org/dist/v16.3.0/node-v16.3.0-darwin-x64.tar.gz" + sha256: "3e075bcfb6130dda84bfd04633cb228ec71e72d9a844c57efb7cfff130b4be89" "armv8": - url: "https://nodejs.org/dist/v18.15.0/node-v18.15.0-darwin-arm64.tar.gz" - sha256: "bd302a689c3c34e2b61d86b97de66d26a335881a17af09b6a0a4bb1019df56e4" + url: "https://nodejs.org/dist/v16.3.0/node-v16.3.0-darwin-arm64.tar.gz" + sha256: "aeac294dbe54a4dfd222eedfbae704b185c40702254810e2c5917f6dbc80e017" + "13.6.0": + Windows: + "x86_64": + url: "https://nodejs.org/dist/v13.6.0/node-v13.6.0-win-x64.zip" + sha256: "7fe37b34a4673a071bea52fcaf913ec422cf6fd79fd025bfb22de42ccc77f386" + Linux: + "x86_64": + url: "https://nodejs.org/dist/v13.6.0/node-v13.6.0-linux-x64.tar.xz" + sha256: "00f01315a867da16d1638f7a02966c608e344ac6c5b7d04d1fdae3138fa9d798" + Macos: + "x86_64": + url: "https://nodejs.org/dist/v13.6.0/node-v13.6.0-darwin-x64.tar.gz" + sha256: "da13adb864777b322dda7af20410a9b0c63aa69de4b5574008d1e6910768bf69" + "12.14.1": + Windows: + "x86_64": + url: "https://nodejs.org/dist/v12.14.1/node-v12.14.1-win-x64.zip" + sha256: "1f96ccce3ba045ecea3f458e189500adb90b8bc1a34de5d82fc10a5bf66ce7e3" + Linux: + "x86_64": + url: "https://nodejs.org/dist/v12.14.1/node-v12.14.1-linux-x64.tar.xz" + sha256: "07cfcaa0aa9d0fcb6e99725408d9e0b07be03b844701588e3ab5dbc395b98e1b" + Macos: + "x86_64": + url: "https://nodejs.org/dist/v12.14.1/node-v12.14.1-darwin-x64.tar.gz" + sha256: "0be10a28737527a1e5e3784d3ad844d742fe8b0718acd701fd48f718fd3af78f" diff --git a/recipes/nodejs/config.yml b/recipes/nodejs/config.yml index 78cc638a90e4d..7f37f049d8acc 100644 --- a/recipes/nodejs/config.yml +++ b/recipes/nodejs/config.yml @@ -1,11 +1,13 @@ versions: - "12.14.1": + "20.16.0": folder: all - "13.6.0": + "18.15.0": + folder: all + "16.20.2": folder: all "16.3.0": folder: all - "16.20.2": + "13.6.0": folder: all - "18.15.0": + "12.14.1": folder: all From 659934138d4832497c2d680d81ef7ff4dce29988 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 14 Aug 2024 20:31:42 +0900 Subject: [PATCH 339/641] (#24883) spy: add version 1.1.0 --- recipes/spy/all/conandata.yml | 3 +++ recipes/spy/all/conanfile.py | 14 +++++--------- recipes/spy/all/test_package/conanfile.py | 1 + recipes/spy/config.yml | 2 ++ 4 files changed, 11 insertions(+), 9 deletions(-) diff --git a/recipes/spy/all/conandata.yml b/recipes/spy/all/conandata.yml index a03c066af9192..a6f3a70ed4537 100644 --- a/recipes/spy/all/conandata.yml +++ b/recipes/spy/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.1.0": + url: "https://github.com/jfalcou/spy/archive/1.1.0.tar.gz" + sha256: "35e15dfe7bebcb03fb28c249d2c2c4ed302dadafbfd5f81e71c31b95d1e3b2dd" "1.0.0": url: "https://github.com/jfalcou/spy/archive/1.0.0.tar.gz" sha256: "ae2f508460b3b21436a652e281e1cf44370da5871a9d13086daa04a9e2bd7d1b" diff --git a/recipes/spy/all/conanfile.py b/recipes/spy/all/conanfile.py index 4e3adabd43a05..5d68cfa807921 100644 --- a/recipes/spy/all/conanfile.py +++ b/recipes/spy/all/conanfile.py @@ -10,11 +10,12 @@ class SpyConan(ConanFile): name = "spy" + description = "C++ 17 for constexpr-proof detection and classification of informations about OS, compiler, etc..." license = "MIT" url = "https://github.com/conan-io/conan-center-index" homepage = "https://jfalcou.github.io/spy/" - description = "C++ 17 for constexpr-proof detection and classification of informations about OS, compiler, etc..." - topics = ("c++17", "config", "metaprogramming") + topics = ("config", "metaprogramming", "header-only") + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True @@ -27,6 +28,7 @@ def _compilers_minimum_version(self): return { "gcc": "7.4", "Visual Studio": "15.7", + "msvc": "191", "clang": "6", "apple-clang": "10", } @@ -54,11 +56,7 @@ def layout(self): basic_layout(self, src_folder="src") def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) - - def build(self): - pass + get(self, **self.conan_data["sources"][self.version], strip_root=True) def package(self): copy(self, "LICENSE.md", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) @@ -66,6 +64,4 @@ def package(self): def package_info(self): self.cpp_info.bindirs = [] - self.cpp_info.frameworkdirs = [] self.cpp_info.libdirs = [] - self.cpp_info.resdirs = [] diff --git a/recipes/spy/all/test_package/conanfile.py b/recipes/spy/all/test_package/conanfile.py index d120a992c06a6..8a5bb47f50c4c 100644 --- a/recipes/spy/all/test_package/conanfile.py +++ b/recipes/spy/all/test_package/conanfile.py @@ -7,6 +7,7 @@ class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" generators = "CMakeToolchain", "CMakeDeps", "VirtualRunEnv" + test_type = "explicit" def requirements(self): self.requires(self.tested_reference_str) diff --git a/recipes/spy/config.yml b/recipes/spy/config.yml index 1d92b70b7b274..cab874d2d97fa 100644 --- a/recipes/spy/config.yml +++ b/recipes/spy/config.yml @@ -1,4 +1,6 @@ versions: + "1.1.0": + folder: all "1.0.0": folder: all "0.0.4": From 8e18d9b729b81c9843b3a277f42eb728e2fd54e8 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 14 Aug 2024 20:55:40 +0900 Subject: [PATCH 340/641] (#24884) box2d: add version 2.4.2, remove version 2.3.1 * box2d: add version 2.4.2, remove version 2.3.1 * link math lib --- recipes/box2d/2.4.x/conandata.yml | 10 --- recipes/box2d/2.4.x/conanfile.py | 71 ---------------- .../box2d/2.4.x/test_package/CMakeLists.txt | 8 -- recipes/box2d/2.4.x/test_package/conanfile.py | 26 ------ .../box2d/2.4.x/test_package/test_package.cpp | 16 ---- .../2.4.x/test_v1_package/CMakeLists.txt | 11 --- .../box2d/2.4.x/test_v1_package/conanfile.py | 17 ---- .../2.4.x/test_v1_package/test_package.cpp | 16 ---- recipes/box2d/all/conandata.yml | 17 +++- recipes/box2d/all/conanfile.py | 81 ++++++++++--------- .../0001-install-and-allow-shared.patch | 0 recipes/box2d/all/test_package/CMakeLists.txt | 11 +-- recipes/box2d/all/test_package/conanfile.py | 6 +- .../box2d/all/test_package/test_package.cpp | 79 +----------------- .../box2d/all/test_v1_package/CMakeLists.txt | 8 -- .../box2d/all/test_v1_package/conanfile.py | 17 ---- recipes/box2d/config.yml | 8 +- 17 files changed, 74 insertions(+), 328 deletions(-) delete mode 100644 recipes/box2d/2.4.x/conandata.yml delete mode 100644 recipes/box2d/2.4.x/conanfile.py delete mode 100644 recipes/box2d/2.4.x/test_package/CMakeLists.txt delete mode 100644 recipes/box2d/2.4.x/test_package/conanfile.py delete mode 100644 recipes/box2d/2.4.x/test_package/test_package.cpp delete mode 100644 recipes/box2d/2.4.x/test_v1_package/CMakeLists.txt delete mode 100644 recipes/box2d/2.4.x/test_v1_package/conanfile.py delete mode 100644 recipes/box2d/2.4.x/test_v1_package/test_package.cpp rename recipes/box2d/{2.4.x => all}/patches/0001-install-and-allow-shared.patch (100%) delete mode 100644 recipes/box2d/all/test_v1_package/CMakeLists.txt delete mode 100644 recipes/box2d/all/test_v1_package/conanfile.py diff --git a/recipes/box2d/2.4.x/conandata.yml b/recipes/box2d/2.4.x/conandata.yml deleted file mode 100644 index c7372e2a8f037..0000000000000 --- a/recipes/box2d/2.4.x/conandata.yml +++ /dev/null @@ -1,10 +0,0 @@ -sources: - "2.4.0": - url: "https://github.com/erincatto/Box2D/archive/v2.4.0.zip" - sha256: "6aebbc54c93e367c97e382a57ba12546731dcde51526964c2ab97dec2050f8b9" - "2.4.1": - url: "https://github.com/erincatto/box2d/archive/refs/tags/v2.4.1.tar.gz" - sha256: "d6b4650ff897ee1ead27cf77a5933ea197cbeef6705638dd181adc2e816b23c2" -patches: - "2.4.0": - - patch_file: "patches/0001-install-and-allow-shared.patch" diff --git a/recipes/box2d/2.4.x/conanfile.py b/recipes/box2d/2.4.x/conanfile.py deleted file mode 100644 index cc297963ae36d..0000000000000 --- a/recipes/box2d/2.4.x/conanfile.py +++ /dev/null @@ -1,71 +0,0 @@ -import os -from conan import ConanFile -from conan.tools.files import apply_conandata_patches, export_conandata_patches, get, rm, rmdir, copy -from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout -from conan.tools.scm import Version - -required_conan_version = ">=1.53.0" - - -class Box2dConan(ConanFile): - name = "box2d" - license = "Zlib" - description = "Box2D is a 2D physics engine for games" - homepage = "http://box2d.org/" - url = "https://github.com/conan-io/conan-center-index" - topics = ("physics-engine", "graphic", "2d", "collision") - package_type = "library" - settings = "os", "compiler", "build_type", "arch" - options = { - "shared": [True, False], - "fPIC": [True, False] - } - default_options = { - "shared": False, - "fPIC": True - } - - def export_sources(self): - export_conandata_patches(self) - - def config_options(self): - if self.settings.os == "Windows": - self.options.rm_safe("fPIC") - - def configure(self): - if self.options.shared: - self.options.rm_safe("fPIC") - - def layout(self): - cmake_layout(self, src_folder="src") - - def source(self): - get(self, **self.conan_data["sources"][self.version], destination=self.source_folder, strip_root=True) - - def generate(self): - tc = CMakeToolchain(self) - tc.cache_variables["CMAKE_POLICY_DEFAULT_CMP0077"] = "NEW" - tc.variables["BOX2D_BUILD_TESTBED"] = False - tc.variables["BOX2D_BUILD_UNIT_TESTS"] = False - tc.generate() - - def build(self): - apply_conandata_patches(self) - cmake = CMake(self) - cmake.configure() - cmake.build() - - def package(self): - copy(self, "LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) - cmake = CMake(self) - cmake.configure() - cmake.install() - rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) - rm(self, "*.pdb", self.package_folder, recursive=True) - - def package_info(self): - self.cpp_info.names["cmake_find_package"] = "box2d" - self.cpp_info.names["cmake_find_package_multi"] = "box2d" - self.cpp_info.libs = ["box2d"] - if Version(self.version) >= "2.4.1" and self.options.shared: - self.cpp_info.defines.append("B2_SHARED") diff --git a/recipes/box2d/2.4.x/test_package/CMakeLists.txt b/recipes/box2d/2.4.x/test_package/CMakeLists.txt deleted file mode 100644 index fb4d8d7f5888a..0000000000000 --- a/recipes/box2d/2.4.x/test_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -find_package(box2d REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} box2d::box2d) -set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD 11) diff --git a/recipes/box2d/2.4.x/test_package/conanfile.py b/recipes/box2d/2.4.x/test_package/conanfile.py deleted file mode 100644 index d1ce1a2cbc477..0000000000000 --- a/recipes/box2d/2.4.x/test_package/conanfile.py +++ /dev/null @@ -1,26 +0,0 @@ -import os -from conan import ConanFile -from conan.tools.build import can_run -from conan.tools.cmake import CMake, cmake_layout - - -class Box2DTestConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" - test_type = "explicit" - - def layout(self): - cmake_layout(self) - - def requirements(self): - self.requires(self.tested_reference_str) - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if can_run(self): - bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package") - self.run(bin_path, env="conanrun") diff --git a/recipes/box2d/2.4.x/test_package/test_package.cpp b/recipes/box2d/2.4.x/test_package/test_package.cpp deleted file mode 100644 index 7dfa813bc1d2e..0000000000000 --- a/recipes/box2d/2.4.x/test_package/test_package.cpp +++ /dev/null @@ -1,16 +0,0 @@ -#include -#include "box2d/box2d.h" - -int main(void) { - b2Vec2 gravity(0.0f, -10.0f); - b2World world(gravity); - - b2BodyDef groundBodyDef; - groundBodyDef.position.Set(0.0f, -10.0f); - - b2Body* groundBody = world.CreateBody(&groundBodyDef); - b2PolygonShape groundBox; - groundBox.SetAsBox(50.0f, 10.0f); - - return 0; -} diff --git a/recipes/box2d/2.4.x/test_v1_package/CMakeLists.txt b/recipes/box2d/2.4.x/test_v1_package/CMakeLists.txt deleted file mode 100644 index 373fb5bb61846..0000000000000 --- a/recipes/box2d/2.4.x/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,11 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(box2d REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} box2d::box2d) -set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD 11) diff --git a/recipes/box2d/2.4.x/test_v1_package/conanfile.py b/recipes/box2d/2.4.x/test_v1_package/conanfile.py deleted file mode 100644 index 7513484720425..0000000000000 --- a/recipes/box2d/2.4.x/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -import os -from conans import ConanFile, CMake, tools - - -class Box2DTestConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self.settings): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/box2d/2.4.x/test_v1_package/test_package.cpp b/recipes/box2d/2.4.x/test_v1_package/test_package.cpp deleted file mode 100644 index 7dfa813bc1d2e..0000000000000 --- a/recipes/box2d/2.4.x/test_v1_package/test_package.cpp +++ /dev/null @@ -1,16 +0,0 @@ -#include -#include "box2d/box2d.h" - -int main(void) { - b2Vec2 gravity(0.0f, -10.0f); - b2World world(gravity); - - b2BodyDef groundBodyDef; - groundBodyDef.position.Set(0.0f, -10.0f); - - b2Body* groundBody = world.CreateBody(&groundBodyDef); - b2PolygonShape groundBox; - groundBox.SetAsBox(50.0f, 10.0f); - - return 0; -} diff --git a/recipes/box2d/all/conandata.yml b/recipes/box2d/all/conandata.yml index 857c8f5d17268..8a363f08c6689 100644 --- a/recipes/box2d/all/conandata.yml +++ b/recipes/box2d/all/conandata.yml @@ -1,4 +1,15 @@ sources: - "2.3.1": - url: "https://github.com/erincatto/Box2D/archive/v2.3.1.zip" - sha256: "8ddd947400c59bcf09774bd75787e6253098a0bd337f5c61dae38b91aea678cf" + "2.4.2": + url: "https://github.com/erincatto/box2d/archive/refs/tags/v2.4.2.tar.gz" + sha256: "85b9b104d256c985e6e244b4227d447897fac429071cc114e5cc819dae848852" + "2.4.1": + url: "https://github.com/erincatto/box2d/archive/refs/tags/v2.4.1.tar.gz" + sha256: "d6b4650ff897ee1ead27cf77a5933ea197cbeef6705638dd181adc2e816b23c2" + "2.4.0": + url: "https://github.com/erincatto/Box2D/archive/v2.4.0.zip" + sha256: "6aebbc54c93e367c97e382a57ba12546731dcde51526964c2ab97dec2050f8b9" +patches: + "2.4.0": + - patch_file: "patches/0001-install-and-allow-shared.patch" + patch_description: "add install, allow shared build" + patch_type: "conan" diff --git a/recipes/box2d/all/conanfile.py b/recipes/box2d/all/conanfile.py index e5adde1f2b06a..cdd4fd6ee5dc9 100644 --- a/recipes/box2d/all/conanfile.py +++ b/recipes/box2d/all/conanfile.py @@ -1,68 +1,73 @@ import os -from conan import ConanFile, tools -from conan.tools.cmake import CMakeToolchain, CMake, cmake_layout +from conan import ConanFile +from conan.tools.files import apply_conandata_patches, export_conandata_patches, get, rm, rmdir, copy +from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout +from conan.tools.scm import Version -required_conan_version = ">=1.46.0" +required_conan_version = ">=1.53.0" class Box2dConan(ConanFile): name = "box2d" - license = "Zlib" description = "Box2D is a 2D physics engine for games" - topics = ("physics", "engine", "game development") - homepage = "http://box2d.org/" + license = "Zlib" url = "https://github.com/conan-io/conan-center-index" - settings = "os", "compiler", "build_type", "arch" - options = {"shared": [True, False], - "fPIC": [True, False]} - default_options = {"shared": False, "fPIC": True,} + homepage = "http://box2d.org/" + topics = ("physics-engine", "graphic", "2d", "collision") + package_type = "library" + settings = "os", "arch", "compiler", "build_type" + options = { + "shared": [True, False], + "fPIC": [True, False] + } + default_options = { + "shared": False, + "fPIC": True + } + + def export_sources(self): + export_conandata_patches(self) def config_options(self): if self.settings.os == "Windows": - try: - del self.options.fPIC - except Exception: - pass + self.options.rm_safe("fPIC") def configure(self): if self.options.shared: - try: - del self.options.fPIC - except Exception: - pass + self.options.rm_safe("fPIC") def layout(self): - cmake_layout(self, src_folder="Box2D") + cmake_layout(self, src_folder="src") def source(self): - tools.files.get(self, - **self.conan_data["sources"][self.version], - strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): tc = CMakeToolchain(self) - tc.variables["BOX2D_BUILD_SHARED"] = self.options.shared - tc.variables["BOX2D_BUILD_STATIC"] = not self.options.shared - if self.settings.os == "Windows" and self.options.shared: - tc.variables["CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS"] = True - tc.variables["BOX2D_BUILD_EXAMPLES"] = False + tc.cache_variables["CMAKE_POLICY_DEFAULT_CMP0077"] = "NEW" + tc.variables["BOX2D_BUILD_TESTBED"] = False + tc.variables["BOX2D_BUILD_UNIT_TESTS"] = False tc.generate() def build(self): + apply_conandata_patches(self) cmake = CMake(self) - cmake.configure(build_script_folder="Box2D") + cmake.configure() cmake.build() def package(self): - tools.files.copy(self, "License.txt", src=os.path.join(self.source_folder, "Box2D"), dst=os.path.join(self.package_folder,"licenses")) - tools.files.copy(self, os.path.join("Box2D", "*.h"), src=os.path.join(self.source_folder, "Box2D"), dst=os.path.join(self.package_folder, "include")) - tools.files.copy(self, "*.lib", src=self.build_folder, dst=os.path.join(self.package_folder, "lib"), keep_path=False) - tools.files.copy(self, "*.dll", src=self.build_folder, dst=os.path.join(self.package_folder, "bin"), keep_path=False) - tools.files.copy(self, "*.so*", src=self.build_folder, dst=os.path.join(self.package_folder, "lib"), keep_path=False) - tools.files.copy(self, "*.dylib", src=self.build_folder, dst=os.path.join(self.package_folder, "lib"), keep_path=False) - tools.files.copy(self, "*.a", src=self.build_folder, dst=os.path.join(self.package_folder, "lib"), keep_path=False) + copy(self, "LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + cmake = CMake(self) + cmake.configure() + cmake.install() + rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) + rm(self, "*.pdb", self.package_folder, recursive=True) def package_info(self): - self.cpp_info.libs = ["Box2D"] - if self.settings.os in ("FreeBSD", "Linux"): - self.cpp_info.system_libs = ["m"] + self.cpp_info.names["cmake_find_package"] = "box2d" + self.cpp_info.names["cmake_find_package_multi"] = "box2d" + self.cpp_info.libs = ["box2d"] + if Version(self.version) >= "2.4.1" and self.options.shared: + self.cpp_info.defines.append("B2_SHARED") + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.system_libs.append("m") diff --git a/recipes/box2d/2.4.x/patches/0001-install-and-allow-shared.patch b/recipes/box2d/all/patches/0001-install-and-allow-shared.patch similarity index 100% rename from recipes/box2d/2.4.x/patches/0001-install-and-allow-shared.patch rename to recipes/box2d/all/patches/0001-install-and-allow-shared.patch diff --git a/recipes/box2d/all/test_package/CMakeLists.txt b/recipes/box2d/all/test_package/CMakeLists.txt index 22c1118333f4f..985bafbcaa4c7 100644 --- a/recipes/box2d/all/test_package/CMakeLists.txt +++ b/recipes/box2d/all/test_package/CMakeLists.txt @@ -1,7 +1,8 @@ -cmake_minimum_required(VERSION 3.4) -project(test_package) +cmake_minimum_required(VERSION 3.1) +project(test_package LANGUAGES CXX) -find_package(box2d) +find_package(box2d REQUIRED CONFIG) -add_executable(test_package test_package.cpp) -target_link_libraries(test_package box2d::box2d) +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE box2d::box2d) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) diff --git a/recipes/box2d/all/test_package/conanfile.py b/recipes/box2d/all/test_package/conanfile.py index a3a0294a68898..d1ce1a2cbc477 100644 --- a/recipes/box2d/all/test_package/conanfile.py +++ b/recipes/box2d/all/test_package/conanfile.py @@ -1,11 +1,13 @@ import os -from conan import ConanFile, tools +from conan import ConanFile +from conan.tools.build import can_run from conan.tools.cmake import CMake, cmake_layout class Box2DTestConan(ConanFile): settings = "os", "compiler", "build_type", "arch" generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" def layout(self): cmake_layout(self) @@ -19,6 +21,6 @@ def build(self): cmake.build() def test(self): - if not tools.build.cross_building(self): + if can_run(self): bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package") self.run(bin_path, env="conanrun") diff --git a/recipes/box2d/all/test_package/test_package.cpp b/recipes/box2d/all/test_package/test_package.cpp index 045f0bf063169..31112b0dcea5a 100644 --- a/recipes/box2d/all/test_package/test_package.cpp +++ b/recipes/box2d/all/test_package/test_package.cpp @@ -1,88 +1,15 @@ -#include -#include +#include "box2d/box2d.h" -#include - -// This is a simple example of building and running a simulation -// using Box2D. Here we create a large ground box and a small dynamic -// box. -// There are no graphics for this example. Box2D is meant to be used -// with your rendering engine in your game engine. -int main(int argc, char **argv) -{ - B2_NOT_USED(argc); - B2_NOT_USED(argv); - - // Define the gravity vector. +int main(void) { b2Vec2 gravity(0.0f, -10.0f); - - // Construct a world object, which will hold and simulate the rigid bodies. b2World world(gravity); - // Define the ground body. b2BodyDef groundBodyDef; groundBodyDef.position.Set(0.0f, -10.0f); - // Call the body factory which allocates memory for the ground body - // from a pool and creates the ground box shape (also from a pool). - // The body is also added to the world. - b2Body *groundBody = world.CreateBody(&groundBodyDef); - - // Define the ground box shape. + b2Body* groundBody = world.CreateBody(&groundBodyDef); b2PolygonShape groundBox; - - // The extents are the half-widths of the box. groundBox.SetAsBox(50.0f, 10.0f); - // Add the ground fixture to the ground body. - groundBody->CreateFixture(&groundBox, 0.0f); - - // Define the dynamic body. We set its position and call the body factory. - b2BodyDef bodyDef; - bodyDef.type = b2_dynamicBody; - bodyDef.position.Set(0.0f, 4.0f); - b2Body *body = world.CreateBody(&bodyDef); - - // Define another box shape for our dynamic body. - b2PolygonShape dynamicBox; - dynamicBox.SetAsBox(1.0f, 1.0f); - - // Define the dynamic body fixture. - b2FixtureDef fixtureDef; - fixtureDef.shape = &dynamicBox; - - // Set the box density to be non-zero, so it will be dynamic. - fixtureDef.density = 1.0f; - - // Override the default friction. - fixtureDef.friction = 0.3f; - - // Add the shape to the body. - body->CreateFixture(&fixtureDef); - - // Prepare for simulation. Typically we use a time step of 1/60 of a - // second (60Hz) and 10 iterations. This provides a high quality simulation - // in most game scenarios. - float32 timeStep = 1.0f / 60.0f; - int32 velocityIterations = 6; - int32 positionIterations = 2; - - // This is our little game loop. - for (int32 i = 0; i < 60; ++i) - { - // Instruct the world to perform a single step of simulation. - // It is generally best to keep the time step and iterations fixed. - world.Step(timeStep, velocityIterations, positionIterations); - - // Now print the position and angle of the body. - b2Vec2 position = body->GetPosition(); - float32 angle = body->GetAngle(); - - printf("%4.2f %4.2f %4.2f\n", position.x, position.y, angle); - } - - // When the world destructor is called, all bodies and joints are freed. This can - // create orphaned pointers, so be careful about your world management. - return 0; } diff --git a/recipes/box2d/all/test_v1_package/CMakeLists.txt b/recipes/box2d/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 458981ad5eb24..0000000000000 --- a/recipes/box2d/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.4) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() - -add_executable(test_package ../test_package/test_package.cpp) -target_link_libraries(test_package ${CONAN_LIBS}) diff --git a/recipes/box2d/all/test_v1_package/conanfile.py b/recipes/box2d/all/test_v1_package/conanfile.py deleted file mode 100644 index 133228fb54665..0000000000000 --- a/recipes/box2d/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -import os -from conans import ConanFile, CMake, tools - - -class Box2DTestConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self.settings): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/box2d/config.yml b/recipes/box2d/config.yml index 1922ed59d887d..d0f0027e07e5c 100644 --- a/recipes/box2d/config.yml +++ b/recipes/box2d/config.yml @@ -1,7 +1,7 @@ versions: - "2.3.1": + "2.4.2": folder: "all" - "2.4.0": - folder: "2.4.x" "2.4.1": - folder: "2.4.x" + folder: "all" + "2.4.0": + folder: "all" From c7a895c3769c1e184fe30991a18dc7407d9656ba Mon Sep 17 00:00:00 2001 From: Rob Boehne Date: Wed, 14 Aug 2024 07:30:40 -0500 Subject: [PATCH 341/641] (#24867) Add Zulu JDK version 21.0.4 with support for Windows ARM64 binaries. * Add Zulu JDK version 21.0.4 with support for Windows ARM64 binaries. * fix wrong sha * fix win sha --------- Co-authored-by: Ernesto de Gracia Herranz --- recipes/zulu-openjdk/all/conandata.yml | 22 ++++++++++++++++++++++ recipes/zulu-openjdk/config.yml | 2 ++ 2 files changed, 24 insertions(+) diff --git a/recipes/zulu-openjdk/all/conandata.yml b/recipes/zulu-openjdk/all/conandata.yml index 9e14b09c940cf..7333db337f861 100644 --- a/recipes/zulu-openjdk/all/conandata.yml +++ b/recipes/zulu-openjdk/all/conandata.yml @@ -1,4 +1,26 @@ sources: + "21.0.4": + "Windows": + "x86_64": + url: "https://cdn.azul.com/zulu/bin/zulu21.36.17-ca-jdk21.0.4-win_x64.zip" + sha256: "d771dad10d3f0b440c3686d1f3d2b68b320802ac97b212d87671af3f2eef8848" + "armv8": + url: "https://cdn.azul.com/zulu/bin/zulu21.36.17-ca-jdk21.0.4-win_aarch64.zip" + sha256: "9f873eccf030b1d3dc879ec1eb0ff5e11bf76002dc81c5c644c3462bf6c5146b" + "Linux": + "x86_64": + url: "https://cdn.azul.com/zulu/bin/zulu21.36.17-ca-jdk21.0.4-linux_x64.tar.gz" + sha256: "318d0c2ed3c876fb7ea2c952945cdcf7decfb5264ca51aece159e635ac53d544" + "armv8": + url: "https://cdn.azul.com/zulu/bin/zulu21.36.17-ca-jdk21.0.4-linux_aarch64.tar.gz" + sha256: "da3c2d7db33670bcf66532441aeb7f33dcf0d227c8dafe7ce35cee67f6829c4c" + "Macos": + "x86_64": + url: "https://cdn.azul.com/zulu/bin/zulu21.36.17-ca-jdk21.0.4-macosx_x64.tar.gz" + sha256: "5ce75a6a247c7029b74c4ca7cf6f60fd2b2d68ce1e8956fb448d2984316b5fea" + "armv8": + url: "https://cdn.azul.com/zulu/bin/zulu21.36.17-ca-jdk21.0.4-macosx_aarch64.tar.gz" + sha256: "bc2750f81a166cc6e9c30ae8aaba54f253a8c8ec9d8cfc04a555fe20712c7bff" "21.0.1": "Windows": "x86_64": diff --git a/recipes/zulu-openjdk/config.yml b/recipes/zulu-openjdk/config.yml index d9b1272d1abe9..39b0388632c08 100644 --- a/recipes/zulu-openjdk/config.yml +++ b/recipes/zulu-openjdk/config.yml @@ -1,4 +1,6 @@ versions: + "21.0.4": + folder: all "21.0.1": folder: all "17.0.9": From 46842bbd65643dd53d48f32014a3f5601f571148 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 14 Aug 2024 21:51:02 +0900 Subject: [PATCH 342/641] (#24913) toml11: add version 4.2.0, remove older versions --- recipes/toml11/all/conandata.yml | 27 +++------------------------ recipes/toml11/config.yml | 18 ++---------------- 2 files changed, 5 insertions(+), 40 deletions(-) diff --git a/recipes/toml11/all/conandata.yml b/recipes/toml11/all/conandata.yml index 86dbccc43bd11..20b0be495cd07 100644 --- a/recipes/toml11/all/conandata.yml +++ b/recipes/toml11/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "4.2.0": + url: "https://github.com/ToruNiina/toml11/archive/refs/tags/v4.2.0.tar.gz" + sha256: "9287971cd4a1a3992ef37e7b95a3972d1ae56410e7f8e3f300727ab1d6c79c2c" "4.1.0": url: "https://github.com/ToruNiina/toml11/archive/refs/tags/v4.1.0.tar.gz" sha256: "fb4c02cc708ae28e6fc3496514e3625e4b6738ed4ce40897710ca4d7a29de4f7" @@ -11,27 +14,3 @@ sources: "3.8.1": url: "https://github.com/ToruNiina/toml11/archive/refs/tags/v3.8.1.tar.gz" sha256: "6a3d20080ecca5ea42102c078d3415bef80920f6c4ea2258e87572876af77849" - "3.8.0": - url: "https://github.com/ToruNiina/toml11/archive/refs/tags/v3.8.0.tar.gz" - sha256: "36ce64b09f9151b57ba1970f12a591006fcae17b751ba011314c1f5518e77bc7" - "3.7.1": - url: "https://github.com/ToruNiina/toml11/archive/refs/tags/v3.7.1.tar.gz" - sha256: "afeaa9aa0416d4b6b2cd3897ca55d9317084103077b32a852247d8efd4cf6068" - "3.7.0": - url: "https://github.com/ToruNiina/toml11/archive/v3.7.0.tar.gz" - sha256: "a0b6bec77c0e418eea7d270a4437510884f2fe8f61e7ab121729624f04c4b58e" - "3.6.1": - url: "https://github.com/ToruNiina/toml11/archive/refs/tags/v3.6.1.tar.gz" - sha256: "ca4c390ed8da0d77ae6eca30e70ab0bf5cc92adfc1bc2f71a2066bc5656d8d96" - "3.6.0": - url: "https://github.com/ToruNiina/toml11/archive/v3.6.0.tar.gz" - sha256: "39e8d651db346ae8c7e3b39d6338a37232b9af3bba36ade45b241bf105c2226c" - "3.5.0": - url: "https://github.com/ToruNiina/toml11/archive/v3.5.0.tar.gz" - sha256: "fc613874c6e80dc740134a7353cf23c7f834b59cd601af84ab535ee16a53b1c3" - "3.4.0": - url: "https://github.com/ToruNiina/toml11/archive/v3.4.0.tar.gz" - sha256: "bc6d733efd9216af8c119d8ac64a805578c79cc82b813e4d1d880ca128bd154d" - "3.1.0": - url: "https://github.com/ToruNiina/toml11/archive/v3.1.0.tar.gz" - sha256: "3a118f32e5343998f37be9807c72fd11c3168fe12a5b1abfdc0f1e60de6380a4" diff --git a/recipes/toml11/config.yml b/recipes/toml11/config.yml index 111b726b75323..43dd6c9456dcb 100644 --- a/recipes/toml11/config.yml +++ b/recipes/toml11/config.yml @@ -1,4 +1,6 @@ versions: + "4.2.0": + folder: all "4.1.0": folder: all "4.0.3": @@ -7,19 +9,3 @@ versions: folder: all "3.8.1": folder: all - "3.8.0": - folder: all - "3.7.1": - folder: all - "3.7.0": - folder: all - "3.6.1": - folder: all - "3.6.0": - folder: all - "3.5.0": - folder: all - "3.4.0": - folder: all - "3.1.0": - folder: all From e99f5f6ab57ed5fe9b19b27006ab9b937cc7ed82 Mon Sep 17 00:00:00 2001 From: Uilian Ries Date: Wed, 14 Aug 2024 14:02:53 +0100 Subject: [PATCH 343/641] (#24861) [libvpx] Add version 1.14.1 and validate rule for Android * skip android shared build Signed-off-by: Uilian Ries * drop 1.9.0 add 1.14.1 Signed-off-by: Uilian Ries * Is static library when building for Android Signed-off-by: Uilian Ries --------- Signed-off-by: Uilian Ries --- recipes/libvpx/all/conandata.yml | 15 +---- recipes/libvpx/all/conanfile.py | 3 + .../patches/0001-extended-support-1.9.0.patch | 58 ------------------- .../all/patches/0002-msvc_conan_build.patch | 13 ----- recipes/libvpx/config.yml | 4 +- 5 files changed, 8 insertions(+), 85 deletions(-) delete mode 100644 recipes/libvpx/all/patches/0001-extended-support-1.9.0.patch delete mode 100644 recipes/libvpx/all/patches/0002-msvc_conan_build.patch diff --git a/recipes/libvpx/all/conandata.yml b/recipes/libvpx/all/conandata.yml index a3d16e2c79679..556d9f33bcae4 100644 --- a/recipes/libvpx/all/conandata.yml +++ b/recipes/libvpx/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.14.1": + url: "https://github.com/webmproject/libvpx/archive/refs/tags/v1.14.1.tar.gz" + sha256: "901747254d80a7937c933d03bd7c5d41e8e6c883e0665fadcb172542167c7977" "1.14.0": url: "https://github.com/webmproject/libvpx/archive/refs/tags/v1.14.0.tar.gz" sha256: "5f21d2db27071c8a46f1725928a10227ae45c5cd1cad3727e4aafbe476e321fa" @@ -11,9 +14,6 @@ sources: "1.10.0": url: "https://github.com/webmproject/libvpx/archive/refs/tags/v1.10.0.tar.gz" sha256: "85803ccbdbdd7a3b03d930187cb055f1353596969c1f92ebec2db839fa4f834a" - "1.9.0": - url: "https://github.com/webmproject/libvpx/archive/refs/tags/v1.9.0.tar.gz" - sha256: "d279c10e4b9316bf11a570ba16c3d55791e1ad6faa4404c67422eb631782c80a" patches: "1.11.0": - patch_file: "patches/0001-extended-support-1.10.0.patch" @@ -25,12 +25,3 @@ patches: patch_type: "portability" patch_description: "Add support for more compilers" patch_source: "https://github.com/webmproject/libvpx/commit/cafe7cc1f10cfea74edb2ded7c3df2d69fcf1eee" - "1.9.0": - - patch_file: "patches/0001-extended-support-1.9.0.patch" - patch_type: "portability" - patch_description: "Add support for more compilers" - patch_source: "https://github.com/webmproject/libvpx/commit/cafe7cc1f10cfea74edb2ded7c3df2d69fcf1eee" - - patch_file: "patches/0002-msvc_conan_build.patch" - patch_type: "portability" - patch_description: "Add support for more compilers" - patch_source: "https://github.com/webmproject/libvpx/commit/04086a30664d2a3e89d6a6e4e1c18f1a82c8f958" diff --git a/recipes/libvpx/all/conanfile.py b/recipes/libvpx/all/conanfile.py index 3752a16f55fa7..babc16fe80346 100644 --- a/recipes/libvpx/all/conanfile.py +++ b/recipes/libvpx/all/conanfile.py @@ -60,6 +60,9 @@ def configure(self): self.package_type = "static-library" if self.options.get_safe("shared"): self.options.rm_safe("fPIC") + if self.settings.os == "Android": + del self.options.shared + self.package_type = "static-library" def layout(self): basic_layout(self, src_folder="src") diff --git a/recipes/libvpx/all/patches/0001-extended-support-1.9.0.patch b/recipes/libvpx/all/patches/0001-extended-support-1.9.0.patch deleted file mode 100644 index 7e10a765c149c..0000000000000 --- a/recipes/libvpx/all/patches/0001-extended-support-1.9.0.patch +++ /dev/null @@ -1,58 +0,0 @@ ---- a/build/make/gen_msvs_sln.sh -+++ b/build/make/gen_msvs_sln.sh -@@ -219,6 +219,7 @@ for opt in "$@"; do - 14) vs_year=2015 ;; - 15) vs_year=2017 ;; - 16) vs_year=2019 ;; -+ 17) vs_year=2022 ;; - *) die Unrecognized Visual Studio Version in $opt ;; - esac - ;; -@@ -232,7 +233,7 @@ done - outfile=${outfile:-/dev/stdout} - mkoutfile=${mkoutfile:-/dev/stdout} - case "${vs_ver}" in -- 1[4-6]) -+ 1[4-7]) - # VS has used Format Version 12.00 continuously since vs11. - sln_vers="12.00" - sln_vers_str="Visual Studio ${vs_year}" ---- a/build/make/gen_msvs_vcxproj.sh -+++ b/build/make/gen_msvs_vcxproj.sh -@@ -168,7 +168,7 @@ for opt in "$@"; do - --ver=*) - vs_ver="$optval" - case "$optval" in -- 1[4-6]) -+ 1[4-7]) - ;; - *) die Unrecognized Visual Studio Version in $opt - ;; -@@ -342,6 +342,9 @@ generate_vcxproj() { - if [ "$vs_ver" = "16" ]; then - tag_content PlatformToolset v142 - fi -+ if [ "$vs_ver" = "17" ]; then -+ tag_content PlatformToolset v143 -+ fi - tag_content CharacterSet Unicode - if [ "$config" = "Release" ]; then - tag_content WholeProgramOptimization true ---- a/configure -+++ b/configure -@@ -138,6 +138,7 @@ all_platforms="${all_platforms} x86-win32-gcc" - all_platforms="${all_platforms} x86-win32-vs14" - all_platforms="${all_platforms} x86-win32-vs15" - all_platforms="${all_platforms} x86-win32-vs16" -+all_platforms="${all_platforms} x86-win32-vs17" - all_platforms="${all_platforms} x86_64-android-gcc" - all_platforms="${all_platforms} x86_64-darwin9-gcc" - all_platforms="${all_platforms} x86_64-darwin10-gcc" -@@ -158,6 +159,7 @@ all_platforms="${all_platforms} x86_64-win64-gcc" - all_platforms="${all_platforms} x86_64-win64-vs14" - all_platforms="${all_platforms} x86_64-win64-vs15" - all_platforms="${all_platforms} x86_64-win64-vs16" -+all_platforms="${all_platforms} x86_64-win64-vs17" - all_platforms="${all_platforms} generic-gnu" - - # all_targets is a list of all targets that can be configured diff --git a/recipes/libvpx/all/patches/0002-msvc_conan_build.patch b/recipes/libvpx/all/patches/0002-msvc_conan_build.patch deleted file mode 100644 index 28885c1c83394..0000000000000 --- a/recipes/libvpx/all/patches/0002-msvc_conan_build.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/build/make/msvs_common.sh b/build/make/msvs_common.sh -index 27ddf7f..da462ec 100644 ---- a/build/make/msvs_common.sh -+++ b/build/make/msvs_common.sh -@@ -9,7 +9,7 @@ - ## be found in the AUTHORS file in the root of the source tree. - ## - --if [ "$(uname -o 2>/dev/null)" = "Cygwin" ] \ -+if [ "$(uname -o 2>/dev/null)" = "Cygwin" ] || [ "$(uname -o 2>/dev/null)" = "Msys" ]\ - && cygpath --help >/dev/null 2>&1; then - FIXPATH='cygpath -m' - else diff --git a/recipes/libvpx/config.yml b/recipes/libvpx/config.yml index e7a6e4fc3010b..33ef774be6ba3 100644 --- a/recipes/libvpx/config.yml +++ b/recipes/libvpx/config.yml @@ -1,4 +1,6 @@ versions: + "1.14.1": + folder: all "1.14.0": folder: all "1.13.1": @@ -7,5 +9,3 @@ versions: folder: all "1.10.0": folder: all - "1.9.0": - folder: all From f96d0c9479f04f04b1c0f04746e4681eba33baf0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Frederico=20Br=C3=BCckelmann?= Date: Wed, 14 Aug 2024 15:31:01 +0200 Subject: [PATCH 344/641] (#24916) entt: add version 3.13.2 --- recipes/entt/3.x.x/conandata.yml | 6 +++--- recipes/entt/config.yml | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/recipes/entt/3.x.x/conandata.yml b/recipes/entt/3.x.x/conandata.yml index 47adab23698d5..a45ca1a3e9ade 100644 --- a/recipes/entt/3.x.x/conandata.yml +++ b/recipes/entt/3.x.x/conandata.yml @@ -1,7 +1,7 @@ sources: - "3.13.0": - url: "https://github.com/skypjack/entt/archive/refs/tags/v3.13.0.tar.gz" - sha256: "dc0ab3ee136a1fe7f92df8898ff215dff1fe4d05d81b60144c7c0468446540a9" + "3.13.2": + url: "https://github.com/skypjack/entt/archive/refs/tags/v3.13.2.tar.gz" + sha256: "cb556aa543d01177b62de41321759e02d96078948dda72705b3d7fe68af88489" "3.12.2": url: "https://github.com/skypjack/entt/archive/refs/tags/v3.12.2.tar.gz" sha256: "3F3E43988218DAECC0530CCAF45E960F7F7416E1FCF2C69799160C18B6A2FEE3" diff --git a/recipes/entt/config.yml b/recipes/entt/config.yml index 10a22d0efa93f..c49da489cfd20 100644 --- a/recipes/entt/config.yml +++ b/recipes/entt/config.yml @@ -1,5 +1,5 @@ versions: - "3.13.0": + "3.13.2": folder: 3.x.x "3.12.2": folder: 3.x.x From 59ecee3df9ba81b8fd98fc474c145cc37c3c2abf Mon Sep 17 00:00:00 2001 From: Uilian Ries Date: Wed, 14 Aug 2024 15:42:40 +0200 Subject: [PATCH 345/641] (#24879) [ffmpeg] Add option for xlib * Add option for xlib Signed-off-by: Uilian Ries * Fix xcb component dependency Signed-off-by: Uilian Ries --------- Signed-off-by: Uilian Ries --- recipes/ffmpeg/all/conanfile.py | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/recipes/ffmpeg/all/conanfile.py b/recipes/ffmpeg/all/conanfile.py index 678d74eaa8856..7a47ffbf6950f 100644 --- a/recipes/ffmpeg/all/conanfile.py +++ b/recipes/ffmpeg/all/conanfile.py @@ -77,6 +77,7 @@ class FFMpegConan(ConanFile): "with_libdrm": [True, False], "with_jni": [True, False], "with_mediacodec": [True, False], + "with_xlib": [True, False], "disable_everything": [True, False], "disable_all_encoders": [True, False], "disable_encoders": [None, "ANY"], @@ -160,6 +161,7 @@ class FFMpegConan(ConanFile): "with_libdrm": False, "with_jni": False, "with_mediacodec": False, + "with_xlib": True, "disable_everything": False, "disable_all_encoders": False, "disable_encoders": None, @@ -232,6 +234,7 @@ def _dependencies(self): "with_libaom": ["avcodec"], "with_libdav1d": ["avcodec"], "with_mediacodec": ["with_jni"], + "with_xlib": ["avdevice"], } @property @@ -251,6 +254,7 @@ def config_options(self): del self.options.with_xcb del self.options.with_libalsa del self.options.with_pulse + del self.options.with_xlib del self.options.with_libdrm if self.settings.os != "Macos": del self.options.with_appkit @@ -314,7 +318,7 @@ def requirements(self): self.requires("openssl/[>=1.1 <4]") if self.options.get_safe("with_libalsa"): self.requires("libalsa/1.2.10") - if self.options.get_safe("with_xcb"): + if self.options.get_safe("with_xcb") or self.options.get_safe("with_xlib"): self.requires("xorg/system") if self.options.get_safe("with_pulse"): self.requires("pulseaudio/14.2") @@ -524,6 +528,7 @@ def opt_append_disable_if_set(args, what, v): opt_enable_disable("libdav1d", self.options.get_safe("with_libdav1d")), opt_enable_disable("jni", self.options.get_safe("with_jni")), opt_enable_disable("mediacodec", self.options.get_safe("with_mediacodec")), + opt_enable_disable("xlib", self.options.get_safe("with_xlib")), "--disable-cuda", # FIXME: CUDA support "--disable-cuvid", # FIXME: CUVID support # Licenses @@ -839,6 +844,8 @@ def _add_component(name, dependencies): avdevice.requires.append("libalsa::libalsa") if self.options.get_safe("with_xcb"): avdevice.requires.extend(["xorg::xcb", "xorg::xcb-shm", "xorg::xcb-xfixes", "xorg::xcb-shape", "xorg::xv", "xorg::xext"]) + if self.options.get_safe("with_xlib"): + avdevice.requires.extend(["xorg::x11", "xorg::xext", "xorg::xv"]) if self.options.get_safe("with_pulse"): avdevice.requires.append("pulseaudio::pulseaudio") if self.options.get_safe("with_appkit"): @@ -912,8 +919,8 @@ def _add_component(name, dependencies): avutil.requires.append("libdrm::libdrm_libdrm") if self.options.get_safe("with_vaapi"): avutil.requires.append("vaapi::vaapi") - if self.options.get_safe("with_xcb"): - avutil.requires.append("xorg::x11") + if self.options.get_safe("with_xcb"): + avutil.requires.append("xorg::x11") if self.options.get_safe("with_vdpau"): avutil.requires.append("vdpau::vdpau") From dd6246f5d5a5fba4cbf7836af9becf3d60b0390e Mon Sep 17 00:00:00 2001 From: Arnaud Mathias Date: Wed, 14 Aug 2024 22:14:33 +0200 Subject: [PATCH 346/641] (#24943) thrift: Remove NOMINMAX definition Since thrift/0.12.0 NOMINMAX is not a requirement anymore (THRIFT-4680) Remove NOMINMAX define as 0.14.1 is the lowest version supported --- recipes/thrift/all/conanfile.py | 1 - 1 file changed, 1 deletion(-) diff --git a/recipes/thrift/all/conanfile.py b/recipes/thrift/all/conanfile.py index 4239d05bfd5e2..97debbded3cd9 100644 --- a/recipes/thrift/all/conanfile.py +++ b/recipes/thrift/all/conanfile.py @@ -175,7 +175,6 @@ def package_info(self): self.cpp_info.components["libthrift"].set_property("pkg_config_name", "thrift") self.cpp_info.components["libthrift"].libs = [f"thrift{libsuffix}"] if self.settings.os == "Windows": - self.cpp_info.components["libthrift"].defines.append("NOMINMAX") if Version(self.version) >= "0.15.0": self.cpp_info.components["libthrift"].system_libs.append("shlwapi") elif self.settings.os in ["Linux", "FreeBSD"]: From 6657444388ea3973bd13b1ec3a1515f5ad7ca751 Mon Sep 17 00:00:00 2001 From: Roberto Rossini <71787608+robomics@users.noreply.github.com> Date: Fri, 16 Aug 2024 10:31:59 +0200 Subject: [PATCH 347/641] (#24938) libsystemd: add v255.10 --- recipes/libsystemd/all/conandata.yml | 7 +++++++ recipes/libsystemd/config.yml | 2 ++ 2 files changed, 9 insertions(+) diff --git a/recipes/libsystemd/all/conandata.yml b/recipes/libsystemd/all/conandata.yml index 28098a76fd075..ebdc4097aca58 100644 --- a/recipes/libsystemd/all/conandata.yml +++ b/recipes/libsystemd/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "255.10": + url: "https://github.com/systemd/systemd-stable/archive/v255.10.tar.gz" + sha256: "1747b848e68223597abb90ca2758b25230ac4c19e252e9ec77c8518750f621ed" "255.7": url: "https://github.com/systemd/systemd-stable/archive/v255.7.tar.gz" sha256: "da29f2490c192ca743511098b1d15e385b1b5e7744979661dc30514c1ac61f0e" @@ -18,6 +21,10 @@ sources: url: "https://github.com/systemd/systemd-stable/archive/v253.6.tar.gz" sha256: "a0aebcfaa2e001a4d846691631d1722c4cfa1a175e4ea62db6edca0ea3cf1e3e" patches: + "255.10": + - patch_file: "patches/251.18/0001-Remove-dependency-from-coreutils.patch" + patch_description: "allow to build in environments without 'realpath --relative-to' by replacing it with conan-specific build variable" + patch_type: "conan" "255.7": - patch_file: "patches/251.18/0001-Remove-dependency-from-coreutils.patch" patch_description: "allow to build in environments without 'realpath --relative-to' by replacing it with conan-specific build variable" diff --git a/recipes/libsystemd/config.yml b/recipes/libsystemd/config.yml index 9218790a9e1ee..f9ba7f3698786 100644 --- a/recipes/libsystemd/config.yml +++ b/recipes/libsystemd/config.yml @@ -1,4 +1,6 @@ versions: + "255.10": + folder: all "255.7": folder: all "255.2": From d614ded7119bdf1a47a91e720eea686043d5e8b6 Mon Sep 17 00:00:00 2001 From: Kevin Perry Date: Fri, 16 Aug 2024 09:31:45 +0000 Subject: [PATCH 348/641] (#24941) fast-cdr: add version 2.2.3 --- recipes/fast-cdr/all/conandata.yml | 3 +++ recipes/fast-cdr/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/fast-cdr/all/conandata.yml b/recipes/fast-cdr/all/conandata.yml index f1fb4fa51912e..0e16ebb10baa2 100644 --- a/recipes/fast-cdr/all/conandata.yml +++ b/recipes/fast-cdr/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.2.3": + url: "https://github.com/eProsima/Fast-CDR/archive/v2.2.3.tar.gz" + sha256: "2501ef0930727d3b3ac1819672a6df8631a58fbcf7f005947046c2de46e8da69" "2.2.0": url: "https://github.com/eProsima/Fast-CDR/archive/v2.2.0.tar.gz" sha256: "8a75ee3aed59f495e95208050920d2c2146df92f073809505a3bd29011c21f20" diff --git a/recipes/fast-cdr/config.yml b/recipes/fast-cdr/config.yml index c6c63a5158e6b..f92947a12e733 100644 --- a/recipes/fast-cdr/config.yml +++ b/recipes/fast-cdr/config.yml @@ -1,4 +1,6 @@ versions: + "2.2.3": + folder: all "2.2.0": folder: all "2.1.0": From ff13282e017e40823d264ef8503e23d65e1a76bd Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 16 Aug 2024 18:50:26 +0900 Subject: [PATCH 349/641] (#24942) catch2: add version 3.7.0 --- recipes/catch2/3.x.x/conandata.yml | 3 +++ recipes/catch2/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/catch2/3.x.x/conandata.yml b/recipes/catch2/3.x.x/conandata.yml index bd54e7086e964..f13e63f80f8cb 100644 --- a/recipes/catch2/3.x.x/conandata.yml +++ b/recipes/catch2/3.x.x/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.7.0": + url: "https://github.com/catchorg/Catch2/archive/v3.7.0.tar.gz" + sha256: "5b10cd536fa3818112a82820ce0787bd9f2a906c618429e7c4dea639983c8e88" "3.6.0": url: "https://github.com/catchorg/Catch2/archive/v3.6.0.tar.gz" sha256: "485932259a75c7c6b72d4b874242c489ea5155d17efa345eb8cc72159f49f356" diff --git a/recipes/catch2/config.yml b/recipes/catch2/config.yml index 51d1bba3d03b7..a1edebfb1f349 100644 --- a/recipes/catch2/config.yml +++ b/recipes/catch2/config.yml @@ -1,4 +1,6 @@ versions: + "3.7.0": + folder: 3.x.x "3.6.0": folder: 3.x.x "3.5.4": From 80dbe0713a325579f654e95992157e6d5ccd02a2 Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 16 Aug 2024 19:11:42 +0900 Subject: [PATCH 350/641] (#24945) simdutf: add version 5.3.7 * simdutf: add version 5.3.6 * update 5.3.7 --- recipes/simdutf/all/conandata.yml | 3 +++ recipes/simdutf/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/simdutf/all/conandata.yml b/recipes/simdutf/all/conandata.yml index 084113d98a59d..bf67e12fde31a 100644 --- a/recipes/simdutf/all/conandata.yml +++ b/recipes/simdutf/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "5.3.7": + url: "https://github.com/simdutf/simdutf/archive/v5.3.7.tar.gz" + sha256: "731fb29c8c0b05c77b0a29dc37ab8eabe09533f000864a7c55e1ed2e1d33d1e7" "5.3.5": url: "https://github.com/simdutf/simdutf/archive/v5.3.5.tar.gz" sha256: "e6706d7fc68f6e1541414dcf45abe6190d591505d08bff3cc53f55642568f28d" diff --git a/recipes/simdutf/config.yml b/recipes/simdutf/config.yml index 4c0c528fd3c5b..0c503d9150b13 100644 --- a/recipes/simdutf/config.yml +++ b/recipes/simdutf/config.yml @@ -1,4 +1,6 @@ versions: + "5.3.7": + folder: all "5.3.5": folder: all "5.3.2": From ab3333f3ba1baf38c3a11fceff73d1db385bd317 Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 16 Aug 2024 19:30:46 +0900 Subject: [PATCH 351/641] (#24947) mini: add version 0.9.16 --- recipes/mini/all/conandata.yml | 3 +++ recipes/mini/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/mini/all/conandata.yml b/recipes/mini/all/conandata.yml index da5a086ee7d80..5c54e75793e6e 100644 --- a/recipes/mini/all/conandata.yml +++ b/recipes/mini/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.9.16": + url: "https://github.com/metayeti/mINI/archive/refs/tags/0.9.16.tar.gz" + sha256: "ce20e12b1e3bcd79d6eaa47bf8d4bb319e843dfa3585e069e73d581bdf0a81ec" "0.9.15": url: "https://github.com/metayeti/mINI/archive/refs/tags/0.9.15.tar.gz" sha256: "241e105ab074827ab8b40582aa7b04c6191f84b244603969965c0874ad4f942c" diff --git a/recipes/mini/config.yml b/recipes/mini/config.yml index 0382c3dda0836..8e233bb2eb4ca 100644 --- a/recipes/mini/config.yml +++ b/recipes/mini/config.yml @@ -1,3 +1,5 @@ versions: + "0.9.16": + folder: all "0.9.15": folder: all From 9a4b5a0916a7ba5037e7dc83ff1a78aff20a898f Mon Sep 17 00:00:00 2001 From: Uilian Ries Date: Mon, 19 Aug 2024 09:42:29 +0200 Subject: [PATCH 352/641] (#24566) [ffmpeg] Fix Android build by disabling dependencies * Disable libfdk_aac when building Android Signed-off-by: Uilian Ries * Remove libvpx validate Signed-off-by: Uilian Ries * Fix link Signed-off-by: Uilian Ries * bump libvpx version Signed-off-by: Uilian Ries --------- Signed-off-by: Uilian Ries --- recipes/ffmpeg/all/conanfile.py | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/recipes/ffmpeg/all/conanfile.py b/recipes/ffmpeg/all/conanfile.py index 7a47ffbf6950f..3867ed6aa0b52 100644 --- a/recipes/ffmpeg/all/conanfile.py +++ b/recipes/ffmpeg/all/conanfile.py @@ -269,6 +269,8 @@ def config_options(self): del self.options.with_mediacodec if not self._version_supports_libsvtav1: self.options.rm_safe("with_libsvtav1") + if self.settings.os == "Android": + del self.options.with_libfdk_aac def configure(self): if self.options.shared: @@ -293,7 +295,7 @@ def requirements(self): if self.options.with_openjpeg: self.requires("openjpeg/2.5.2") if self.options.with_openh264: - self.requires("openh264/2.3.1") + self.requires("openh264/2.4.1") if self.options.with_vorbis: self.requires("vorbis/1.3.7") if self.options.with_opus: @@ -303,14 +305,14 @@ def requirements(self): if self.options.with_sdl: self.requires("sdl/2.28.5") if self.options.with_libx264: - self.requires("libx264/cci.20220602") + self.requires("libx264/cci.20240224") if self.options.with_libx265: self.requires("libx265/3.4") if self.options.with_libvpx: - self.requires("libvpx/1.13.1") + self.requires("libvpx/1.14.1") if self.options.with_libmp3lame: self.requires("libmp3lame/3.100") - if self.options.with_libfdk_aac: + if self.options.get_safe("with_libfdk_aac"): self.requires("libfdk_aac/2.0.3") if self.options.with_libwebp: self.requires("libwebp/1.3.2") @@ -329,11 +331,11 @@ def requirements(self): 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") + self.requires("libsvtav1/2.1.0") if self.options.with_libaom: self.requires("libaom-av1/3.6.1") if self.options.get_safe("with_libdav1d"): - self.requires("dav1d/1.2.1") + self.requires("dav1d/1.4.3") if self.options.get_safe("with_libdrm"): self.requires("libdrm/2.4.119") @@ -505,7 +507,7 @@ def opt_append_disable_if_set(args, what, v): opt_enable_disable("libx265", self.options.with_libx265), opt_enable_disable("libvpx", self.options.with_libvpx), opt_enable_disable("libmp3lame", self.options.with_libmp3lame), - opt_enable_disable("libfdk-aac", self.options.with_libfdk_aac), + opt_enable_disable("libfdk-aac", self.options.get_safe("with_libfdk_aac")), opt_enable_disable("libwebp", self.options.with_libwebp), opt_enable_disable("libaom", self.options.with_libaom), opt_enable_disable("openssl", self.options.with_ssl == "openssl"), @@ -532,7 +534,7 @@ def opt_append_disable_if_set(args, what, v): "--disable-cuda", # FIXME: CUDA support "--disable-cuvid", # FIXME: CUVID support # Licenses - opt_enable_disable("nonfree", self.options.with_libfdk_aac or (self.options.with_ssl and ( + opt_enable_disable("nonfree", self.options.get_safe("with_libfdk_aac") or (self.options.with_ssl and ( self.options.with_libx264 or self.options.with_libx265 or self.options.postproc))), opt_enable_disable("gpl", self.options.with_libx264 or self.options.with_libx265 or self.options.postproc) ] @@ -854,6 +856,8 @@ def _add_component(name, dependencies): avdevice.frameworks.append("AVFoundation") if self.options.get_safe("with_audiotoolbox"): avdevice.frameworks.append("CoreAudio") + if self.settings.os == "Android" and not self.options.shared: + avdevice.system_libs.extend(["android", "camera2ndk", "mediandk"]) if self.options.avcodec: if self.options.with_zlib: @@ -878,7 +882,7 @@ def _add_component(name, dependencies): avcodec.requires.append("libvpx::libvpx") if self.options.with_libmp3lame: avcodec.requires.append("libmp3lame::libmp3lame") - if self.options.with_libfdk_aac: + if self.options.get_safe("with_libfdk_aac"): avcodec.requires.append("libfdk_aac::libfdk_aac") if self.options.with_libwebp: avcodec.requires.append("libwebp::libwebp") From dbf49e8a14e69df49a62ed7b97bfc7384a3aa77d Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 19 Aug 2024 17:32:22 +0900 Subject: [PATCH 353/641] (#24956) pybind11: add version 2.13.4 --- recipes/pybind11/all/conandata.yml | 3 +++ recipes/pybind11/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/pybind11/all/conandata.yml b/recipes/pybind11/all/conandata.yml index cdd4a4e6a9f13..6a19d95c4121a 100644 --- a/recipes/pybind11/all/conandata.yml +++ b/recipes/pybind11/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.13.4": + url: "https://github.com/pybind/pybind11/archive/v2.13.4.tar.gz" + sha256: "efc901aa0aab439a3fea6efeaf930b5a349fb06394bf845c64ce15a9cf8f0240" "2.13.2": url: "https://github.com/pybind/pybind11/archive/v2.13.2.tar.gz" sha256: "50eebef369d28f07ce1fe1797f38149e5928817be8e539239f2aadfd95b227f3" diff --git a/recipes/pybind11/config.yml b/recipes/pybind11/config.yml index 12252f6d805d2..5dea5c3b33816 100644 --- a/recipes/pybind11/config.yml +++ b/recipes/pybind11/config.yml @@ -1,4 +1,6 @@ versions: + "2.13.4": + folder: all "2.13.2": folder: all "2.13.1": From 64bf3d5882e77624003f618f34a4006bf27f0842 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Mon, 19 Aug 2024 10:43:31 +0200 Subject: [PATCH 354/641] (#20725) podofo/all: bump deps, use version range for OpenSSL * podofo/all: bump deps, use version range for OpenSSL * bump libpng & freetype * bump fontconfig * use version range for libpng * limit to c++14 for version<0.9.7 --- recipes/podofo/all/conanfile.py | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/recipes/podofo/all/conanfile.py b/recipes/podofo/all/conanfile.py index 87fbb60fe26b7..365ade4380f35 100644 --- a/recipes/podofo/all/conanfile.py +++ b/recipes/podofo/all/conanfile.py @@ -1,4 +1,4 @@ -from conan import ConanFile +from conan import ConanFile, conan_version from conan.tools.build import check_min_cppstd, valid_min_cppstd from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rmdir @@ -62,26 +62,33 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("freetype/2.13.0") + self.requires("freetype/2.13.2") self.requires("zlib/[>=1.2.11 <2]") if self.settings.os != "Windows": - self.requires("fontconfig/2.14.2") + self.requires("fontconfig/2.15.0") if self.options.with_openssl: - self.requires("openssl/1.1.1u") + self.requires("openssl/[>=1.1 <4]") if self.options.with_libidn: self.requires("libidn/1.36") if self.options.with_jpeg: self.requires("libjpeg/9e") if self.options.with_tiff: - self.requires("libtiff/4.5.1") + self.requires("libtiff/4.6.0") if self.options.with_png: - self.requires("libpng/1.6.40") + self.requires("libpng/[>=1.6 <2]") if self.options.with_unistring: self.requires("libunistring/0.9.10") def validate(self): if self.info.settings.compiler.get_safe("cppstd") and Version(self.version) >= "0.9.7": check_min_cppstd(self, 11) + if conan_version.major >= 2 and Version(self.version) < "0.9.7": + # 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 + import sys + check_max_cppstd = getattr(sys.modules['conan.tools.build'], 'check_max_cppstd') + # INFO: error: no template named 'auto_ptr' in namespace 'std'. Removed in C++17. + check_max_cppstd(self, 14) def source(self): get(self, **self.conan_data["sources"][self.version], From 31d2022de0c37dff5d7d7f3365cd6c10c2718c2c Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Mon, 19 Aug 2024 10:01:33 +0100 Subject: [PATCH 355/641] (#24953) [bot] Update authorized users list (2024-08-15) Co-authored-by: conan-center-bot --- .c3i/authorized_users.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.c3i/authorized_users.yml b/.c3i/authorized_users.yml index c49517593935d..12e1d64f21fe2 100644 --- a/.c3i/authorized_users.yml +++ b/.c3i/authorized_users.yml @@ -1401,3 +1401,8 @@ authorized_users: - philipp-m-w - nine - OMGtechy +- sabapathi20 +- seekstar +- dcoburnMEDITECH +- mattangus +- arnaudmathias From c171f826eaaf6f40e6a44b192401237db6b31c6a Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 19 Aug 2024 18:31:47 +0900 Subject: [PATCH 356/641] (#24839) glaze: add new version 3.3.1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * glaze: add version 3.2.0 * Update recipes/glaze/all/conandata.yml * update tarball * Revert "update tarball" This reverts commit 7216169fd82044d93ead96c196594cce15a63dc4. * Revert "update tarball" This reverts commit 7216169fd82044d93ead96c196594cce15a63dc4. * update tarball * revert unnecessary changes * update 3.2.1 * fix url of tarball * update 3.2.2 * update 3.2.3 * update 3.2.4 * update 3.2.5 * update 3.3.1 --------- Co-authored-by: Abril Rincón Blanco --- recipes/glaze/all/conandata.yml | 3 +++ recipes/glaze/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/glaze/all/conandata.yml b/recipes/glaze/all/conandata.yml index 37dae29f62f35..16c9e4be34193 100644 --- a/recipes/glaze/all/conandata.yml +++ b/recipes/glaze/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.3.1": + url: "https://github.com/stephenberry/glaze/archive/v3.3.1.tar.gz" + sha256: "edb16f7b75bf9a7c86a704c006a9859474e1d49467f8ddeabdc8c3a3d5a982a2" "3.1.9": url: "https://github.com/stephenberry/glaze/archive/v3.1.9.tar.gz" sha256: "adfce5acc9d3d88525c006a525e8f21d2a4bb628b5f7022720625f052d88a73d" diff --git a/recipes/glaze/config.yml b/recipes/glaze/config.yml index d002391c927d4..8d3814ab96f92 100644 --- a/recipes/glaze/config.yml +++ b/recipes/glaze/config.yml @@ -1,4 +1,6 @@ versions: + "3.3.1": + folder: all "3.1.9": folder: all "3.1.7": From 05d1ec8a0c2fcb6658c9439c45505e71fba82af3 Mon Sep 17 00:00:00 2001 From: Daniel Date: Mon, 19 Aug 2024 11:42:09 +0200 Subject: [PATCH 357/641] (#24965) [aws refactor] aws-sdk-cpp: Fix dependencies for 1.9.234 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * [aws refactor] aws-sdk-cpp: Review dependencies, add new version and remove old one * patches * fix * fix * fix * fix * [aws refactor] aws-sdk-cpp: Fix dependencies for 1.9.234 --------- Co-authored-by: Abril Rincón Blanco --- recipes/aws-sdk-cpp/all/conandata.yml | 18 ----- recipes/aws-sdk-cpp/all/conanfile.py | 67 +++++++++---------- .../1.8.130-0001-disable-sort-links.patch | 13 ---- ...chive-directory-to-library-directory.patch | 17 ----- ...le-cmake-install-rpath-use-link-path.patch | 13 ---- .../1.8.130-0005-aws-plugin-conf.patch | 44 ------------ .../all/patches/1.8.130-0006-issue-1816.patch | 20 ------ .../1.9.100-0001-disable-sort-links.patch | 13 ---- .../all/patches/1.9.100-0003-issue-1816.patch | 20 ------ recipes/aws-sdk-cpp/config.yml | 4 -- 10 files changed, 30 insertions(+), 199 deletions(-) delete mode 100644 recipes/aws-sdk-cpp/all/patches/1.8.130-0001-disable-sort-links.patch delete mode 100644 recipes/aws-sdk-cpp/all/patches/1.8.130-0002-force-archive-directory-to-library-directory.patch delete mode 100644 recipes/aws-sdk-cpp/all/patches/1.8.130-0003-disable-cmake-install-rpath-use-link-path.patch delete mode 100644 recipes/aws-sdk-cpp/all/patches/1.8.130-0005-aws-plugin-conf.patch delete mode 100644 recipes/aws-sdk-cpp/all/patches/1.8.130-0006-issue-1816.patch delete mode 100644 recipes/aws-sdk-cpp/all/patches/1.9.100-0001-disable-sort-links.patch delete mode 100644 recipes/aws-sdk-cpp/all/patches/1.9.100-0003-issue-1816.patch diff --git a/recipes/aws-sdk-cpp/all/conandata.yml b/recipes/aws-sdk-cpp/all/conandata.yml index 5818aef791db0..e0488a5541cdd 100644 --- a/recipes/aws-sdk-cpp/all/conandata.yml +++ b/recipes/aws-sdk-cpp/all/conandata.yml @@ -2,27 +2,9 @@ sources: "1.9.234": url: "https://github.com/aws/aws-sdk-cpp/archive/1.9.234.tar.gz" sha256: "52e36cf568fe0b2a0fc82a9333c0b31ba843db16670f4ccbb7b9fd142f1b00a5" - "1.9.100": - url: "https://github.com/aws/aws-sdk-cpp/archive/1.9.100.tar.gz" - sha256: "f0930d14ec92b9ddf1e3c966d9a3fe70d2a01b80e79e3e76da78d108bb81e5c4" - "1.8.130": - url: "https://github.com/aws/aws-sdk-cpp/archive/1.8.130.tar.gz" - sha256: "5dd09baa28d3f6f4fb03fbba1a4269724d79bcca3d47752cd3e15caf97276bda" patches: "1.9.234": - patch_file: patches/1.9.234-0001-issue-1816.patch - patch_file: patches/1.9.234-0002-disable-sort-links.patch - patch_file: patches/1.9.100-0002-aws-plugin-conf.patch - patch_file: patches/1.8.130-0004-improve-pulseaudio-detection.patch - "1.9.100": - - patch_file: patches/1.9.100-0001-disable-sort-links.patch - - patch_file: patches/1.9.100-0002-aws-plugin-conf.patch - - patch_file: patches/1.9.100-0003-issue-1816.patch - - patch_file: patches/1.8.130-0004-improve-pulseaudio-detection.patch - "1.8.130": - - patch_file: patches/1.8.130-0001-disable-sort-links.patch - - patch_file: patches/1.8.130-0002-force-archive-directory-to-library-directory.patch - - patch_file: patches/1.8.130-0003-disable-cmake-install-rpath-use-link-path.patch - - patch_file: patches/1.8.130-0004-improve-pulseaudio-detection.patch - - patch_file: patches/1.8.130-0005-aws-plugin-conf.patch - - patch_file: patches/1.8.130-0006-issue-1816.patch diff --git a/recipes/aws-sdk-cpp/all/conanfile.py b/recipes/aws-sdk-cpp/all/conanfile.py index 678d3e32eb8c9..42238519d1e08 100644 --- a/recipes/aws-sdk-cpp/all/conanfile.py +++ b/recipes/aws-sdk-cpp/all/conanfile.py @@ -320,18 +320,12 @@ def _internal_requirements(self): "transfer": ["s3"], } - @property - def _use_aws_crt_cpp(self): - return Version(self.version) >= "1.9" - def export_sources(self): export_conandata_patches(self) def config_options(self): if self.settings.os == "Windows": del self.options.fPIC - if Version(self.version) < "1.9": - self.options.rm_safe("s3-crt") def configure(self): if self.options.shared: @@ -341,14 +335,22 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("aws-c-common/0.8.2") - self.requires("aws-c-event-stream/0.2.7") - self.requires("aws-checksums/0.1.13") - if self._use_aws_crt_cpp: - self.requires("aws-c-cal/0.5.13") - self.requires("aws-c-http/0.6.13") - self.requires("aws-c-io/0.10.20") - self.requires("aws-crt-cpp/0.17.23", transitive_headers=True) + if self.version == "1.11.352": + self.requires("aws-c-common/0.9.15") + self.requires("aws-c-event-stream/0.4.2") + self.requires("aws-checksums/0.1.18") + self.requires("aws-c-cal/0.6.14") + self.requires("aws-c-http/0.8.1") + self.requires("aws-c-io/0.14.7") + self.requires("aws-crt-cpp/0.26.9", transitive_headers=True) + if self.version == "1.9.234": + self.requires("aws-c-common/0.6.11") + self.requires("aws-c-event-stream/0.2.7") + self.requires("aws-checksums/0.1.12") + self.requires("aws-c-cal/0.5.12") + self.requires("aws-c-http/0.6.7") + self.requires("aws-c-io/0.10.9") + self.requires("aws-crt-cpp/0.17.1a", transitive_headers=True) if self.settings.os != "Windows": self.requires("openssl/[>=1.1 <4]") self.requires("libcurl/[>=7.78.0 <9]") @@ -364,17 +366,8 @@ def validate(self): "Doesn't support gcc5 / shared. " "See https://github.com/conan-io/conan-center-index/pull/4401#issuecomment-802631744" ) - if (Version(self.version) < "1.9.234" - and self.settings.compiler == "gcc" - and Version(self.settings.compiler.version) >= "11.0" - and self.settings.build_type == "Release"): - raise ConanInvalidConfiguration( - "Versions prior to 1.9.234 don't support release builds on >= gcc 11 " - "See https://github.com/aws/aws-sdk-cpp/issues/1505" - ) - if self._use_aws_crt_cpp: - if is_msvc(self) and is_msvc_static_runtime(self): - raise ConanInvalidConfiguration("Static runtime is not working for more recent releases") + if is_msvc(self) and is_msvc_static_runtime(self): + raise ConanInvalidConfiguration("Static runtime is not working for more recent releases") else: if self.settings.os == "Macos" and self.settings.arch == "armv8": raise ConanInvalidConfiguration( @@ -410,7 +403,7 @@ def generate(self): tc.cache_variables["ENABLE_OPENSSL_ENCRYPTION"] = True tc.cache_variables["MINIMIZE_SIZE"] = self.options.min_size - if is_msvc(self) and not self._use_aws_crt_cpp: + if is_msvc(self): tc.cache_variables["FORCE_SHARED_CRT"] = not is_msvc_static_runtime(self) if cross_building(self): @@ -429,10 +422,11 @@ def generate(self): def _patch_sources(self): apply_conandata_patches(self) # Disable warnings as errors - replace_in_file( - self, os.path.join(self.source_folder, "cmake", "compiler_settings.cmake"), - 'list(APPEND AWS_COMPILER_WARNINGS "-Wall" "-Werror" "-pedantic" "-Wextra")', "", - ) + if self.version == "1.9.234": + replace_in_file( + self, os.path.join(self.source_folder, "cmake", "compiler_settings.cmake"), + 'list(APPEND AWS_COMPILER_WARNINGS "-Wall" "-Werror" "-pedantic" "-Wextra")', "", + ) def build(self): self._patch_sources() @@ -498,13 +492,12 @@ def package_info(self): "aws-c-event-stream::aws-c-event-stream", "aws-checksums::aws-checksums", ] - if self._use_aws_crt_cpp: - self.cpp_info.components["core"].requires.extend([ - "aws-c-cal::aws-c-cal", - "aws-c-http::aws-c-http", - "aws-c-io::aws-c-io", - "aws-crt-cpp::aws-crt-cpp", - ]) + self.cpp_info.components["core"].requires.extend([ + "aws-c-cal::aws-c-cal", + "aws-c-http::aws-c-http", + "aws-c-io::aws-c-io", + "aws-crt-cpp::aws-crt-cpp", + ]) # other components enabled_sdks = [sdk for sdk in self._sdks if self.options.get_safe(sdk)] diff --git a/recipes/aws-sdk-cpp/all/patches/1.8.130-0001-disable-sort-links.patch b/recipes/aws-sdk-cpp/all/patches/1.8.130-0001-disable-sort-links.patch deleted file mode 100644 index bd8fbce5589dc..0000000000000 --- a/recipes/aws-sdk-cpp/all/patches/1.8.130-0001-disable-sort-links.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/cmake/sdks.cmake b/cmake/sdks.cmake -index 975281faaa..ebedbcc6e5 100644 ---- a/cmake/sdks.cmake -+++ b/cmake/sdks.cmake -@@ -236,7 +236,7 @@ function(add_sdks) - - # the catch-all config needs to list all the targets in a dependency-sorted order - include(dependencies) -- sort_links(EXPORTS) -+ # sort_links(EXPORTS) - - # make an everything config by just including all the individual configs - file(WRITE ${CMAKE_BINARY_DIR}/aws-sdk-cpp-config.cmake "") diff --git a/recipes/aws-sdk-cpp/all/patches/1.8.130-0002-force-archive-directory-to-library-directory.patch b/recipes/aws-sdk-cpp/all/patches/1.8.130-0002-force-archive-directory-to-library-directory.patch deleted file mode 100644 index ae9310e5bb684..0000000000000 --- a/recipes/aws-sdk-cpp/all/patches/1.8.130-0002-force-archive-directory-to-library-directory.patch +++ /dev/null @@ -1,17 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index a653e38628..6761052856 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -295,11 +295,7 @@ if (CMAKE_INSTALL_INCLUDEDIR) - set(INCLUDE_DIRECTORY "${CMAKE_INSTALL_INCLUDEDIR}") - endif() - --if(BUILD_SHARED_LIBS) -- set(ARCHIVE_DIRECTORY "${BINARY_DIRECTORY}") --else() -- set(ARCHIVE_DIRECTORY "${LIBRARY_DIRECTORY}") --endif() -+set(ARCHIVE_DIRECTORY "${LIBRARY_DIRECTORY}") - - if (ENABLE_ADDRESS_SANITIZER) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsanitize=address -g -fno-omit-frame-pointer") diff --git a/recipes/aws-sdk-cpp/all/patches/1.8.130-0003-disable-cmake-install-rpath-use-link-path.patch b/recipes/aws-sdk-cpp/all/patches/1.8.130-0003-disable-cmake-install-rpath-use-link-path.patch deleted file mode 100644 index 6f85ba392127f..0000000000000 --- a/recipes/aws-sdk-cpp/all/patches/1.8.130-0003-disable-cmake-install-rpath-use-link-path.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index a653e38628..4aac800fde 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -142,7 +142,7 @@ else() - endif() - - # Add Linker search paths to RPATH so as to fix the problem where some linkers can't find cross-compiled dependent libraries in customer paths when linking executables. --set(CMAKE_INSTALL_RPATH_USE_LINK_PATH true) -+# set(CMAKE_INSTALL_RPATH_USE_LINK_PATH true) - - # build third-party targets - if (BUILD_DEPS) diff --git a/recipes/aws-sdk-cpp/all/patches/1.8.130-0005-aws-plugin-conf.patch b/recipes/aws-sdk-cpp/all/patches/1.8.130-0005-aws-plugin-conf.patch deleted file mode 100644 index b3eccfe69cc45..0000000000000 --- a/recipes/aws-sdk-cpp/all/patches/1.8.130-0005-aws-plugin-conf.patch +++ /dev/null @@ -1,44 +0,0 @@ -commit 1179cb040d6b9292d30eb7d444298cd286f9f574 -Author: dvirtz -Date: Tue Nov 16 21:38:45 2021 +0200 - - add a file to configure SDK plugins - -diff --git a/cmake/sdk_plugin_conf.cmake b/cmake/sdk_plugin_conf.cmake -new file mode 100644 -index 0000000000..474ead75bd ---- /dev/null -+++ b/cmake/sdk_plugin_conf.cmake -@@ -0,0 +1,32 @@ -+get_filename_component(AWS_NATIVE_SDK_ROOT ${CMAKE_CURRENT_LIST_DIR} DIRECTORY) -+set(SIMPLE_INSTALL TRUE) -+ -+if (CMAKE_INSTALL_BINDIR) -+ set(BINARY_DIRECTORY "${CMAKE_INSTALL_BINDIR}") -+endif() -+ -+if (CMAKE_INSTALL_LIBDIR) -+ set(LIBRARY_DIRECTORY "${CMAKE_INSTALL_LIBDIR}") -+endif() -+ -+if (CMAKE_INSTALL_INCLUDEDIR) -+ set(INCLUDE_DIRECTORY "${CMAKE_INSTALL_INCLUDEDIR}") -+endif() -+ -+if(BUILD_SHARED_LIBS) -+ set(ARCHIVE_DIRECTORY "${BINARY_DIRECTORY}") -+else() -+ set(ARCHIVE_DIRECTORY "${LIBRARY_DIRECTORY}") -+endif() -+ -+if(DEFINED CMAKE_CXX_STANDARD) -+ set(STANDARD_DEFAULT ${CMAKE_CXX_STANDARD}) -+else() -+ set(STANDARD_DEFAULT "11") -+endif() -+set(CPP_STANDARD ${STANDARD_DEFAULT} CACHE STRING "Flag to upgrade the C++ standard used. The default is 11. The minimum is 11.") -+ -+include(CMakePackageConfigHelpers) -+include(initialize_project_version) -+include(utilities) -+include(compiler_settings) diff --git a/recipes/aws-sdk-cpp/all/patches/1.8.130-0006-issue-1816.patch b/recipes/aws-sdk-cpp/all/patches/1.8.130-0006-issue-1816.patch deleted file mode 100644 index 6abce1b705a47..0000000000000 --- a/recipes/aws-sdk-cpp/all/patches/1.8.130-0006-issue-1816.patch +++ /dev/null @@ -1,20 +0,0 @@ -diff --git aws-cpp-sdk-text-to-speech/source/text-to-speech/TextToSpeechManager.cpp aws-cpp-sdk-text-to-speech/source/text-to-speech/TextToSpeechManager.cpp -index c633f3fabe..abb1ab7332 100644 ---- aws-cpp-sdk-text-to-speech/source/text-to-speech/TextToSpeechManager.cpp -+++ aws-cpp-sdk-text-to-speech/source/text-to-speech/TextToSpeechManager.cpp -@@ -146,7 +146,6 @@ namespace Aws - AWS_LOGSTREAM_TRACE(CLASS_TAG, "Audio retrieved from Polly. " << result.GetContentType() << " with " - << result.GetRequestCharacters() << " characters syntesized"); - -- std::streamsize amountRead(0); - unsigned char buffer[BUFF_SIZE]; - - std::lock_guard m(m_driverLock); -@@ -159,7 +158,6 @@ namespace Aws - AWS_LOGSTREAM_TRACE(CLASS_TAG, "Writing " << read << " bytes to device."); - - successfullyPlayed = m_activeDriver->WriteBufferToDevice(buffer, (std::size_t)read); -- amountRead += read; - played = successfullyPlayed; - } - diff --git a/recipes/aws-sdk-cpp/all/patches/1.9.100-0001-disable-sort-links.patch b/recipes/aws-sdk-cpp/all/patches/1.9.100-0001-disable-sort-links.patch deleted file mode 100644 index 6e93f7675b327..0000000000000 --- a/recipes/aws-sdk-cpp/all/patches/1.9.100-0001-disable-sort-links.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/cmake/sdks.cmake b/cmake/sdks.cmake -index 0ec9981ddf..d86a9f4874 100644 ---- a/cmake/sdks.cmake -+++ b/cmake/sdks.cmake -@@ -250,7 +250,7 @@ function(add_sdks) - - # the catch-all config needs to list all the targets in a dependency-sorted order - include(dependencies) -- sort_links(EXPORTS) -+ #sort_links(EXPORTS) - - # make an everything config by just including all the individual configs - file(WRITE ${CMAKE_BINARY_DIR}/aws-sdk-cpp-config.cmake "") diff --git a/recipes/aws-sdk-cpp/all/patches/1.9.100-0003-issue-1816.patch b/recipes/aws-sdk-cpp/all/patches/1.9.100-0003-issue-1816.patch deleted file mode 100644 index 6abce1b705a47..0000000000000 --- a/recipes/aws-sdk-cpp/all/patches/1.9.100-0003-issue-1816.patch +++ /dev/null @@ -1,20 +0,0 @@ -diff --git aws-cpp-sdk-text-to-speech/source/text-to-speech/TextToSpeechManager.cpp aws-cpp-sdk-text-to-speech/source/text-to-speech/TextToSpeechManager.cpp -index c633f3fabe..abb1ab7332 100644 ---- aws-cpp-sdk-text-to-speech/source/text-to-speech/TextToSpeechManager.cpp -+++ aws-cpp-sdk-text-to-speech/source/text-to-speech/TextToSpeechManager.cpp -@@ -146,7 +146,6 @@ namespace Aws - AWS_LOGSTREAM_TRACE(CLASS_TAG, "Audio retrieved from Polly. " << result.GetContentType() << " with " - << result.GetRequestCharacters() << " characters syntesized"); - -- std::streamsize amountRead(0); - unsigned char buffer[BUFF_SIZE]; - - std::lock_guard m(m_driverLock); -@@ -159,7 +158,6 @@ namespace Aws - AWS_LOGSTREAM_TRACE(CLASS_TAG, "Writing " << read << " bytes to device."); - - successfullyPlayed = m_activeDriver->WriteBufferToDevice(buffer, (std::size_t)read); -- amountRead += read; - played = successfullyPlayed; - } - diff --git a/recipes/aws-sdk-cpp/config.yml b/recipes/aws-sdk-cpp/config.yml index 3af57130465e4..aeb73ff8f53ec 100644 --- a/recipes/aws-sdk-cpp/config.yml +++ b/recipes/aws-sdk-cpp/config.yml @@ -1,7 +1,3 @@ versions: "1.9.234": folder: "all" - "1.9.100": - folder: "all" - "1.8.130": - folder: "all" From df8f3e30dcceb27b23a59346bef320a28ccd0fd2 Mon Sep 17 00:00:00 2001 From: PerseoGI Date: Mon, 19 Aug 2024 12:01:59 +0200 Subject: [PATCH 358/641] (#24878) libpointmatcher: replace existing broken version for new one and tweaked version MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * libpointmatcher: replace existing broken version for new one and tweaked recipe * Bumped yaml-cpp and added compiler restrictions * Updated _compilers_minimum_version Co-authored-by: Martin Valgur * Remove .pc files and instalation commands on upstream CMakelists * Added fix for new compilers * Downgrade yaml-cpp to avoid compilation errors * The recipe needs a higher cppstd than the default one in Conan 1 --------- Co-authored-by: Martin Valgur Co-authored-by: Abril Rincón Blanco --- recipes/libpointmatcher/all/conandata.yml | 14 +- recipes/libpointmatcher/all/conanfile.py | 60 ++++- .../all/patches/1.3.1-0001-fix-cmake.patch | 208 ------------------ .../all/patches/1.4.3-0001-fix-cmake.patch | 109 +++++++++ .../patches/1.4.3-0002-fix-const-error.patch | 13 ++ recipes/libpointmatcher/config.yml | 2 +- 6 files changed, 181 insertions(+), 225 deletions(-) delete mode 100644 recipes/libpointmatcher/all/patches/1.3.1-0001-fix-cmake.patch create mode 100644 recipes/libpointmatcher/all/patches/1.4.3-0001-fix-cmake.patch create mode 100644 recipes/libpointmatcher/all/patches/1.4.3-0002-fix-const-error.patch diff --git a/recipes/libpointmatcher/all/conandata.yml b/recipes/libpointmatcher/all/conandata.yml index 448e7fdb12dff..90e42a2d1fa6b 100644 --- a/recipes/libpointmatcher/all/conandata.yml +++ b/recipes/libpointmatcher/all/conandata.yml @@ -1,9 +1,13 @@ sources: - "1.3.1": - url: "https://github.com/ethz-asl/libpointmatcher/archive/refs/tags/1.3.1.tar.gz" - sha256: "82f93d2e7689efeef8837b8e969919b51c51ad4a1d1fa921c4dd8df4811378ab" + "1.4.3": + url: "https://github.com/ethz-asl/libpointmatcher/archive/refs/tags/1.4.3.tar.gz" + sha256: "7f8f56d4e561206fb5720ece6fecf6d27e9fd214d4dd326d228fddbea8289cda" patches: - "1.3.1": - - patch_file: "patches/1.3.1-0001-fix-cmake.patch" + "1.4.3": + - patch_file: "patches/1.4.3-0001-fix-cmake.patch" patch_description: "Fix upstream CMakeLists" patch_type: "conan" + - patch_file: "patches/1.4.3-0002-fix-const-error.patch" + patch_description: "Fix ScalarType const_cast compile error" + patch_type: "bugfix" + patch_source: "https://github.com/norlab-ulaval/libpointmatcher/pull/580" diff --git a/recipes/libpointmatcher/all/conanfile.py b/recipes/libpointmatcher/all/conanfile.py index b189d68d9c79e..a55b2ee1013f1 100644 --- a/recipes/libpointmatcher/all/conanfile.py +++ b/recipes/libpointmatcher/all/conanfile.py @@ -1,15 +1,21 @@ +import os + from conan import ConanFile +from conan.errors import ConanInvalidConfiguration from conan.tools.build import check_min_cppstd from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rmdir -import os +from conan.tools.microsoft import is_msvc +from conan.tools.scm import Version required_conan_version = ">=1.53.0" class LibpointmatcherConan(ConanFile): name = "libpointmatcher" - description = "An Iterative Closest Point (ICP) library for 2D and 3D mapping in Robotics" + description = ( + "An Iterative Closest Point (ICP) library for 2D and 3D mapping in Robotics" + ) license = "BSD-3-Clause" topics = ("robotics", "lidar", "point-cloud") homepage = "https://github.com/ethz-asl/libpointmatcher" @@ -26,10 +32,22 @@ class LibpointmatcherConan(ConanFile): "fPIC": True, "with_openmp": False, } + short_paths = True @property def _min_cppstd(self): - return "11" + return "17" + + @property + def _compilers_minimum_version(self): + # https://github.com/norlab-ulaval/libpointmatcher/blob/1.4.3/CMakeLists.txt#L240 + return { + "gcc": "9", + "clang": "5", + "apple-clang": "7", + "msvc": "190", + "Visual Studio": "14", + } def export_sources(self): export_conandata_patches(self) @@ -41,19 +59,28 @@ def config_options(self): def configure(self): if self.options.shared: self.options.rm_safe("fPIC") + if is_msvc(self): + # Only static for msvc + del self.options.shared + self.package_type = "static-library" def layout(self): cmake_layout(self, src_folder="src") def requirements(self): self.requires("boost/1.81.0", transitive_headers=True) - # FIXME: eigen 3.4.0 is not compatible yet (see https://github.com/ethz-asl/libpointmatcher/issues/496) - self.requires("eigen/3.3.9", transitive_headers=True) + self.requires("eigen/3.4.0", transitive_headers=True) self.requires("libnabo/1.0.7") + self.requires("yaml-cpp/0.7.0", transitive_headers=True) def validate(self): if self.settings.compiler.get_safe("cppstd"): check_min_cppstd(self, self._min_cppstd) + minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) + if minimum_version and Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration( + f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." + ) def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) @@ -62,9 +89,12 @@ def generate(self): tc = CMakeToolchain(self) tc.cache_variables["USE_OPEN_MP"] = self.options.with_openmp tc.cache_variables["USE_OPEN_CL"] = False - tc.cache_variables["SHARED_LIBS"] = self.options.shared - # TODO: to unvendor, but libpointmatcher depends on legacy API of yaml-cpp (0.3.x) - tc.variables["USE_SYSTEM_YAML_CPP"] = False + tc.cache_variables["SHARED_LIBS"] = self.options.get_safe("shared") + tc.cache_variables["BUILD_EXAMPLES"] = False + tc.cache_variables["BUILD_EVALUATIONS"] = False + tc.cache_variables["BUILD_TESTS"] = False + if not self.settings.compiler.cppstd: + tc.variables["CMAKE_CXX_STANDARD"] = self._min_cppstd tc.generate() deps = CMakeDeps(self) deps.generate() @@ -76,8 +106,12 @@ def build(self): cmake.build() def package(self): - copy(self, "copyright", src=os.path.join(self.source_folder, "debian"), - dst=os.path.join(self.package_folder, "licenses")) + copy( + self, + "copyright", + src=os.path.join(self.source_folder, "debian"), + dst=os.path.join(self.package_folder, "licenses"), + ) cmake = CMake(self) cmake.install() rmdir(self, os.path.join(self.package_folder, "share")) @@ -85,4 +119,8 @@ def package(self): def package_info(self): self.cpp_info.set_property("cmake_file_name", "libpointmatcher") self.cpp_info.set_property("pkg_config_name", "libpointmatcher") - self.cpp_info.libs = ["pointmatcher"] + sufix = "d" if self.settings.build_type == "Debug" else "" + self.cpp_info.libs = [f"pointmatcher{sufix}"] + + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.system_libs = ["pthread", "m", "rt"] diff --git a/recipes/libpointmatcher/all/patches/1.3.1-0001-fix-cmake.patch b/recipes/libpointmatcher/all/patches/1.3.1-0001-fix-cmake.patch deleted file mode 100644 index bec21dac0c243..0000000000000 --- a/recipes/libpointmatcher/all/patches/1.3.1-0001-fix-cmake.patch +++ /dev/null @@ -1,208 +0,0 @@ ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -1,4 +1,4 @@ --cmake_minimum_required(VERSION 2.8.11) -+cmake_minimum_required(VERSION 3.15) - - include(CheckSymbolExists) - -@@ -46,6 +46,7 @@ if( BUILD_32 ) - endif( BUILD_32 ) - - # Ensure proper build type -+if(0) - if (NOT CMAKE_BUILD_TYPE) - message("-- No build type specified; defaulting to CMAKE_BUILD_TYPE=Release.") - set(CMAKE_BUILD_TYPE Release CACHE STRING -@@ -65,12 +66,14 @@ endif (NOT CMAKE_BUILD_TYPE) - if (NOT CMAKE_BUILD_TYPE STREQUAL "Debug") - add_definitions(-O3) - endif(NOT CMAKE_BUILD_TYPE STREQUAL "Debug") -+endif() - - # For Windows - if( MSVC ) - add_definitions( /D _VARIADIC_MAX=10 ) # VS2012 does not support tuples correctly yet - add_definitions( /D _USE_MATH_DEFINES) # defines M_PI for Visual Studio - add_definitions( /D _ENABLE_EXTENDED_ALIGNED_STORAGE) # this variable must be defined with VS2017 to acknowledge alignment changes of aligned_storage -+ add_compile_options(/bigobj) - endif() - - #======================= installation ===================================== -@@ -120,19 +123,16 @@ if (Boost_MINOR_VERSION GREATER 47) - find_package(Boost COMPONENTS thread filesystem system program_options date_time chrono REQUIRED) - endif (Boost_MINOR_VERSION GREATER 47) - include_directories(${Boost_INCLUDE_DIRS}) --set(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${Boost_LIBRARIES}) -+set(EXTERNAL_LIBS ${EXTERNAL_LIBS} Boost::headers Boost::thread Boost::filesystem Boost::system Boost::program_options Boost::date_time Boost::chrono) - - - #-------------------- - # DEPENDENCY: eigen 3 - #-------------------- --find_path(EIGEN_INCLUDE_DIR Eigen/Core -- /usr/local/include/eigen3 -- /usr/include/eigen3 --) -+find_package(Eigen3 REQUIRED CONFIG) -+set(EXTERNAL_LIBS ${EXTERNAL_LIBS} Eigen3::Eigen ) - - # Suppress Eigen's warning by adding it to the system's library --include_directories(SYSTEM "${EIGEN_INCLUDE_DIR}") - - #TODO: this should be a more standard way - #find_package(Eigen3 REQUIRED) -@@ -143,10 +143,9 @@ include_directories(SYSTEM "${EIGEN_INCLUDE_DIR}") - #-------------------- - # DEPENDENCY: nabo - #-------------------- --find_package(libnabo REQUIRED PATHS ${LIBNABO_INSTALL_DIR}) -+find_package(libnabo REQUIRED CONFIG) - #include(libnaboConfig) --include_directories(${libnabo_INCLUDE_DIRS}) --set(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${libnabo_LIBRARIES}) -+set(EXTERNAL_LIBS ${EXTERNAL_LIBS} libnabo::nabo) - message(STATUS "libnabo found, version ${libnabo_VERSION} (include=${libnabo_INCLUDE_DIRS} libs=${libnabo_LIBRARIES})") - - #-------------------- -@@ -215,8 +214,7 @@ else(USE_SYSTEM_YAML_CPP) - #get_property(yaml-cpp-pm_INCLUDE TARGET yaml-cpp-pm PROPERTY INCLUDE_DIRECTORIES) - #include_directories(${yaml-cpp-pm_INCLUDE}) - -- get_property(yaml-cpp-pm_LIB TARGET yaml-cpp-pm PROPERTY LOCATION) -- set (EXTERNAL_LIBS ${EXTERNAL_LIBS} ${yaml-cpp-pm_LIB} ) -+ set (EXTERNAL_LIBS ${EXTERNAL_LIBS} yaml-cpp-pm ) - set (EXTRA_DEPS ${EXTRA_DEPS} yaml-cpp-pm) - set(yamlcpp_FOUND) - -@@ -241,6 +239,7 @@ endif (POSIX_TIMERS AND NOT APPLE) - #========================== libpointmatcher itself ============================== - - # Check the compiler version as we need full C++11 support. -+if(0) - if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang") - # using Clang - if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS "3.3") -@@ -276,6 +275,7 @@ if (CMAKE_VERSION VERSION_LESS "3.1") - else () - set (CMAKE_CXX_STANDARD 11) - endif () -+endif() - - # SOURCE - -@@ -350,12 +350,12 @@ file(GLOB_RECURSE POINTMATCHER_HEADERS "pointmatcher/*.h") - - # MacOS and Windows deal with shared/dynamic library differently. For - # simplicity, we only authorize static library in those cases. --if(APPLE OR WIN32) -+if(0) - - add_library(pointmatcher ${POINTMATCHER_SRC} ${POINTMATCHER_HEADERS} ) - install(TARGETS pointmatcher ARCHIVE DESTINATION ${INSTALL_LIB_DIR}) - --else(APPLE OR WIN32) -+else() - set(SHARED_LIBS "true" CACHE BOOL "To build shared (true) or static (false) library") - - if (SHARED_LIBS) -@@ -369,14 +369,15 @@ else(APPLE OR WIN32) - add_library(pointmatcher ${POINTMATCHER_SRC} ${POINTMATCHER_HEADERS} ) - install(TARGETS pointmatcher ARCHIVE DESTINATION ${INSTALL_LIB_DIR}) - endif(SHARED_LIBS) --endif(APPLE OR WIN32) -+ set_target_properties(pointmatcher PROPERTIES WINDOWS_EXPORT_ALL_SYMBOLS ON) -+ target_compile_features(pointmatcher PUBLIC cxx_std_11) -+endif() - - target_include_directories(pointmatcher PRIVATE ${CMAKE_SOURCE_DIR}/pointmatcher) - target_include_directories(pointmatcher PRIVATE ${CMAKE_SOURCE_DIR}/pointmatcher/DataPointsFilters) - target_include_directories(pointmatcher PRIVATE ${CMAKE_SOURCE_DIR}/pointmatcher/DataPointsFilters/utils) - - # link all libraries to libpointmatcher --add_definitions(-Wall) - #target_link_libraries(pointmatcher ${yaml-cpp_LIBRARIES} ${libnabo_LIBRARIES}) - target_link_libraries(pointmatcher ${EXTERNAL_LIBS}) - -@@ -432,11 +433,8 @@ endif(GENERATE_API_DOC) - #=============== trigger other makefile ====================== - - # Example programs --add_subdirectory(examples) - # Evaluation programs --add_subdirectory(evaluations) - # Unit testing --add_subdirectory(utest) - - - #=================== allow find_package() ========================= -@@ -451,6 +449,7 @@ add_subdirectory(utest) - # 1- local build # - - # Register the local build in case one doesn't use "make install" -+if(0) - export(PACKAGE libpointmatcher) - - # Create variable for the local build tree -@@ -537,3 +536,4 @@ configure_file( - - add_custom_target(uninstall - COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake) -+endif() ---- a/contrib/CMakeLists.txt -+++ b/contrib/CMakeLists.txt -@@ -1,8 +1,6 @@ - # External libraries packed with libpointmatcher - - # GTest --include_directories(${CMAKE_CURRENT_SOURCE_DIR}) --add_library(gtest gtest/gtest-all.cc) - - # Wrapped yaml-cpp - if(NOT USE_SYSTEM_YAML_CPP) ---- a/contrib/yaml-cpp-pm/CMakeLists.txt -+++ b/contrib/yaml-cpp-pm/CMakeLists.txt -@@ -19,7 +19,6 @@ set(YAML_CPP_BUILD_CONTRIB OFF) - # --> General - # see http://www.cmake.org/cmake/help/cmake2.6docs.html#variable:BUILD_SHARED_LIBS - # http://www.cmake.org/cmake/help/cmake2.6docs.html#command:add_library --set(BUILD_SHARED_LIBS OFF) - - # --> Apple - option(APPLE_UNIVERSAL_BIN "Apple: Build universal binary" OFF) -@@ -55,7 +54,6 @@ endif() - - if(WIN32) - if(BUILD_SHARED_LIBS) -- add_definitions(-D${PROJECT_NAME}_DLL) # use or build Windows DLL - endif() - if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT) - set(CMAKE_INSTALL_PREFIX "C:/") -@@ -63,7 +61,7 @@ if(WIN32) - endif() - - # GCC / Clang specialities --if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID STREQUAL "Clang" OR CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang") -+if(0) - ### General stuff - if(WIN32) - set(CMAKE_SHARED_LIBRARY_PREFIX "") # DLLs do not have a "lib" prefix -@@ -105,7 +103,7 @@ endif() - ### - ### Library - ### --add_library(yaml-cpp-pm -+add_library(yaml-cpp-pm OBJECT - ${sources} - ${public_headers} - ${private_headers} -@@ -113,6 +111,9 @@ add_library(yaml-cpp-pm - ${contrib_public_headers} - ${contrib_private_headers} - ) -+if(BUILD_SHARED_LIBS) -+ set_target_properties(yaml-cpp-pm PROPERTIES POSITION_INDEPENDENT_CODE ON) -+endif() - - set_target_properties(yaml-cpp-pm PROPERTIES - VERSION "${YAML_CPP_VERSION}" diff --git a/recipes/libpointmatcher/all/patches/1.4.3-0001-fix-cmake.patch b/recipes/libpointmatcher/all/patches/1.4.3-0001-fix-cmake.patch new file mode 100644 index 0000000000000..50590958948df --- /dev/null +++ b/recipes/libpointmatcher/all/patches/1.4.3-0001-fix-cmake.patch @@ -0,0 +1,109 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 0acebe3..b17f3d5 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1,4 +1,4 @@ +-cmake_minimum_required(VERSION 3.10.2) ++cmake_minimum_required(VERSION 3.15) + + include(GNUInstallDirs) # populate CMAKE_INSTALL_{LIB,BIN}DIR + include(CheckSymbolExists) +@@ -9,8 +9,6 @@ include(CMakePackageConfigHelpers) + # Project details / setup + #======================== + +-set(CMAKE_POSITION_INDEPENDENT_CODE ON) # add -fPIC as required +- + # Extract version from header, done first to satisfy CMP0048, + # see `cmake --help-policy CMP0048` for more information. + file( +@@ -51,6 +49,7 @@ if( BUILD_32 ) + endif() + + # Ensure proper build type ++if(0) + if (NOT CMAKE_BUILD_TYPE) + message("-- No build type specified; defaulting to CMAKE_BUILD_TYPE=Release.") + set(CMAKE_BUILD_TYPE Release CACHE STRING +@@ -64,6 +63,7 @@ else () + message("\n=================================================================================") + endif () + endif () ++endif() + + + #================= extra building definitions ============================== +@@ -110,9 +110,6 @@ endforeach() + # initially + set(EXTERNAL_LIBS "") + +-# compile local version of gtest +-add_subdirectory(contrib) +- + #--------------------------- + # DEPENDENCY: POSIX Threads + #--------------------------- +@@ -134,22 +131,10 @@ endif () + #-------------------- + # DEPENDENCY: eigen 3 + #-------------------- +-find_path(EIGEN_INCLUDE_DIR NAMES signature_of_eigen3_matrix_library +- HINTS ENV EIGEN3_INC_DIR +- ENV EIGEN3_DIR +- PATHS Eigen/Core +- /usr/local/include +- /usr/include +- PATH_SUFFIXES include eigen3 eigen +- DOC "Directory containing the Eigen3 header files" +-) + + # Suppress Eigen's warning by adding it to the system's library +-include_directories(SYSTEM "${EIGEN_INCLUDE_DIR}") +- +-#TODO: this should be a more standard way +-#find_package(Eigen3 REQUIRED) +-#message("-- eigen3 , version ${EIGEN_VERSION}") ++find_package(Eigen3 REQUIRED) ++set(EXTERNAL_LIBS ${EXTERNAL_LIBS} Eigen3::Eigen ) + + + +@@ -158,7 +143,7 @@ include_directories(SYSTEM "${EIGEN_INCLUDE_DIR}") + #-------------------- + if (NOT TARGET nabo) + # Find libnabo: +- find_package(libnabo REQUIRED PATHS ${LIBNABO_INSTALL_DIR}) ++ find_package(libnabo REQUIRED PATHS) + if (TARGET libnabo::nabo) + set(libnabo_LIBRARIES libnabo::nabo) + message(STATUS "libnabo found, version ${libnabo_VERSION} (Config mode, libs=${libnabo_LIBRARIES})") +@@ -238,6 +223,7 @@ check_symbol_exists(_POSIX_TIMERS "unistd.h;time.h" POSIX_TIMERS) + #========================== libpointmatcher itself ============================== + + # Check the compiler version as we need full C++17 support. ++if(0) + if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang") + # using Clang + if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS "5") +@@ -273,6 +259,7 @@ if (CMAKE_VERSION VERSION_LESS "3.8") + else () + set (CMAKE_CXX_STANDARD 17) + endif () ++endif () + + # SOURCE + +@@ -483,7 +470,7 @@ endif() + # include_directories(${libpointmatcher_INCLUDE_DIRS}) + # target_link_libraries(executableName ${libpointmatcher_LIBRARIES}) + # ... +- ++if(0) + # 1- local build # + + # Install cmake config module +@@ -574,3 +561,4 @@ if (NOT TARGET uninstall) + add_custom_target(uninstall + COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake) + endif() ++endif() diff --git a/recipes/libpointmatcher/all/patches/1.4.3-0002-fix-const-error.patch b/recipes/libpointmatcher/all/patches/1.4.3-0002-fix-const-error.patch new file mode 100644 index 0000000000000..1dd09a84875d2 --- /dev/null +++ b/recipes/libpointmatcher/all/patches/1.4.3-0002-fix-const-error.patch @@ -0,0 +1,13 @@ +diff --git a/pointmatcher/PointCloudGenerator.cpp b/pointmatcher/PointCloudGenerator.cpp +index d084dd2..739995b 100644 +--- a/pointmatcher/PointCloudGenerator.cpp ++++ b/pointmatcher/PointCloudGenerator.cpp +@@ -170,7 +170,7 @@ typename PointMatcher::DataPoints PointMatcher::PointCloudGenerator::gener + { + // Sample random values of theta and phi. + const ScalarType phi{ 2.0f * pi * uniformDistribution(randomNumberGenerator) }; +- const ScalarType radiusSample{ radius * sqrt(uniformDistribution(randomNumberGenerator)) }; ++ const ScalarType radiusSample{ static_cast(radius * sqrt(uniformDistribution(randomNumberGenerator))) }; + + // Pre-compute values, such as sine and cosine of phi and theta. + const ScalarType sinPhi{ std::sin(phi) }; diff --git a/recipes/libpointmatcher/config.yml b/recipes/libpointmatcher/config.yml index 59334d5077368..91b545dcd8ee8 100644 --- a/recipes/libpointmatcher/config.yml +++ b/recipes/libpointmatcher/config.yml @@ -1,3 +1,3 @@ versions: - "1.3.1": + "1.4.3": folder: all From 961b715ad3c017951f88f4862b6ed5bd14395cdf Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 19 Aug 2024 19:32:25 +0900 Subject: [PATCH 359/641] (#24856) utfcpp: add version 4.0.5 and remove older versions * utfcpp: add version 4.0.5 and remove older versions * revert 3.2.3 --- recipes/utfcpp/all/conandata.yml | 21 +++----------------- recipes/utfcpp/all/conanfile.py | 15 ++++++-------- recipes/utfcpp/all/test_package/conanfile.py | 1 + recipes/utfcpp/config.yml | 14 ++----------- 4 files changed, 12 insertions(+), 39 deletions(-) diff --git a/recipes/utfcpp/all/conandata.yml b/recipes/utfcpp/all/conandata.yml index 03f2a95423481..d1a732d445794 100644 --- a/recipes/utfcpp/all/conandata.yml +++ b/recipes/utfcpp/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "4.0.5": + url: "https://github.com/nemtrif/utfcpp/archive/v4.0.5.tar.gz" + sha256: "ffc668a310e77607d393f3c18b32715f223da1eac4c4d6e0579a11df8e6b59cf" "4.0.4": url: "https://github.com/nemtrif/utfcpp/archive/v4.0.4.tar.gz" sha256: "7c8a403d0c575d52473c8644cd9eb46c6ba028d2549bc3e0cdc2d45f5cfd78a0" @@ -11,27 +14,9 @@ sources: "3.2.5": url: "https://github.com/nemtrif/utfcpp/archive/v3.2.5.tar.gz" sha256: "14fd1b3c466814cb4c40771b7f207b61d2c7a0aa6a5e620ca05c00df27f25afd" - "3.2.4": - url: "https://github.com/nemtrif/utfcpp/archive/refs/tags/v3.2.4.tar.gz" - sha256: "fde21a4c519eed25f095a1cd8490167409cc70d7b5e9c38756142e588ccb7c7e" "3.2.3": url: "https://github.com/nemtrif/utfcpp/archive/v3.2.3.tar.gz" sha256: "3ba9b0dbbff08767bdffe8f03b10e596ca351228862722e4c9d4d126d2865250" - "3.2.2": - url: "https://github.com/nemtrif/utfcpp/archive/v3.2.2.tar.gz" - sha256: "6f81e7cb2be2a6a9109a8a0cb7dc39ec947f1bcdb5dfa4a660e11a23face19f5" - "3.2.1": - url: "https://github.com/nemtrif/utfcpp/archive/refs/tags/v3.2.1.tar.gz" - sha256: "8d6aa7d77ad0abb35bb6139cb9a33597ac4c5b33da6a004ae42429b8598c9605" - "3.2": - url: "https://github.com/nemtrif/utfcpp/archive/v3.2.tar.gz" - sha256: "cd4f9a66d23dc385bd7ea11bc0abfda8ea1ad1dcf5cd6d3a27bc551e86436364" "3.1.2": url: "https://github.com/nemtrif/utfcpp/archive/v3.1.2.tar.gz" sha256: "fea3bfa39fb8bd7368077ea5e1e0db9a8951f7e6fb6d9400b00ab3d92b807c6d" - "3.1.1": - url: "https://github.com/nemtrif/utfcpp/archive/v3.1.1.tar.gz" - sha256: "33496a4c3cc2de80e9809c4997052331af5fb32079f43ab4d667cd48c3a36e88" - "3.1": - url: "https://github.com/nemtrif/utfcpp/archive/v3.1.tar.gz" - sha256: "ab531c3fd5d275150430bfaca01d7d15e017a188183be932322f2f651506b096" diff --git a/recipes/utfcpp/all/conanfile.py b/recipes/utfcpp/all/conanfile.py index 247b54396ade2..23b9e402630b2 100644 --- a/recipes/utfcpp/all/conanfile.py +++ b/recipes/utfcpp/all/conanfile.py @@ -9,27 +9,24 @@ class UtfCppConan(ConanFile): name = "utfcpp" - url = "https://github.com/conan-io/conan-center-index" - homepage = "https://github.com/nemtrif/utfcpp" description = "UTF-8 with C++ in a Portable Way" - topics = ("utf", "utf8", "unicode", "text") license = "BSL-1.0" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/nemtrif/utfcpp" + topics = ("utf", "utf8", "unicode", "text", "header-only") package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True - def package_id(self): - self.info.clear() - def layout(self): basic_layout(self, src_folder="src") + def package_id(self): + self.info.clear() + def source(self): get(self, **self.conan_data["sources"][self.version], 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=os.path.join(self.source_folder, "source"), diff --git a/recipes/utfcpp/all/test_package/conanfile.py b/recipes/utfcpp/all/test_package/conanfile.py index d120a992c06a6..8a5bb47f50c4c 100644 --- a/recipes/utfcpp/all/test_package/conanfile.py +++ b/recipes/utfcpp/all/test_package/conanfile.py @@ -7,6 +7,7 @@ class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" generators = "CMakeToolchain", "CMakeDeps", "VirtualRunEnv" + test_type = "explicit" def requirements(self): self.requires(self.tested_reference_str) diff --git a/recipes/utfcpp/config.yml b/recipes/utfcpp/config.yml index 46e4658742975..93af14ff8ed78 100644 --- a/recipes/utfcpp/config.yml +++ b/recipes/utfcpp/config.yml @@ -1,4 +1,6 @@ versions: + "4.0.5": + folder: all "4.0.4": folder: all "4.0.1": @@ -7,19 +9,7 @@ versions: folder: all "3.2.5": folder: all - "3.2.4": - folder: all "3.2.3": folder: all - "3.2.2": - folder: all - "3.2.1": - folder: all - "3.2": - folder: all "3.1.2": folder: all - "3.1.1": - folder: all - "3.1": - folder: all From 7fbe6981206d34a8d070a0011ef7d5ae02a0eb78 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 19 Aug 2024 19:51:26 +0900 Subject: [PATCH 360/641] (#24858) cpp-httplib: add version 0.16.3, remove older versions * cpp-httplib: add version 0.16.1 * revert 0.14.1 * update 0.16.2 * update 0.16.3 --- recipes/cpp-httplib/all/conandata.yml | 19 ++++--------------- recipes/cpp-httplib/all/conanfile.py | 5 +---- .../cpp-httplib/all/test_package/conanfile.py | 1 + recipes/cpp-httplib/config.yml | 12 ++---------- 4 files changed, 8 insertions(+), 29 deletions(-) diff --git a/recipes/cpp-httplib/all/conandata.yml b/recipes/cpp-httplib/all/conandata.yml index 8ff6cdba110e7..4d22c6879eeff 100644 --- a/recipes/cpp-httplib/all/conandata.yml +++ b/recipes/cpp-httplib/all/conandata.yml @@ -1,34 +1,23 @@ sources: + "0.16.3": + url: "https://github.com/yhirose/cpp-httplib/archive/v0.16.3.tar.gz" + sha256: "c1742fc7179aaae2a67ad9bba0740b7e9ffaf4f5e62feef53101ecdef1478716" "0.16.0": url: "https://github.com/yhirose/cpp-httplib/archive/v0.16.0.tar.gz" sha256: "c125022eb85eaa12235518dc4638be93b62c3216d0f87b655af7b17b71b38851" "0.15.3": url: "https://github.com/yhirose/cpp-httplib/archive/v0.15.3.tar.gz" sha256: "2121bbf38871bb2aafb5f7f2b9b94705366170909f434428352187cb0216124e" - "0.15.2": - url: "https://github.com/yhirose/cpp-httplib/archive/v0.15.2.tar.gz" - sha256: "4afbcf4203249d2cbcb698e46e1f6fb61b479013a84844d6bb1c044e233cab6a" - "0.15.1": - url: "https://github.com/yhirose/cpp-httplib/archive/v0.15.1.tar.gz" - sha256: "8d6a4a40ee8fd3f553b7e895882e60e674bd910883fc1857587dbbabee3cdb91" "0.14.3": url: "https://github.com/yhirose/cpp-httplib/archive/v0.14.3.tar.gz" sha256: "dcf6486d9030937636d8a4f820ca9531808fd7edb283893dddbaa05f99357e63" - "0.14.2": - url: "https://github.com/yhirose/cpp-httplib/archive/v0.14.2.tar.gz" - sha256: "dbcf5590e8ed35c6745c2ad659a5ebec92f05187d1506eec24449d6db95e5084" + # keep 0.14.1 for enjincppsdk and microservice-essentials "0.14.1": url: "https://github.com/yhirose/cpp-httplib/archive/v0.14.1.tar.gz" sha256: "2d4fb5544da643e5d0a82585555d8b7502b4137eb321a4abbb075e21d2f00e96" - "0.14.0": - url: "https://github.com/yhirose/cpp-httplib/archive/v0.14.0.tar.gz" - sha256: "3a92248ef8cf2c32ad07f910b8e3052ff2427022b2adb871cf326fb620d2438e" "0.13.3": url: "https://github.com/yhirose/cpp-httplib/archive/v0.13.3.tar.gz" sha256: "2a4503f9f2015f6878baef54cd94b01849cc3ed19dfe95f2c9775655bea8b73f" - "0.13.1": - url: "https://github.com/yhirose/cpp-httplib/archive/v0.13.1.tar.gz" - sha256: "9b837d290b61e3f0c4239da0b23bbf14c382922e2bf2a9bac21c1e3feabe1ff9" "0.12.6": url: "https://github.com/yhirose/cpp-httplib/archive/v0.12.6.tar.gz" sha256: "24bc594a9efcc08a5a6f3928e848d046d411a88b07bcd6f7f3851227a1f0133e" diff --git a/recipes/cpp-httplib/all/conanfile.py b/recipes/cpp-httplib/all/conanfile.py index 7ecbe0a2931e5..4e28d01766a72 100644 --- a/recipes/cpp-httplib/all/conanfile.py +++ b/recipes/cpp-httplib/all/conanfile.py @@ -11,8 +11,8 @@ class CpphttplibConan(ConanFile): name = "cpp-httplib" description = "A C++11 single-file header-only cross platform HTTP/HTTPS library." license = "MIT" - homepage = "https://github.com/yhirose/cpp-httplib" url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/yhirose/cpp-httplib" topics = ("http", "https", "header-only") package_type = "header-library" settings = "os", "arch", "compiler", "build_type" @@ -49,9 +49,6 @@ def layout(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, "httplib.h", src=self.source_folder, dst=os.path.join(self.package_folder, "include", "httplib")) diff --git a/recipes/cpp-httplib/all/test_package/conanfile.py b/recipes/cpp-httplib/all/test_package/conanfile.py index d120a992c06a6..8a5bb47f50c4c 100644 --- a/recipes/cpp-httplib/all/test_package/conanfile.py +++ b/recipes/cpp-httplib/all/test_package/conanfile.py @@ -7,6 +7,7 @@ class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" generators = "CMakeToolchain", "CMakeDeps", "VirtualRunEnv" + test_type = "explicit" def requirements(self): self.requires(self.tested_reference_str) diff --git a/recipes/cpp-httplib/config.yml b/recipes/cpp-httplib/config.yml index d7f8c6163badb..acd05afb7ee9b 100644 --- a/recipes/cpp-httplib/config.yml +++ b/recipes/cpp-httplib/config.yml @@ -1,24 +1,16 @@ versions: + "0.16.3": + folder: all "0.16.0": folder: all "0.15.3": folder: all - "0.15.2": - folder: all - "0.15.1": - folder: all "0.14.3": folder: all - "0.14.2": - folder: all "0.14.1": folder: all - "0.14.0": - folder: all "0.13.3": folder: all - "0.13.1": - folder: all "0.12.6": folder: all "0.11.4": From d09a3cb19013c762f9334d086dfb63bdc4cd9429 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 19 Aug 2024 20:10:34 +0900 Subject: [PATCH 361/641] (#24859) etl: add version 20.39.3, remove version 20.39.0 * etl: add version 20.39.1 * update 20.39.2, remove 20.39.0 * update 20.39.3 --- recipes/etl/all/conandata.yml | 6 +++--- recipes/etl/config.yml | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/recipes/etl/all/conandata.yml b/recipes/etl/all/conandata.yml index d4b8a19032a19..4cbef4767e880 100644 --- a/recipes/etl/all/conandata.yml +++ b/recipes/etl/all/conandata.yml @@ -1,7 +1,7 @@ sources: - "20.39.0": - url: "https://github.com/ETLCPP/etl/archive/20.39.0.tar.gz" - sha256: "1553dfaba3ba8a44a592367127b145ba6e413bf2df376808bdb6fe7a7635c197" + "20.39.3": + url: "https://github.com/ETLCPP/etl/archive/20.39.3.tar.gz" + sha256: "1d596bc47d17959ced8b4586e0ae22348c903df6ab00f47ef900d854ef5e30c8" "20.38.17": url: "https://github.com/ETLCPP/etl/archive/20.38.17.tar.gz" sha256: "5b490aca3faad3796a48bf0980e74f2a67953967fad3c051a6d4981051cb0b9a" diff --git a/recipes/etl/config.yml b/recipes/etl/config.yml index daa3200bd03a1..a0f3f48c1fdfb 100644 --- a/recipes/etl/config.yml +++ b/recipes/etl/config.yml @@ -1,5 +1,5 @@ versions: - "20.39.0": + "20.39.3": folder: all "20.38.17": folder: all From 60eeb4240ebdafaab5e96cfa2391fb2acba09997 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 19 Aug 2024 20:33:05 +0900 Subject: [PATCH 362/641] (#24944) fast_float: add version 6.1.4 --- recipes/fast_float/all/conandata.yml | 3 +++ recipes/fast_float/all/conanfile.py | 2 +- recipes/fast_float/all/test_package/conanfile.py | 1 + recipes/fast_float/config.yml | 2 ++ 4 files changed, 7 insertions(+), 1 deletion(-) diff --git a/recipes/fast_float/all/conandata.yml b/recipes/fast_float/all/conandata.yml index ae2caf93865a3..a2e5691cf1b29 100644 --- a/recipes/fast_float/all/conandata.yml +++ b/recipes/fast_float/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "6.1.4": + url: "https://github.com/fastfloat/fast_float/archive/v6.1.4.tar.gz" + sha256: "12cb6d250824160ca16bcb9d51f0ca7693d0d10cb444f34f1093bc02acfce704" "6.1.3": url: "https://github.com/fastfloat/fast_float/archive/v6.1.3.tar.gz" sha256: "7dd99cc2ff44e07dc2a42bed0c6b8c4a8ee4e3b1c330f77073b6cfdb48724c8e" diff --git a/recipes/fast_float/all/conanfile.py b/recipes/fast_float/all/conanfile.py index ec98c563d0552..e53918364ffe6 100644 --- a/recipes/fast_float/all/conanfile.py +++ b/recipes/fast_float/all/conanfile.py @@ -11,9 +11,9 @@ class FastFloatConan(ConanFile): description = "Fast and exact implementation of the C++ from_chars " \ "functions for float and double types." license = ("Apache-2.0", "MIT", "BSL-1.0") - topics = ("conversion", "from_chars", "header-only") url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/fastfloat/fast_float" + topics = ("conversion", "from_chars", "header-only") package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True diff --git a/recipes/fast_float/all/test_package/conanfile.py b/recipes/fast_float/all/test_package/conanfile.py index d120a992c06a6..8a5bb47f50c4c 100644 --- a/recipes/fast_float/all/test_package/conanfile.py +++ b/recipes/fast_float/all/test_package/conanfile.py @@ -7,6 +7,7 @@ class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" generators = "CMakeToolchain", "CMakeDeps", "VirtualRunEnv" + test_type = "explicit" def requirements(self): self.requires(self.tested_reference_str) diff --git a/recipes/fast_float/config.yml b/recipes/fast_float/config.yml index 308dbf8194407..3234ab8636ae4 100644 --- a/recipes/fast_float/config.yml +++ b/recipes/fast_float/config.yml @@ -1,4 +1,6 @@ versions: + "6.1.4": + folder: all "6.1.3": folder: all "6.1.1": From fd2b1e5f7ea1b75f0d04f76164ae714697947857 Mon Sep 17 00:00:00 2001 From: tbeu Date: Mon, 19 Aug 2024 14:11:17 +0200 Subject: [PATCH 363/641] (#24949) shapelib: add version 1.6.1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * shapelib: Update to v1.6.1 * Disable pc file install * Remove installed pkgconfig file in package() method instead of patching it out --------- Co-authored-by: Abril Rincón Blanco --- recipes/shapelib/all/conandata.yml | 3 +++ recipes/shapelib/all/conanfile.py | 1 + recipes/shapelib/config.yml | 2 ++ 3 files changed, 6 insertions(+) diff --git a/recipes/shapelib/all/conandata.yml b/recipes/shapelib/all/conandata.yml index 1c122519c5ede..b4cae11fb3a97 100644 --- a/recipes/shapelib/all/conandata.yml +++ b/recipes/shapelib/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.6.1": + url: "https://github.com/OSGeo/shapelib/archive/v1.6.1.tar.gz" + sha256: "72a30ed408edee0dc9eaa81255e634af6706f9192b5ed5b536013f1cc4b327c4" "1.6.0": url: "https://github.com/OSGeo/shapelib/archive/v1.6.0.tar.gz" sha256: "0bfd1eab9616ca3c420a5ad674b0d07c7c5018620d6ab6ae43917daa18ff0d1e" diff --git a/recipes/shapelib/all/conanfile.py b/recipes/shapelib/all/conanfile.py index e4deabe7afba9..56012aa251125 100644 --- a/recipes/shapelib/all/conanfile.py +++ b/recipes/shapelib/all/conanfile.py @@ -63,6 +63,7 @@ def package(self): cmake.install() rm(self, "*.exe", os.path.join(self.package_folder, "bin")) rmdir(self, os.path.join(self.package_folder, "share")) + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) def package_info(self): self.cpp_info.set_property("cmake_file_name", "shapelib") diff --git a/recipes/shapelib/config.yml b/recipes/shapelib/config.yml index 04ffd79e144a1..7da8bd84259cd 100644 --- a/recipes/shapelib/config.yml +++ b/recipes/shapelib/config.yml @@ -1,4 +1,6 @@ versions: + "1.6.1": + folder: all "1.6.0": folder: all "1.5.0": From ad3cd3a9a6502921d6d93a60e1987a97420c40a5 Mon Sep 17 00:00:00 2001 From: Roberto Turrado Camblor Date: Mon, 19 Aug 2024 14:31:27 +0200 Subject: [PATCH 364/641] (#24954) tree-gen: add version 1.0.8 * Bump dependencies versions (to gtest/1.15.0 and fmt/11.0.2). * Add tree-gen/1.0.8. * Fix sha256. * Fix fmt version problem. --- recipes/tree-gen/all/conandata.yml | 3 +++ recipes/tree-gen/all/conanfile.py | 7 +++++-- recipes/tree-gen/config.yml | 2 ++ 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/recipes/tree-gen/all/conandata.yml b/recipes/tree-gen/all/conandata.yml index 71aa893da1723..2ecf4e1d6e143 100644 --- a/recipes/tree-gen/all/conandata.yml +++ b/recipes/tree-gen/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.0.8": + url: "https://github.com/QuTech-Delft/tree-gen/archive/refs/tags/1.0.8.tar.gz" + sha256: "a840f1da2fa377d2d791885d83b95dc15f081b308208d3497c395721488a4130" "1.0.7": url: "https://github.com/QuTech-Delft/tree-gen/archive/refs/tags/1.0.7.tar.gz" sha256: "bd27c88d789efe1d187846d3b819fbaa1ba3a520d6d4181d1216c4a2e73e4e85" diff --git a/recipes/tree-gen/all/conanfile.py b/recipes/tree-gen/all/conanfile.py index e2afb05918b37..7c2572f700bf5 100644 --- a/recipes/tree-gen/all/conanfile.py +++ b/recipes/tree-gen/all/conanfile.py @@ -60,7 +60,7 @@ def layout(self): def build_requirements(self): if self._should_build_test: - self.test_requires("gtest/1.14.0") + self.test_requires("gtest/1.15.0") self.tool_requires("m4/1.4.19") if self.settings.os == "Windows": self.tool_requires("winflexbison/2.5.24") @@ -76,7 +76,10 @@ def validate(self): raise ConanInvalidConfiguration(f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support.") def requirements(self): - self.requires("fmt/10.2.1", transitive_headers=True) + if Version(self.version) < "1.0.8": + self.requires("fmt/10.2.1", transitive_headers=True) + else: + self.requires("fmt/11.0.2", transitive_headers=True) self.requires("range-v3/0.12.0", transitive_headers=True) def source(self): diff --git a/recipes/tree-gen/config.yml b/recipes/tree-gen/config.yml index 4028d61266d40..89fc823a7d6b8 100644 --- a/recipes/tree-gen/config.yml +++ b/recipes/tree-gen/config.yml @@ -1,4 +1,6 @@ versions: + "1.0.8": + folder: all "1.0.7": folder: all "1.0.6": From 2008863a756e34ad16e3bf6735d891744e57334f Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 19 Aug 2024 21:50:57 +0900 Subject: [PATCH 365/641] (#24957) dice-template-library: add version 1.8.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 e5d11350e20d2..f7dd63fb5557c 100644 --- a/recipes/dice-template-library/all/conandata.yml +++ b/recipes/dice-template-library/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.8.0": + url: "https://github.com/dice-group/dice-template-library/archive/refs/tags/v1.8.0.tar.gz" + sha256: "cb20717cb596b156b098146d043caa158618e055b8edbeb4d3245cd11e1c8276" "1.6.0": url: "https://github.com/dice-group/dice-template-library/archive/refs/tags/v1.6.0.tar.gz" sha256: "4eb176930beb05dba183d4a48fd9e9716676fe92f0a98a8f527cb8791b0d64fd" diff --git a/recipes/dice-template-library/config.yml b/recipes/dice-template-library/config.yml index 84543460d120f..5f58323cb4526 100644 --- a/recipes/dice-template-library/config.yml +++ b/recipes/dice-template-library/config.yml @@ -1,4 +1,6 @@ versions: + "1.8.0": + folder: all "1.6.0": folder: all "1.5.0": From 4933c9f9f6763a97ca6b01dc801b41442f572d2c Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 19 Aug 2024 22:11:42 +0900 Subject: [PATCH 366/641] (#24959) rapidyaml: add version 0.7.1 --- recipes/rapidyaml/all/conandata.yml | 7 +++ .../0.7.1-001-remove-internal-c4core.patch | 50 +++++++++++++++++++ recipes/rapidyaml/config.yml | 2 + 3 files changed, 59 insertions(+) create mode 100644 recipes/rapidyaml/all/patches/0.7.1-001-remove-internal-c4core.patch diff --git a/recipes/rapidyaml/all/conandata.yml b/recipes/rapidyaml/all/conandata.yml index 70ade977aaed0..42ba70633e2ac 100644 --- a/recipes/rapidyaml/all/conandata.yml +++ b/recipes/rapidyaml/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.7.1": + url: "https://github.com/biojppm/rapidyaml/releases/download/v0.7.1/rapidyaml-0.7.1-src.tgz" + sha256: "9f7c0df2117c09ea409afef38f27605f79f4455dd73b6b9d6afaed099a627c8a" "0.7.0": url: "https://github.com/biojppm/rapidyaml/releases/download/v0.7.0/rapidyaml-0.7.0-src.tgz" sha256: "ef9f89b68de711c561720f1e70d1594e953356a07d297d36b8ccd3ded0589715" @@ -15,6 +18,10 @@ sources: url: "https://github.com/biojppm/rapidyaml/releases/download/v0.3.0/rapidyaml-0.3.0-src.tgz" sha256: "38854b8359eaf42cc27352f4b7321f509f6775445a3e2746cc8cd1e468a52aa9" patches: + "0.7.1": + - patch_file: "patches/0.7.1-001-remove-internal-c4core.patch" + patch_description: "disable using internal c4core" + patch_type: "conan" "0.7.0": - patch_file: "patches/0.7.0-001-remove-internal-c4core.patch" patch_description: "disable using internal c4core" diff --git a/recipes/rapidyaml/all/patches/0.7.1-001-remove-internal-c4core.patch b/recipes/rapidyaml/all/patches/0.7.1-001-remove-internal-c4core.patch new file mode 100644 index 0000000000000..e110ab49f9654 --- /dev/null +++ b/recipes/rapidyaml/all/patches/0.7.1-001-remove-internal-c4core.patch @@ -0,0 +1,50 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index c3841a2..affaa56 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -6,7 +6,7 @@ project(ryml + LANGUAGES CXX) + include(./compat.cmake) + +-c4_project(VERSION 0.7.1 STANDALONE ++c4_project(VERSION 0.7.1 + AUTHOR "Joao Paulo Magalhaes ") + + +@@ -27,11 +27,11 @@ option(RYML_INSTALL "Enable install target" ON) + + #------------------------------------------------------- + +-c4_require_subproject(c4core INCORPORATE +- SUBDIRECTORY ${RYML_EXT_DIR}/c4core +- OVERRIDE C4CORE_INSTALL ${RYML_INSTALL} +-) +- ++# c4_require_subproject(c4core INCORPORATE ++# SUBDIRECTORY ${RYML_EXT_DIR}/c4core ++# OVERRIDE C4CORE_INSTALL ${RYML_INSTALL} ++# ) ++find_package(c4core REQUIRED CONFIG) + c4_add_library(ryml + SOURCES + ryml.hpp +@@ -77,8 +77,8 @@ c4_add_library(ryml + INC_DIRS + $ + $ +- LIBS c4core +- INCORPORATE c4core ++ LIBS c4core::c4core ++# INCORPORATE c4core + ) + + if(RYML_WITH_TAB_TOKENS) +@@ -113,7 +113,7 @@ endif() + + if(RYML_INSTALL) + c4_install_target(ryml) +- c4_install_exports(DEPENDENCIES c4core) ++# c4_install_exports(DEPENDENCIES c4core) + c4_pack_project() + endif() + diff --git a/recipes/rapidyaml/config.yml b/recipes/rapidyaml/config.yml index 23d421955a48a..5345cf4f908f1 100644 --- a/recipes/rapidyaml/config.yml +++ b/recipes/rapidyaml/config.yml @@ -1,4 +1,6 @@ versions: + "0.7.1": + folder: all "0.7.0": folder: all "0.5.0": From fcf4519a9079afde667560e835576f6245a4f1f6 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 19 Aug 2024 22:31:40 +0900 Subject: [PATCH 367/641] (#24960) c4core: add version 0.2.2 --- recipes/c4core/all/conandata.yml | 7 ++++ .../0.2.2-0001-make-fast_float-external.patch | 38 +++++++++++++++++++ recipes/c4core/config.yml | 2 + 3 files changed, 47 insertions(+) create mode 100644 recipes/c4core/all/patches/0.2.2-0001-make-fast_float-external.patch diff --git a/recipes/c4core/all/conandata.yml b/recipes/c4core/all/conandata.yml index 742894bf86081..8abc810fc0588 100644 --- a/recipes/c4core/all/conandata.yml +++ b/recipes/c4core/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.2.2": + url: "https://github.com/biojppm/c4core/releases/download/v0.2.2/c4core-0.2.2-src.tgz" + sha256: "beea43a5bdc64616d897cc0af728f408e35e2d75a8bb6014e6e25e90e0484578" "0.2.1": url: "https://github.com/biojppm/c4core/releases/download/v0.2.1/c4core-0.2.1-src.tgz" sha256: "6447896444c59002af58c8543d0bc64184b9a5c5992c8fc09d6d71935d039f89" @@ -18,6 +21,10 @@ sources: url: "https://github.com/biojppm/c4core/releases/download/v0.1.8/c4core-0.1.8-src.tgz" sha256: "95c0663192c6bff7a098b50afcb05d22a34dd0fd8e6be2e1b61edad2b9675fde" patches: + "0.2.2": + - patch_file: "patches/0.2.2-0001-make-fast_float-external.patch" + patch_description: "use cci's fast_float recipe" + patch_type: "conan" "0.2.1": - patch_file: "patches/0.2.0-0001-make-fast_float-external.patch" patch_description: "use cci's fast_float recipe" diff --git a/recipes/c4core/all/patches/0.2.2-0001-make-fast_float-external.patch b/recipes/c4core/all/patches/0.2.2-0001-make-fast_float-external.patch new file mode 100644 index 0000000000000..159c3bcb4195b --- /dev/null +++ b/recipes/c4core/all/patches/0.2.2-0001-make-fast_float-external.patch @@ -0,0 +1,38 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 79451c5..c93511a 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -76,7 +76,7 @@ set(C4CORE_SRC_FILES + if(C4CORE_WITH_FASTFLOAT) + list(APPEND C4CORE_SRC_FILES + c4/ext/fast_float.hpp +- c4/ext/fast_float_all.h ++# c4/ext/fast_float_all.h + ) + endif() + set(C4CORE_AMALGAMATED ${C4CORE_SRC_DIR}/../src_singleheader/c4/c4core_all.hpp) +@@ -95,7 +95,10 @@ c4_add_library(c4core + SOURCE_ROOT ${C4CORE_SRC_DIR} + SOURCES ${C4CORE_SRC_FILES} + ) +-if(NOT C4CORE_WITH_FASTFLOAT) ++if(C4CORE_WITH_FASTFLOAT) ++ find_package(FastFloat REQUIRED CONFIG) ++ target_link_libraries(c4core PUBLIC "FastFloat::fast_float") ++else() + target_compile_definitions(c4core PUBLIC -DC4CORE_NO_FAST_FLOAT) + endif() + if(C4CORE_NO_DEBUG_BREAK) +diff --git a/src/c4/ext/fast_float.hpp b/src/c4/ext/fast_float.hpp +index 4bf3c0d..b6a3a77 100644 +--- a/src/c4/ext/fast_float.hpp ++++ b/src/c4/ext/fast_float.hpp +@@ -20,7 +20,7 @@ + # pragma GCC diagnostic ignored "-Wold-style-cast" + #endif + +-#include "c4/ext/fast_float_all.h" ++#include "fast_float/fast_float.h" + + #ifdef _MSC_VER + # pragma warning(pop) diff --git a/recipes/c4core/config.yml b/recipes/c4core/config.yml index afc5fb74fc180..6368871bf45ae 100644 --- a/recipes/c4core/config.yml +++ b/recipes/c4core/config.yml @@ -1,4 +1,6 @@ versions: + "0.2.2": + folder: all "0.2.1": folder: all "0.2.0": From 743bc74dbaa523756d34db709ceea43646fe38da Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 19 Aug 2024 22:51:24 +0900 Subject: [PATCH 368/641] (#24972) jsoncons: add version 0.177.0 --- recipes/jsoncons/all/conandata.yml | 3 +++ recipes/jsoncons/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/jsoncons/all/conandata.yml b/recipes/jsoncons/all/conandata.yml index aca299f96976a..488712d110383 100644 --- a/recipes/jsoncons/all/conandata.yml +++ b/recipes/jsoncons/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.177.0": + url: "https://github.com/danielaparker/jsoncons/archive/refs/tags/v0.177.0.tar.gz" + sha256: "a381d58489f143a3a515484f4ad6e32ae4d977033e1a455fecf8cdc4e2c9a49e" "0.176.0": url: "https://github.com/danielaparker/jsoncons/archive/refs/tags/v0.176.0.tar.gz" sha256: "2eb50b5cbe204265fef96c052511ed6e3b8808935c6e2c8d28e0aba7b08fda33" diff --git a/recipes/jsoncons/config.yml b/recipes/jsoncons/config.yml index 6025c4b0dd2aa..57cfc555c3f95 100644 --- a/recipes/jsoncons/config.yml +++ b/recipes/jsoncons/config.yml @@ -1,4 +1,6 @@ versions: + "0.177.0": + folder: "all" "0.176.0": folder: "all" "0.175.0": From c1e6ff18063aca9d478a91eab0f53a0d5e86ba1c Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 19 Aug 2024 23:11:27 +0900 Subject: [PATCH 369/641] (#24973) sqlitecpp: add version 3.3.2 --- recipes/sqlitecpp/all/conandata.yml | 3 +++ recipes/sqlitecpp/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/sqlitecpp/all/conandata.yml b/recipes/sqlitecpp/all/conandata.yml index a10675f041108..d52b243030764 100644 --- a/recipes/sqlitecpp/all/conandata.yml +++ b/recipes/sqlitecpp/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.3.2": + url: "https://github.com/SRombauts/SQLiteCpp/archive/3.3.2.tar.gz" + sha256: "5aa8eda130d0689bd5ed9b2074714c2dbc610f710483c61ba6cf944cebfe03af" "3.3.1": url: "https://github.com/SRombauts/SQLiteCpp/archive/3.3.1.tar.gz" sha256: "71f990f9fb4b004533b6859ce40729af823b87fe691dd99ca084a7fd40db54b9" diff --git a/recipes/sqlitecpp/config.yml b/recipes/sqlitecpp/config.yml index b3381f7005ac8..98605ec73a785 100644 --- a/recipes/sqlitecpp/config.yml +++ b/recipes/sqlitecpp/config.yml @@ -1,4 +1,6 @@ versions: + "3.3.2": + folder: all "3.3.1": folder: all "3.3.0": From 3cbb102dcf23176097886eaf1751d7f63ec8f509 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 19 Aug 2024 23:31:20 +0900 Subject: [PATCH 370/641] (#24975) libheif: add version 0.18.2 --- recipes/libheif/all/conandata.yml | 3 +++ recipes/libheif/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/libheif/all/conandata.yml b/recipes/libheif/all/conandata.yml index 60f47c54dcbbb..bd315fb8684b3 100644 --- a/recipes/libheif/all/conandata.yml +++ b/recipes/libheif/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.18.2": + url: "https://github.com/strukturag/libheif/releases/download/v1.18.2/libheif-1.18.2.tar.gz" + sha256: "c4002a622bec9f519f29d84bfdc6024e33fd67953a5fb4dc2c2f11f67d5e45bf" "1.18.1": url: "https://github.com/strukturag/libheif/releases/download/v1.18.1/libheif-1.18.1.tar.gz" sha256: "8702564b0f288707ea72b260b3bf4ba9bf7abfa7dac01353def3a86acd6bbb76" diff --git a/recipes/libheif/config.yml b/recipes/libheif/config.yml index da73440318e68..7943f16d5196d 100644 --- a/recipes/libheif/config.yml +++ b/recipes/libheif/config.yml @@ -1,4 +1,6 @@ versions: + "1.18.2": + folder: all "1.18.1": folder: all "1.16.2": From e18fb92af5074ebebba48e7ad61bc8ad8031c3ad Mon Sep 17 00:00:00 2001 From: gmeeker Date: Mon, 19 Aug 2024 07:43:41 -0700 Subject: [PATCH 371/641] (#21353) wxWidgets intial recipe * (#5190) (#19991) (#20092) new wxwidgets recipe; ported from bincrafters to v2 * [wxwidgets] use f-strings * [wxwidgets] remove glib override * [wxwidgets] Add gtk option and default to gtk/system for now. * [wxwidgets] update system_requirements * [wxwidgets] Adding 3.2.4 * [wxwidgets] fix errors from gtk and opengl options * [wxwidgets] default to GTK2 to match gtk/system binaries in CCI * [wxwidgets] fix fPIC handling * [wxwidgets] fix nanosvg usage * [wxwidgets] fix cmake dependencies * [wxwidgets] don't package cmake files * [wxwidgets] fix macOS patching * [wxwidgets] use is_msvc * [wxwidgets] removing 3.1.x versions * [wxwidgets] Adding libraries to cpp_info to fix hook warnings. * remove older versions, add version ranges * fix config.yml for wxwidgets * add version range for expat * Update recipes/wxwidgets/all/conanfile.py Co-authored-by: Martin Valgur * [wxwidgets] set gtk, xkbcommon options * simplify recipe options * wip * simplify * remove comment * put jpeg option back --------- Co-authored-by: memsharded Co-authored-by: czoido Co-authored-by: Martin Valgur --- recipes/wxwidgets/all/conandata.yml | 4 + recipes/wxwidgets/all/conanfile.py | 477 ++++++++++++++++++ .../wxwidgets/all/test_package/CMakeLists.txt | 13 + .../wxwidgets/all/test_package/conanfile.py | 26 + .../all/test_package/test_package.cpp | 27 + recipes/wxwidgets/config.yml | 3 + 6 files changed, 550 insertions(+) create mode 100644 recipes/wxwidgets/all/conandata.yml create mode 100644 recipes/wxwidgets/all/conanfile.py create mode 100644 recipes/wxwidgets/all/test_package/CMakeLists.txt create mode 100644 recipes/wxwidgets/all/test_package/conanfile.py create mode 100644 recipes/wxwidgets/all/test_package/test_package.cpp create mode 100644 recipes/wxwidgets/config.yml diff --git a/recipes/wxwidgets/all/conandata.yml b/recipes/wxwidgets/all/conandata.yml new file mode 100644 index 0000000000000..3f7d9598805ab --- /dev/null +++ b/recipes/wxwidgets/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "3.2.5": + url: "https://github.com/wxWidgets/wxWidgets/archive/v3.2.5.tar.gz" + sha256: "c3a54d1c5dc3feefc2893c28923fd722c990c572253d5ad353eec99386ba11eb" diff --git a/recipes/wxwidgets/all/conanfile.py b/recipes/wxwidgets/all/conanfile.py new file mode 100644 index 0000000000000..59a1e6e30d3ee --- /dev/null +++ b/recipes/wxwidgets/all/conanfile.py @@ -0,0 +1,477 @@ +from conan import ConanFile +from conan.tools.apple import is_apple_os +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, replace_in_file, rmdir +from conan.tools.microsoft import is_msvc +from conan.tools.scm import Version +from conan.tools.system import package_manager +from conan.errors import ConanInvalidConfiguration +import os + +required_conan_version = ">=1.60.0 <2.0 || >=2.0.6" + + +class wxWidgetsConan(ConanFile): + name = "wxwidgets" + description = "wxWidgets is a C++ library that lets developers create applications for Windows, macOS, " \ + "Linux and other platforms with a single code base." + topics = ("wxwidgets", "gui", "ui") + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://www.wxwidgets.org" + license = "wxWidgets" + settings = "os", "arch", "compiler", "build_type" + + options = {"shared": [True, False], + "fPIC": [True, False], + "jpeg": ["libjpeg", "libjpeg-turbo", "mozjpeg"], + "secretstore": [True, False], + "aui": [True, False], + "opengl": [True, False], + "html": [True, False], + "mediactrl": [True, False], + "propgrid": [True, False], + "debugreport": [True, False], + "ribbon": [True, False], + "richtext": [True, False], + "sockets": [True, False], + "stc": [True, False], + "webview": [True, False], + "xml": [True, False], + "xrc": [True, False], + "cairo": [True, False], + "help": [True, False], + "html_help": [True, False], + "url": [True, False], + "protocol": [True, False], + "fs_inet": [True, False], + "custom_enables": ["ANY"], # comma splitted list + "custom_disables": ["ANY"]} + default_options = { + "shared": False, + "fPIC": True, + "jpeg": "libjpeg", + "secretstore": True, + "aui": True, + "opengl": True, + "html": True, + "mediactrl": False, + "propgrid": True, + "debugreport": True, + "ribbon": True, + "richtext": True, + "sockets": True, + "stc": True, + # WebKitGTK for GTK2 is not available as a system dependency on modern distros. + # When gtk/system defaults to GTK3, turn this back on. + "webview": False, + "xml": True, + "xrc": True, + "cairo": True, + "help": True, + "html_help": True, + "url": True, + "protocol": True, + "fs_inet": True, + "custom_enables": "", + "custom_disables": "" + } + + def export_sources(self): + export_conandata_patches(self) + + def config_options(self): + if self.settings.os == "Windows": + self.options.rm_safe("fPIC") + if self.settings.os != "Linux": + self.options.rm_safe("secretstore") + self.options.rm_safe("cairo") + + def configure(self): + if self.options.shared: + self.options.rm_safe("fPIC") + + @property + def _gtk_version(self): + return f"gtk{self.dependencies['gtk'].options.version}" + + def system_requirements(self): + apt = package_manager.Apt(self) + packages = [] + if self.options.get_safe("secretstore"): + packages.append("libsecret-1-dev") + if self.options.webview: + if self._gtk_version == "gtk2": + packages.extend(["libsoup2.4-dev", + "libwebkitgtk-dev"]) + else: + packages.extend(["libsoup3.0-dev", + "libwebkit2gtk-4.0-dev"]) + if self.options.get_safe("cairo"): + packages.append("libcairo2-dev") + apt.install(packages) + + yum = package_manager.Yum(self) + packages = [] + if self.options.get_safe("secretstore"): + packages.append("libsecret-devel") + if self.options.webview: + packages.extend(["libsoup3-devel", + "webkit2gtk4.1-devel"]) + if self.options.get_safe("cairo"): + packages.append("cairo-devel") + yum.install(packages) + + def build_requirements(self): + self.tool_requires("ninja/1.11.1") + self.tool_requires("cmake/[>=3.17]") + + # TODO: add support for gtk non system version when it's ready for Conan 2 + def requirements(self): + if self.settings.os == "Linux": + self.requires("xorg/system") + self.requires("gtk/system") + if self.options.get_safe("opengl", default=False): + self.requires("opengl/system") + self.requires("xkbcommon/1.6.0", options={"with_x11": True}) + # TODO: Does not work right now + # if self.options.get_safe("cairo"): + # self.requires("cairo/1.18.0") + if self.options.mediactrl: + self.requires("gstreamer/1.22.3") + self.requires("gst-plugins-base/1.19.2") + self.requires("libcurl/[>=7.78.0 <9]") + + if self.options.jpeg == "libjpeg": + self.requires("libjpeg/9e") + elif self.options.jpeg == "libjpeg-turbo": + self.requires("libjpeg-turbo/3.0.2") + elif self.options.jpeg == "mozjpeg": + self.requires("mozjpeg/4.1.5") + + self.requires("libpng/[>=1.6 <2]") + self.requires("libtiff/4.6.0") + self.requires("zlib/[>=1.2.11 <2]") + self.requires("expat/[>=2.6.2 <3]") + self.requires("pcre2/10.42") + self.requires("nanosvg/cci.20231025") + + def validate(self): + if self.settings.os == "Linux": + if not self.dependencies.direct_host["xkbcommon"].options.with_x11: + raise ConanInvalidConfiguration("The 'with_x11' option for the 'xkbcommon' package must be enabled") + + def layout(self): + cmake_layout(self, src_folder="src") + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def _patch_sources(self): + apply_conandata_patches(self) + # Don't change library names when cross-compiling + replace_in_file(self, os.path.join(self.source_folder, "build", "cmake", "functions.cmake"), + 'set(cross_target "-${CMAKE_SYSTEM_NAME}")', + 'set(cross_target)') + # Don't override Conan's toolchain + replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), + "CMAKE_OSX_DEPLOYMENT_TARGET", + "CMAKE_OSX_DEPLOYMENT_TARGET_IGNORED") + # Fix for strcpy_s (fix upstream?) + if is_apple_os(self): + cmake_version = "3.0" + replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), + f'cmake_minimum_required(VERSION {cmake_version})', + f'cmake_minimum_required(VERSION {cmake_version})\nadd_definitions(-D__STDC_WANT_LIB_EXT1__)') + + def generate(self): + tc = CMakeToolchain(self) + + # generic build options + tc.variables["wxBUILD_SHARED"] = self.options.shared + tc.variables["wxBUILD_SAMPLES"] = "OFF" + tc.variables["wxBUILD_TESTS"] = "OFF" + tc.variables["wxBUILD_DEMOS"] = "OFF" + tc.variables["wxBUILD_INSTALL"] = True + if self.settings.compiler == "clang": + tc.variables["wxBUILD_PRECOMP"] = "OFF" + + # platform-specific options + if is_msvc(self): + tc.variables["wxBUILD_USE_STATIC_RUNTIME"] = "MT" in str(self.settings.compiler.runtime) + tc.variables["wxBUILD_MSVC_MULTIPROC"] = True + if self.settings.os == "Linux": + tc.variables["wxBUILD_TOOLKIT"] = self._gtk_version + tc.variables["wxUSE_CAIRO"] = self.options.cairo + # Disable some optional libraries that will otherwise lead to non-deterministic builds + if self.settings.os != "Windows": + tc.variables["wxUSE_LIBSDL"] = "OFF" + tc.variables["wxUSE_LIBICONV"] = "OFF" + tc.variables["wxUSE_LIBNOTIFY"] = "OFF" + tc.variables["wxUSE_LIBMSPACK"] = "OFF" + tc.variables["wxUSE_LIBGNOMEVFS"] = "OFF" + + tc.variables["wxUSE_LIBPNG"] = "sys" + tc.variables["wxUSE_LIBJPEG"] = "sys" + tc.variables["wxUSE_LIBTIFF"] = "sys" + tc.variables["wxUSE_ZLIB"] = "sys" + tc.variables["wxUSE_EXPAT"] = "sys" + tc.variables["wxUSE_REGEX"] = "sys" + tc.variables["wxUSE_NANOSVG"] = "sys" + + # wxWidgets features + tc.variables["wxUSE_SECRETSTORE"] = self.options.get_safe("secretstore") + + # wxWidgets libraries + tc.variables["wxUSE_AUI"] = self.options.aui + tc.variables["wxUSE_OPENGL"] = self.options.get_safe("opengl", default=False) + tc.variables["wxUSE_HTML"] = self.options.html + tc.variables["wxUSE_MEDIACTRL"] = self.options.mediactrl + tc.variables["wxUSE_PROPGRID"] = self.options.propgrid + tc.variables["wxUSE_DEBUGREPORT"] = self.options.debugreport + tc.variables["wxUSE_RIBBON"] = self.options.ribbon + tc.variables["wxUSE_RICHTEXT"] = self.options.richtext + tc.variables["wxUSE_SOCKETS"] = self.options.sockets + tc.variables["wxUSE_STC"] = self.options.stc + tc.variables["wxUSE_WEBVIEW"] = self.options.webview + tc.variables["wxUSE_XML"] = self.options.xml + tc.variables["wxUSE_XRC"] = self.options.xrc + tc.variables["wxUSE_HELP"] = self.options.help + tc.variables["wxUSE_WXHTML_HELP"] = self.options.html_help + tc.variables["wxUSE_URL"] = self.options.protocol + tc.variables["wxUSE_PROTOCOL"] = self.options.protocol + tc.variables["wxUSE_FS_INET"] = self.options.fs_inet + tc.cache_variables["CMAKE_POLICY_DEFAULT_CMP0077"] = "NEW" + + for item in str(self.options.custom_enables).split(","): + if len(item) > 0: + tc.variables[item] = True + for item in str(self.options.custom_disables).split(","): + if len(item) > 0: + tc.variables[item] = False + + tc.generate() + + deps = CMakeDeps(self) + deps.set_property("expat", "cmake_file_name", "EXPAT") + deps.set_property("expat", "cmake_target_name", "EXPAT") + deps.set_property("nanosvg", "cmake_file_name", "NanoSVG") + deps.set_property("nanosvg", "cmake_target_name", "NanoSVG::nanosvg") + deps.generate() + + def build(self): + self._patch_sources() + cmake = CMake(self) + cmake.configure() + cmake.build() + + def package(self): + copy(self, pattern="licence.txt", + src=os.path.join(self.source_folder, "docs"), + dst=os.path.join(self.package_folder, "licenses")) + cmake = CMake(self) + cmake.install() + # remove cmake files + rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) + # copy setup.h + copy(self, pattern="*setup.h", + src=os.path.join(self.build_folder, "lib"), + dst=os.path.join(self.package_folder, "include", "wx"), + keep_path=False) + + if self.settings.os == "Windows": + # copy wxrc.exe + copy(self, pattern="*", + src=os.path.join(self.build_folder, "bin"), + dst=os.path.join(self.package_folder, "bin"), + keep_path=False) + else: + # make relative symlink + bin_dir = os.path.join(self.package_folder, "bin") + for x in os.listdir(bin_dir): + filename = os.path.join(bin_dir, x) + if os.path.islink(filename): + target = os.readlink(filename) + if os.path.isabs(target): + rel = os.path.relpath(target, bin_dir) + os.remove(filename) + os.symlink(rel, filename) + + def package_info(self): + self.cpp_info.set_property("cmake_find_mode", "both") + self.cpp_info.set_property("cmake_file_name", "wxWidgets") + self.cpp_info.set_property("cmake_target_name", "wxWidgets::wxWidgets") + self.cpp_info.set_property("pkg_config_name", "wxwidgets") + + _version = Version(self.version) + version_suffix_major_minor = f"-{_version.major}.{_version.minor}" + + # wx no longer uses a debug suffix for non-windows platforms from 3.1.3 onwards + use_debug_suffix = False + if self.settings.build_type == "Debug" and self.settings.os == "Windows": + use_debug_suffix = True + + debug = "d" if use_debug_suffix else "" + + if self.settings.os == "Linux": + prefix = "wx_" + toolkit = self._gtk_version + version = "" + suffix = version_suffix_major_minor + elif self.settings.os == "Macos": + prefix = "wx_" + toolkit = "osx_cocoa" + version = "" + suffix = version_suffix_major_minor + elif self.settings.os == "Windows": + toolkit = "msw" + if is_msvc(self): + prefix = "wx" + version = f"{_version.major}{_version.minor}" + suffix = "" + else: + prefix = "wx_" + version = "" + suffix = version_suffix_major_minor + + def base_library_pattern(library): + return "{prefix}base{version}u{debug}_%s{suffix}" % library + + def library_pattern(library): + return "{prefix}{toolkit}{version}u{debug}_%s{suffix}" % library + + libs = [] + libs.append("{prefix}base{version}u{debug}{suffix}") + libs.append(library_pattern("core")) + libs.append(library_pattern("adv")) + if self.options.sockets: + libs.append(base_library_pattern("net")) + if self.options.xml: + libs.append(base_library_pattern("xml")) + if self.options.aui: + libs.append(library_pattern("aui")) + if self.options.get_safe("opengl", default=False): + libs.append(library_pattern("gl")) + if self.options.html: + libs.append(library_pattern("html")) + if self.options.mediactrl: + libs.append(library_pattern("media")) + if self.options.propgrid: + libs.append(library_pattern("propgrid")) + if self.options.debugreport: + libs.append(library_pattern("qa")) + if self.options.ribbon: + libs.append(library_pattern("ribbon")) + if self.options.richtext: + libs.append(library_pattern("richtext")) + if self.options.stc: + if not self.options.shared: + scintilla_suffix = "{debug}" if self.settings.os == "Windows" else "{suffix}" + libs.append("wxscintilla" + scintilla_suffix) + libs.append(library_pattern("stc")) + if self.options.webview: + libs.append(library_pattern("webview")) + if self.options.xrc: + libs.append(library_pattern("xrc")) + for lib in reversed(libs): + self.cpp_info.libs.append(lib.format(prefix=prefix, + toolkit=toolkit, + version=version, + debug=debug, + suffix=suffix)) + + self.cpp_info.defines.append("wxUSE_GUI=1") + if self.settings.build_type == "Debug": + self.cpp_info.defines.append("__WXDEBUG__") + if self.options.shared: + self.cpp_info.defines.append("WXUSINGDLL") + if self.settings.os == "Linux": + self.cpp_info.defines.append("__WXGTK__") + self.cpp_info.system_libs.extend(["dl", "pthread", "SM"]) + elif self.settings.os == "Macos": + self.cpp_info.defines.extend(["__WXMAC__", "__WXOSX__", "__WXOSX_COCOA__"]) + for framework in ["Carbon", + "Cocoa", + "AudioToolbox", + "OpenGL", + "AppKit", + "AVKit", + "AVFoundation", + "Foundation", + "IOKit", + "ApplicationServices", + "CoreFoundation", + "CoreText", + "CoreGraphics", + "CoreServices", + "CoreMedia", + "CFNetwork", + "Security", + "ImageIO", + "System", + "WebKit", + "QuartzCore"]: + self.cpp_info.frameworks.append(framework) + elif self.settings.os == "Windows": + # see cmake/init.cmake + compiler_prefix = {"Visual Studio": "vc", + "msvc": "vc", + "gcc": "gcc", + "clang": "clang"}.get(str(self.settings.compiler)) + + arch_suffix = "_x64" if self.settings.arch == "x86_64" else "" + lib_suffix = "_dll" if self.options.shared else "_lib" + libdir = f"{compiler_prefix}{arch_suffix}{lib_suffix}" + libdir = os.path.join("lib", libdir) + self.cpp_info.bindirs.append(libdir) + self.cpp_info.libdirs.append(libdir) + self.cpp_info.defines.append("__WXMSW__") + # disable annoying auto-linking + self.cpp_info.defines.extend(["wxNO_NET_LIB", + "wxNO_XML_LIB", + "wxNO_REGEX_LIB", + "wxNO_ZLIB_LIB", + "wxNO_JPEG_LIB", + "wxNO_PNG_LIB", + "wxNO_TIFF_LIB", + "wxNO_ADV_LIB", + "wxNO_HTML_LIB", + "wxNO_GL_LIB", + "wxNO_QA_LIB", + "wxNO_XRC_LIB", + "wxNO_AUI_LIB", + "wxNO_PROPGRID_LIB", + "wxNO_RIBBON_LIB", + "wxNO_RICHTEXT_LIB", + "wxNO_MEDIA_LIB", + "wxNO_STC_LIB", + "wxNO_WEBVIEW_LIB"]) + self.cpp_info.system_libs.extend(["kernel32", + "user32", + "gdi32", + "comdlg32", + "winspool", + "shell32", + "comctl32", + "ole32", + "oleaut32", + "imm32", + "uuid", + "wininet", + "rpcrt4", + "winmm", + "advapi32", + "msimg32", + "opengl32", + "ws2_32", + "wsock32"]) + # Link a few libraries that are needed when using gcc on windows + if self.settings.compiler == "gcc": + self.cpp_info.system_libs.extend(["uxtheme", + "version", + "shlwapi", + "oleacc"]) + if is_msvc(self): + self.cpp_info.includedirs.append(os.path.join("include", "msvc")) + else: + include_path = os.path.join("include", f"wx{version_suffix_major_minor}") + self.cpp_info.includedirs = [include_path] + self.cpp_info.includedirs diff --git a/recipes/wxwidgets/all/test_package/CMakeLists.txt b/recipes/wxwidgets/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..c4d40ad29eb0f --- /dev/null +++ b/recipes/wxwidgets/all/test_package/CMakeLists.txt @@ -0,0 +1,13 @@ +cmake_minimum_required(VERSION 3.1) +project(test_package) + +find_package(wxWidgets REQUIRED) + +if(MSVC) + add_definitions("-DUNICODE") + add_definitions("-D_UNICODE") + add_definitions("-D_CRT_SECURE_NO_WARNINGS") +endif() + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} wxWidgets::wxWidgets) diff --git a/recipes/wxwidgets/all/test_package/conanfile.py b/recipes/wxwidgets/all/test_package/conanfile.py new file mode 100644 index 0000000000000..91817d9f2df17 --- /dev/null +++ b/recipes/wxwidgets/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", "compiler", "build_type", "arch" + generators = "CMakeToolchain", "CMakeDeps", "VirtualRunEnv" + test_type = "explicit" + + def layout(self): + cmake_layout(self) + + def requirements(self): + self.requires(self.tested_reference_str) + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/wxwidgets/all/test_package/test_package.cpp b/recipes/wxwidgets/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..40a8f99c42fac --- /dev/null +++ b/recipes/wxwidgets/all/test_package/test_package.cpp @@ -0,0 +1,27 @@ +#include +#include +#include +#include +#if wxUSE_STC +#include +#endif + +int main() +{ + int argc = 0; + wxChar * argv[] = {NULL}; + if (!wxEntryStart(argc, argv)) { + std::cerr << "wxEntryStart failed!" << std::endl; + return EXIT_FAILURE; + } + wxVersionInfo vi = wxGetLibraryVersionInfo(); + std::cout << "wxWidgets version: "; + std::cout << vi.GetMajor() << "."; + std::cout << vi.GetMinor() << "."; + std::cout << vi.GetMicro() << std::endl; +#if wxUSE_STC + wxStyledTextCtrl * stc = new wxStyledTextCtrl(); +#endif + wxEntryCleanup(); + return EXIT_SUCCESS; +} diff --git a/recipes/wxwidgets/config.yml b/recipes/wxwidgets/config.yml new file mode 100644 index 0000000000000..8ae01da60bd7d --- /dev/null +++ b/recipes/wxwidgets/config.yml @@ -0,0 +1,3 @@ +versions: + "3.2.5": + folder: "all" From ab8d4086178c57ee012bbd03f9b3cfdff812b282 Mon Sep 17 00:00:00 2001 From: Kevin Albertson Date: Mon, 19 Aug 2024 15:13:48 +0000 Subject: [PATCH 372/641] (#24853) mongo-c-driver: add version 1.27.5 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Abril Rincón Blanco --- recipes/mongo-c-driver/all/conandata.yml | 3 +++ recipes/mongo-c-driver/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/mongo-c-driver/all/conandata.yml b/recipes/mongo-c-driver/all/conandata.yml index 9d462dd06666e..1d8a512b5a0c7 100644 --- a/recipes/mongo-c-driver/all/conandata.yml +++ b/recipes/mongo-c-driver/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.27.5": + url: "https://github.com/mongodb/mongo-c-driver/archive/refs/tags/1.27.5.tar.gz" + sha256: "b90dab0856448c5919c1e04fe8d5a4d80d57779ccf8cf08e3981314a5961973d" "1.27.4": url: "https://github.com/mongodb/mongo-c-driver/archive/refs/tags/1.27.4.tar.gz" sha256: "37898440ebfd6fedfdb9cbbff7b0c5813f7e157b584a881538f124d086f880df" diff --git a/recipes/mongo-c-driver/config.yml b/recipes/mongo-c-driver/config.yml index e082954093227..c0eafff1accf2 100644 --- a/recipes/mongo-c-driver/config.yml +++ b/recipes/mongo-c-driver/config.yml @@ -1,4 +1,6 @@ versions: + "1.27.5": + folder: all "1.27.4": folder: all "1.27.3": From 3c641efdd252c2293b249235746e91cb5e313c6a Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 20 Aug 2024 00:52:54 +0900 Subject: [PATCH 373/641] (#24979) liburning: add version 2.7 --- recipes/liburing/all/conandata.yml | 7 +++++++ .../patches/liburing-2.4-disable_samples_and_tests.patch | 5 ++--- recipes/liburing/config.yml | 2 ++ 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/recipes/liburing/all/conandata.yml b/recipes/liburing/all/conandata.yml index f516fa5c32370..c4fd823c644aa 100644 --- a/recipes/liburing/all/conandata.yml +++ b/recipes/liburing/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.7": + url: "https://github.com/axboe/liburing/archive/liburing-2.7.tar.gz" + sha256: "56202ad443c50e684dde3692819be3b91bbe003e1c14bf5abfa11973669978c1" "2.6": url: "https://github.com/axboe/liburing/archive/liburing-2.6.tar.gz" sha256: "682f06733e6db6402c1f904cbbe12b94942a49effc872c9e01db3d7b180917cc" @@ -24,6 +27,10 @@ sources: url: "https://github.com/axboe/liburing/archive/liburing-0.7.tar.gz" sha256: "8e2842cfe947f3a443af301bdd6d034455536c38a455c7a700d0c1ad165a7543" patches: + "2.7": + - patch_file: "patches/liburing-2.4-disable_samples_and_tests.patch" + patch_description: "Disable tests and samples as it might not work while cross-compiling" + patch_type: "conan" "2.6": - patch_file: "patches/liburing-2.4-disable_samples_and_tests.patch" patch_description: "Disable tests and samples as it might not work while cross-compiling" diff --git a/recipes/liburing/all/patches/liburing-2.4-disable_samples_and_tests.patch b/recipes/liburing/all/patches/liburing-2.4-disable_samples_and_tests.patch index f3b6165682fd2..beb6f175e2861 100644 --- a/recipes/liburing/all/patches/liburing-2.4-disable_samples_and_tests.patch +++ b/recipes/liburing/all/patches/liburing-2.4-disable_samples_and_tests.patch @@ -2,12 +2,11 @@ diff --git a/Makefile b/Makefile index 73d021c..74aa8d7 100644 --- a/Makefile +++ b/Makefile -@@ -8,8 +8,6 @@ default: all +@@ -8,6 +8,4 @@ default: all all: @$(MAKE) -C src - @$(MAKE) -C test - @$(MAKE) -C examples - .PHONY: all install default clean test - .PHONY: FORCE cscope + \ No newline at end of file diff --git a/recipes/liburing/config.yml b/recipes/liburing/config.yml index 72a1f513df458..d8d4acd12f991 100644 --- a/recipes/liburing/config.yml +++ b/recipes/liburing/config.yml @@ -1,4 +1,6 @@ versions: + "2.7": + folder: all "2.6": folder: all "2.5": From 5bda130155b4b22479a1f1eac9928b84d4be473c Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 20 Aug 2024 01:11:48 +0900 Subject: [PATCH 374/641] (#24980) thorvg: add version 0.14.6 --- 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 5001b01654be6..54a4d7a98be69 100644 --- a/recipes/thorvg/all/conandata.yml +++ b/recipes/thorvg/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.14.6": + url: "https://github.com/thorvg/thorvg/archive/refs/tags/v0.14.6.tar.gz" + sha256: "13d7778968ce10f4f7dd1ea1f66861d4ee8ff22f669566992b4ac00e050496cf" "0.14.5": url: "https://github.com/thorvg/thorvg/archive/refs/tags/v0.14.5.tar.gz" sha256: "a007c548e39b0fad5d66ce9cf71244d3d219d9188fd80ccc049a5fa1b7f7aac2" diff --git a/recipes/thorvg/config.yml b/recipes/thorvg/config.yml index bb339477ec6e8..d575fd184ff22 100644 --- a/recipes/thorvg/config.yml +++ b/recipes/thorvg/config.yml @@ -1,4 +1,6 @@ versions: + "0.14.6": + folder: all "0.14.5": folder: all "0.14.4": From dbfcf102b451387c45d8b4cf4ba1c3b1f984c71c Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Mon, 19 Aug 2024 18:31:31 +0200 Subject: [PATCH 375/641] (#24977) abseil: add version 20240722.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * abseil: add version 20240722.0 * fix cmake version * Use newer cmake versions only in newer abseil versions --------- Co-authored-by: Abril Rincón Blanco --- recipes/abseil/all/conandata.yml | 8 ++++++++ recipes/abseil/all/conanfile.py | 5 +++++ recipes/abseil/config.yml | 2 ++ 3 files changed, 15 insertions(+) diff --git a/recipes/abseil/all/conandata.yml b/recipes/abseil/all/conandata.yml index b213e4b527e01..fa078f9fc7138 100644 --- a/recipes/abseil/all/conandata.yml +++ b/recipes/abseil/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "20240722.0": + url: "https://github.com/abseil/abseil-cpp/archive/20240722.0.tar.gz" + sha256: "f50e5ac311a81382da7fa75b97310e4b9006474f9560ac46f54a9967f07d4ae3" "20240116.2": url: "https://github.com/abseil/abseil-cpp/archive/20240116.2.tar.gz" sha256: "733726b8c3a6d39a4120d7e45ea8b41a434cdacde401cba500f14236c49b39dc" @@ -18,6 +21,11 @@ sources: url: "https://github.com/abseil/abseil-cpp/archive/20211102.0.tar.gz" sha256: "dcf71b9cba8dc0ca9940c4b316a0c796be8fab42b070bb6b7cab62b48f0e66c4" patches: + "20240722.0": + - patch_file: "patches/0003-absl-string-libm-20240116.patch" + patch_description: "link libm to absl string" + patch_type: "portability" + patch_source: "https://github.com/abseil/abseil-cpp/issues/1100" "20240116.2": - patch_file: "patches/0003-absl-string-libm-20240116.patch" patch_description: "link libm to absl string" diff --git a/recipes/abseil/all/conanfile.py b/recipes/abseil/all/conanfile.py index 6c10812e38452..55ae607eb9d58 100644 --- a/recipes/abseil/all/conanfile.py +++ b/recipes/abseil/all/conanfile.py @@ -74,6 +74,11 @@ def validate(self): # upstream tries its best to export symbols, but it's broken for the moment raise ConanInvalidConfiguration(f"{self.ref} shared not availabe for Visual Studio, please use version 20230802.1 or newer") + def build_requirements(self): + # https://github.com/abseil/abseil-cpp/blob/20240722.0/CMakeLists.txt#L19 + if Version(self.version) >= "20240722.0": + self.tool_requires("cmake/[>=3.16 <4]") + def layout(self): cmake_layout(self, src_folder="src") diff --git a/recipes/abseil/config.yml b/recipes/abseil/config.yml index 0af2b7beb4451..d29c717557868 100644 --- a/recipes/abseil/config.yml +++ b/recipes/abseil/config.yml @@ -1,4 +1,6 @@ versions: + "20240722.0": + folder: all "20240116.2": folder: all "20240116.1": From c73ad780dcec4dd42369489024a02c18f003c5ed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Abril=20Rinc=C3=B3n=20Blanco?= Date: Mon, 19 Aug 2024 19:01:48 +0200 Subject: [PATCH 376/641] (#24277) Add rebound library * Add rebound library * Add pthread in Linux * Remove windows support * Disable crossbuilding * Bump * Backport Uilian fix for legacy stdio lib * Make hooks happy, clarify why not build_type in settings * macos not supported --------- Co-authored-by: danimtb --- recipes/rebound/all/conandata.yml | 10 +++ recipes/rebound/all/conanfile.py | 78 +++++++++++++++++++ .../patches/0001-4.4.1-stdio-legacy-fix.patch | 24 ++++++ .../rebound/all/test_package/CMakeLists.txt | 7 ++ recipes/rebound/all/test_package/conanfile.py | 27 +++++++ .../rebound/all/test_package/test_package.c | 31 ++++++++ recipes/rebound/config.yml | 3 + 7 files changed, 180 insertions(+) create mode 100644 recipes/rebound/all/conandata.yml create mode 100644 recipes/rebound/all/conanfile.py create mode 100644 recipes/rebound/all/patches/0001-4.4.1-stdio-legacy-fix.patch create mode 100644 recipes/rebound/all/test_package/CMakeLists.txt create mode 100644 recipes/rebound/all/test_package/conanfile.py create mode 100644 recipes/rebound/all/test_package/test_package.c create mode 100644 recipes/rebound/config.yml diff --git a/recipes/rebound/all/conandata.yml b/recipes/rebound/all/conandata.yml new file mode 100644 index 0000000000000..9c806c1b5b5a5 --- /dev/null +++ b/recipes/rebound/all/conandata.yml @@ -0,0 +1,10 @@ +sources: + "4.4.1": + url: "https://github.com/hannorein/rebound/archive/refs/tags/4.4.1.tar.gz" + sha256: "0ae7bdf20750cd0a83c4905a66c3cde211f09ac732ffb4cba9887e68aba5273b" +patches: + "4.4.1": + - patch_file: "patches/0001-4.4.1-stdio-legacy-fix.patch" + patch_description: "Link to legacy_stdio only when MSVC" + patch_type: "backport" + patch_source: "https://github.com/hannorein/rebound/pull/777" diff --git a/recipes/rebound/all/conanfile.py b/recipes/rebound/all/conanfile.py new file mode 100644 index 0000000000000..eb8767e10950a --- /dev/null +++ b/recipes/rebound/all/conanfile.py @@ -0,0 +1,78 @@ +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.apple import fix_apple_shared_install_name +from conan.tools.build import cross_building +from conan.tools.files import chdir, copy, get, rm, rmdir, export_conandata_patches, apply_conandata_patches +from conan.tools.gnu import Autotools, AutotoolsToolchain +from conan.tools.layout import basic_layout +import os + + +required_conan_version = ">=1.54.0" + + +class ReboundConan(ConanFile): + name = "rebound" + description = "REBOUND is an N-body integrator, i.e. a software package that can integrate the motion of particles under the influence of gravity." + license = "GPL-3.0" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/hannorein/rebound" + topics = ("physics", "simulation", "n-body", "gravity", "integrator") + package_type = "shared-library" + # Scripts always compile with optimizations enabled + settings = "os", "arch", "compiler" + + @property + def _settings_build(self): + return getattr(self, "settings_build", self.settings) + + def export_sources(self): + export_conandata_patches(self) + + def configure(self): + self.settings.rm_safe("compiler.cppstd") + self.settings.rm_safe("compiler.libcxx") + + def layout(self): + basic_layout(self, src_folder="src") + + def validate(self): + if self.settings.os in ["Windows", "Macos"]: + raise ConanInvalidConfiguration(f"{self.ref} recipe does not support {self.settings.os}, contributions welcomed!") + + def validate_build(self): + if cross_building(self): + raise ConanInvalidConfiguration(f"{self.ref} cross-building is not supported yet, contributions welcomed!") + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = AutotoolsToolchain(self) + tc.generate() + + def build(self): + apply_conandata_patches(self) + with chdir(self, self.source_folder): + autotools = Autotools(self) + autotools.make(target="librebound") + + def package(self): + copy(self, "LICENSE", self.source_folder, os.path.join(self.package_folder, "licenses")) + copy(self, "librebound.so", os.path.join(self.source_folder, "src"), os.path.join(self.package_folder, "lib")) + + copy(self, "*.h", os.path.join(self.source_folder, "src"), os.path.join(self.package_folder, "include")) + + # some files extensions and folders are not allowed. Please, read the FAQs to get informed. + rm(self, "*.la", os.path.join(self.package_folder, "lib")) + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) + rmdir(self, os.path.join(self.package_folder, "share")) + + # In shared lib/executable files, autotools set install_name (macOS) to lib dir absolute path instead of @rpath, it's not relocatable, so fix it + fix_apple_shared_install_name(self) + + def package_info(self): + self.cpp_info.libs = ["rebound"] + + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.system_libs.append("pthread") diff --git a/recipes/rebound/all/patches/0001-4.4.1-stdio-legacy-fix.patch b/recipes/rebound/all/patches/0001-4.4.1-stdio-legacy-fix.patch new file mode 100644 index 0000000000000..9fe5511878c30 --- /dev/null +++ b/recipes/rebound/all/patches/0001-4.4.1-stdio-legacy-fix.patch @@ -0,0 +1,24 @@ +From e775c5c070093facb17a732c3b509bfe0ca8ade7 Mon Sep 17 00:00:00 2001 +From: Uilian Ries +Date: Tue, 18 Jun 2024 11:39:22 +0200 +Subject: [PATCH] Link to legacy_stdio only when MSVC + +Signed-off-by: Uilian Ries +--- + src/rebound.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/src/rebound.c b/src/rebound.c +index 18267206b..40afe76f4 100644 +--- a/src/rebound.c ++++ b/src/rebound.c +@@ -23,7 +23,9 @@ + * + */ + #define _NO_CRT_STDIO_INLINE // WIN32 to use _vsprintf_s ++#if defined(_WIN32) && defined(_MSC_VER) + #pragma comment(lib, "legacy_stdio_definitions.lib") ++#endif + #include + #include + #include // for offsetof() diff --git a/recipes/rebound/all/test_package/CMakeLists.txt b/recipes/rebound/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..f16f7cf26d671 --- /dev/null +++ b/recipes/rebound/all/test_package/CMakeLists.txt @@ -0,0 +1,7 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES C) + +find_package(rebound REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.c) +target_link_libraries(${PROJECT_NAME} PRIVATE rebound::rebound) diff --git a/recipes/rebound/all/test_package/conanfile.py b/recipes/rebound/all/test_package/conanfile.py new file mode 100644 index 0000000000000..0a808db45f245 --- /dev/null +++ b/recipes/rebound/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 layout(self): + cmake_layout(self) + + def requirements(self): + self.requires(self.tested_reference_str) + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/rebound/all/test_package/test_package.c b/recipes/rebound/all/test_package/test_package.c new file mode 100644 index 0000000000000..1cf6ab75b9e69 --- /dev/null +++ b/recipes/rebound/all/test_package/test_package.c @@ -0,0 +1,31 @@ +#include "rebound.h" +#include +#include + + +// Simplified from the simplest.c example in the REBOUND source code. +int main(int argc, char* argv[]) { + struct reb_simulation* r = reb_simulation_create(); + + reb_simulation_add_fmt(r, "m", 1.); // Central object + reb_simulation_add_fmt(r, "m a e", 1e-3, 1., 0.1); // Jupiter mass planet + reb_simulation_add_fmt(r, "a e", 1.4, 0.1); // Massless test particle + + // First integrate for 1 time units. + reb_simulation_integrate(r, 1.); + + // Then output some coordinates and orbital elements. + for (int i=0; iN; i++){ + struct reb_particle p = r->particles[i]; + printf("%f %f %f\n", p.x, p.y, p.z); + } + struct reb_particle primary = r->particles[0]; + for (int i=1; iN; i++){ + struct reb_particle p = r->particles[i]; + struct reb_orbit o = reb_orbit_from_particle(r->G, p, primary); + printf("%f %f %f\n", o.a, o.e, o.f); + } + + // Cleanup + reb_simulation_free(r); +} diff --git a/recipes/rebound/config.yml b/recipes/rebound/config.yml new file mode 100644 index 0000000000000..695144f0acbc9 --- /dev/null +++ b/recipes/rebound/config.yml @@ -0,0 +1,3 @@ +versions: + "4.4.1": + folder: "all" From a41457b0d397155942e03234b33d1afdf1a63fd3 Mon Sep 17 00:00:00 2001 From: Luis Caro Campos <3535649+jcar87@users.noreply.github.com> Date: Tue, 20 Aug 2024 09:43:47 +0100 Subject: [PATCH 377/641] (#24987) meson: use version range for ninja --- recipes/meson/all/conanfile.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/recipes/meson/all/conanfile.py b/recipes/meson/all/conanfile.py index 0de8c491aa662..788b38338e98b 100644 --- a/recipes/meson/all/conanfile.py +++ b/recipes/meson/all/conanfile.py @@ -24,7 +24,9 @@ def layout(self): def requirements(self): if self.conf.get("tools.meson.mesontoolchain:backend", default="ninja", check_type=str) == "ninja": - self.requires("ninja/1.11.1") + # Meson requires >=1.8.2 as of 1.5 + # https://github.com/mesonbuild/meson/blob/b6b634ad33e5ca9ad4a9d6139dba4244847cc0e8/mesonbuild/backend/ninjabackend.py#L625 + self.requires("ninja/[>=1.10.2 <2]") def package_id(self): self.info.clear() From 1621fc83fbb03399955568e4ed5951d327546e42 Mon Sep 17 00:00:00 2001 From: Luis Caro Campos <3535649+jcar87@users.noreply.github.com> Date: Tue, 20 Aug 2024 10:02:19 +0100 Subject: [PATCH 378/641] (#24986) ninja: prevent locating and using re2c executable during build --- recipes/ninja/all/conanfile.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/recipes/ninja/all/conanfile.py b/recipes/ninja/all/conanfile.py index 6fede8df5ba1b..5e97a00b8feff 100644 --- a/recipes/ninja/all/conanfile.py +++ b/recipes/ninja/all/conanfile.py @@ -1,6 +1,6 @@ from conan import ConanFile, conan_version from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout -from conan.tools.files import copy, get +from conan.tools.files import copy, get, replace_in_file from conan.tools.scm import Version import os @@ -25,6 +25,10 @@ def package_id(self): def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) + cmakelists = os.path.join(self.source_folder, "CMakeLists.txt") + + #prevent re2c (which is optional and not needed) from being used + replace_in_file(self, cmakelists, "if(RE2C)", "if(FALSE)") def generate(self): tc = CMakeToolchain(self) From dd47a55df79fa1477df33b75e2747e7555bbd551 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 20 Aug 2024 20:12:44 +0900 Subject: [PATCH 379/641] (#24990) libalsa: add version 1.2.12 --- recipes/libalsa/all/conandata.yml | 3 +++ recipes/libalsa/all/conanfile.py | 4 ++-- recipes/libalsa/config.yml | 2 ++ 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/recipes/libalsa/all/conandata.yml b/recipes/libalsa/all/conandata.yml index c612ddb389783..3c307f42aa636 100644 --- a/recipes/libalsa/all/conandata.yml +++ b/recipes/libalsa/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.2.12": + url: "https://github.com/alsa-project/alsa-lib/archive/v1.2.12.tar.gz" + sha256: "f067dbba9376e5bbbb417b77751d2a9f2f277c54fb3a2b5c023cc2c7dfb4e3c1" "1.2.10": url: "https://github.com/alsa-project/alsa-lib/archive/v1.2.10.tar.gz" sha256: "f55749847fd98274501f4691a2d847e89280c07d40a43cdac43d6443f69fc939" diff --git a/recipes/libalsa/all/conanfile.py b/recipes/libalsa/all/conanfile.py index 8c3046d892f5a..eff1547ac38a9 100644 --- a/recipes/libalsa/all/conanfile.py +++ b/recipes/libalsa/all/conanfile.py @@ -12,12 +12,12 @@ class LibalsaConan(ConanFile): name = "libalsa" + description = "Library of ALSA: The Advanced Linux Sound Architecture, that provides audio " \ + "and MIDI functionality to the Linux operating system" license = "LGPL-2.1-or-later" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/alsa-project/alsa-lib" topics = ("alsa", "sound", "audio", "midi") - description = "Library of ALSA: The Advanced Linux Sound Architecture, that provides audio " \ - "and MIDI functionality to the Linux operating system" package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { diff --git a/recipes/libalsa/config.yml b/recipes/libalsa/config.yml index ce651c2f0d63a..a734abbf480ed 100644 --- a/recipes/libalsa/config.yml +++ b/recipes/libalsa/config.yml @@ -1,4 +1,6 @@ versions: + "1.2.12": + folder: all "1.2.10": folder: all "1.2.7.2": From ebe1ff2914e626ad5601d7cdaeb9ae71e036ca0e Mon Sep 17 00:00:00 2001 From: jeremy-coulon Date: Tue, 20 Aug 2024 18:30:21 +0200 Subject: [PATCH 380/641] (#24525) [aws-sdk-cpp] Fix compil with option s3-crt=True MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Abril Rincón Blanco --- recipes/aws-sdk-cpp/all/conanfile.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/recipes/aws-sdk-cpp/all/conanfile.py b/recipes/aws-sdk-cpp/all/conanfile.py index 42238519d1e08..b122f2d6fdd0e 100644 --- a/recipes/aws-sdk-cpp/all/conanfile.py +++ b/recipes/aws-sdk-cpp/all/conanfile.py @@ -343,6 +343,8 @@ def requirements(self): self.requires("aws-c-http/0.8.1") self.requires("aws-c-io/0.14.7") self.requires("aws-crt-cpp/0.26.9", transitive_headers=True) + if self.options.get_safe("s3-crt"): + self.requires("aws-c-s3/0.5.5") if self.version == "1.9.234": self.requires("aws-c-common/0.6.11") self.requires("aws-c-event-stream/0.2.7") @@ -351,6 +353,8 @@ def requirements(self): self.requires("aws-c-http/0.6.7") self.requires("aws-c-io/0.10.9") self.requires("aws-crt-cpp/0.17.1a", transitive_headers=True) + if self.options.get_safe("s3-crt"): + self.requires("aws-c-s3/0.1.26") if self.settings.os != "Windows": self.requires("openssl/[>=1.1 <4]") self.requires("libcurl/[>=7.78.0 <9]") @@ -541,6 +545,9 @@ def package_info(self): if self.options.get_safe("text-to-speech"): self.cpp_info.components["text-to-speech"].requires.append("pulseaudio::pulseaudio") + if self.options.get_safe("s3-crt"): + self.cpp_info.components["s3-crt"].requires.append("aws-c-s3::aws-c-s3") + if self.settings.os == "Macos": if self.options.get_safe("text-to-speech"): self.cpp_info.components["text-to-speech"].frameworks.append("CoreAudio") From 56d62b7a630af83168452b293e299eb07f5cbcc5 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 20 Aug 2024 20:42:01 +0300 Subject: [PATCH 381/641] (#18842) azure-storage-cpp: migrate to Conan v2 * azure-storage-cpp: migrate to Conan v2 * azure-storage-cpp: simplify patching * azure-storage-cpp: bump deps * azure-storage-cpp: fix package_info() details * azure-storage-cpp: fix build_script_folder * azure-storage-cpp: require OpenSSL only on non-Windows * azure-storage-cpp: fix var name * azure-storage-cpp: bump deps * azure-storage-cpp: ensure cppstd flag is set * azure-storage-cpp: downgrade libxml2 * azure-storage-cpp: bump min GCC to v6 * azure-storage-cpp: downgrade libgettext due to libuuid version conflict * azure-storage-cpp: backport a C++17 compatibility fix * azure-storage-cpp: set C++ standard in test_package * azure-storage-cpp: fix libuuid CMake name * azure-storage-cpp: use target_link_libraries() * azure-storage-cpp: make Apple libs relocatable * azure-storage-cpp: use version range for libxml2 * azure-storage-cpp: remove outdated comment --- recipes/azure-storage-cpp/all/CMakeLists.txt | 17 +- recipes/azure-storage-cpp/all/conandata.yml | 6 +- recipes/azure-storage-cpp/all/conanfile.py | 161 +++++++++++------- .../all/patches/0001-cmake-fixes.patch | 72 -------- .../patches/fix-cpp17-incompatibility.patch | 51 ++++++ .../all/test_package/CMakeLists.txt | 8 +- .../all/test_package/conanfile.py | 22 ++- .../all/test_v1_package/CMakeLists.txt | 8 + .../all/test_v1_package/conanfile.py | 18 ++ 9 files changed, 207 insertions(+), 156 deletions(-) delete mode 100644 recipes/azure-storage-cpp/all/patches/0001-cmake-fixes.patch create mode 100644 recipes/azure-storage-cpp/all/patches/fix-cpp17-incompatibility.patch create mode 100644 recipes/azure-storage-cpp/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/azure-storage-cpp/all/test_v1_package/conanfile.py diff --git a/recipes/azure-storage-cpp/all/CMakeLists.txt b/recipes/azure-storage-cpp/all/CMakeLists.txt index 82ba25e8c2576..3d130cd5365bf 100644 --- a/recipes/azure-storage-cpp/all/CMakeLists.txt +++ b/recipes/azure-storage-cpp/all/CMakeLists.txt @@ -1,7 +1,16 @@ -cmake_minimum_required(VERSION 2.8.12) +cmake_minimum_required(VERSION 3.15) project(cmake_wrapper) -include(conanbuildinfo.cmake) -conan_basic_setup() +find_package(cpprestsdk REQUIRED) +find_package(OpenSSL REQUIRED) +find_package(LibXml2 REQUIRED) +find_package(UUID QUIET) -add_subdirectory("source_subfolder/Microsoft.WindowsAzure.Storage") +add_subdirectory(src/Microsoft.WindowsAzure.Storage) + +target_link_libraries(azurestorage + cpprestsdk::cpprestsdk + OpenSSL::SSL + LibXml2::LibXml2 + $ +) diff --git a/recipes/azure-storage-cpp/all/conandata.yml b/recipes/azure-storage-cpp/all/conandata.yml index ccef8ba8c5bd6..5ce9572d0f722 100644 --- a/recipes/azure-storage-cpp/all/conandata.yml +++ b/recipes/azure-storage-cpp/all/conandata.yml @@ -4,5 +4,7 @@ sources: sha256: "446a821d115949f6511b7eb01e6a0e4f014b17bfeba0f3dc33a51750a9d5eca5" patches: "7.5.0": - - base_path: source_subfolder - patch_file: patches/0001-cmake-fixes.patch + - patch_file: "patches/fix-cpp17-incompatibility.patch" + patch_description: "Fix a minor C++17 incompatibility in util.cpp" + patch_type: "portability" + patch_source: "https://patch-diff.githubusercontent.com/raw/Azure/azure-storage-cpp/pull/366" diff --git a/recipes/azure-storage-cpp/all/conanfile.py b/recipes/azure-storage-cpp/all/conanfile.py index 92f05a255ac83..abe044bfc3367 100644 --- a/recipes/azure-storage-cpp/all/conanfile.py +++ b/recipes/azure-storage-cpp/all/conanfile.py @@ -1,19 +1,27 @@ -from conans import ConanFile, CMake, tools -from conans.errors import ConanInvalidConfiguration import os -required_conan_version = ">=1.33.0" +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.apple import is_apple_os +from conan.tools.build import check_min_cppstd, valid_min_cppstd +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.files import copy, get, replace_in_file, export_conandata_patches, apply_conandata_patches +from conan.tools.microsoft import check_min_vs, is_msvc_static_runtime, is_msvc +from conan.tools.scm import Version + +required_conan_version = ">=1.53.0" + class AzureStorageCppConan(ConanFile): name = "azure-storage-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-storage-cpp" - description = "Microsoft Azure Storage Client Library for C++" topics = ("azure", "cpp", "cross-platform", "microsoft", "cloud") - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package" - exports_sources = ["CMakeLists.txt", "patches/**"] + + package_type = "library" + settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], "fPIC": [True, False], @@ -22,16 +30,6 @@ class AzureStorageCppConan(ConanFile): "shared": False, "fPIC": True, } - short_paths = True - _cmake = None - - @property - def _source_subfolder(self): - return "source_subfolder" - - @property - def _build_subfolder(self): - return "build_subfolder" @property def _minimum_cpp_standard(self): @@ -40,41 +38,16 @@ def _minimum_cpp_standard(self): @property def _minimum_compiler_version(self): return { - "gcc": "5", + "gcc": "6", "Visual Studio": "14", + "msvc": "190", "clang": "3.4", "apple-clang": "5.1", } - def requirements(self): - self.requires("cpprestsdk/2.10.18") - if self.settings.os != "Windows": - self.requires("boost/1.76.0") - self.requires("libxml2/2.9.10") - self.requires("util-linux-libuuid/2.39") - if self.settings.os == "Macos": - self.requires("libgettext/0.20.1") - - def source(self): - tools.get(**self.conan_data["sources"][self.version], - destination=self._source_subfolder, strip_root=True) - - def _configure_cmake(self): - if self._cmake: - return self._cmake - self._cmake = CMake(self) - - self._cmake.definitions["CMAKE_FIND_FRAMEWORK"] = "LAST" - self._cmake.definitions["BUILD_TESTS"] = False - self._cmake.definitions["BUILD_SAMPLES"] = False - if not self.settings.compiler.cppstd: - self._cmake.definitions["CMAKE_CXX_STANDARD"] = self._minimum_cpp_standard - - if self.settings.os == "Macos": - self._cmake.definitions["GETTEXT_LIB_DIR"] = self.deps_cpp_info["libgettext"].lib_paths[0] - - self._cmake.configure(build_folder=self._build_subfolder) - return self._cmake + def export_sources(self): + copy(self, "CMakeLists.txt", src=self.recipe_folder, dst=self.export_sources_folder) + export_conandata_patches(self) def config_options(self): if self.settings.os == "Windows": @@ -82,42 +55,100 @@ def config_options(self): def configure(self): if self.options.shared: - del self.options.fPIC + self.options.rm_safe("fPIC") + + def layout(self): + cmake_layout(self, src_folder="src") + + def requirements(self): + self.requires("cpprestsdk/2.10.19", transitive_headers=True, transitive_libs=True) + self.requires("libxml2/[>=2.12.5 <3]", transitive_headers=True, transitive_libs=True) + if self.settings.os != "Windows": + # Boost.Asio is used in a public header here: + # https://github.com/Azure/azure-storage-cpp/blob/v7.5.0/Microsoft.WindowsAzure.Storage/includes/wascore/timer_handler.h#L27 + self.requires("boost/1.83.0", transitive_headers=True, transitive_libs=True) + self.requires("util-linux-libuuid/2.39.2", transitive_headers=True, transitive_libs=True) + self.requires("openssl/[>=1.1 <4]") + if is_apple_os(self): + self.requires("libgettext/0.22") def validate(self): if self.settings.compiler.cppstd: - tools.check_min_cppstd(self, self._minimum_cpp_standard) + check_min_cppstd(self, self._minimum_cpp_standard) min_version = self._minimum_compiler_version.get(str(self.settings.compiler)) if not min_version: - self.output.warn("{} recipe lacks information about the {} compiler support.".format( - self.name, self.settings.compiler)) + self.output.warning( + f"{self.name} recipe lacks information about the {self.settings.compiler} compiler support." + ) else: - if tools.Version(self.settings.compiler.version) < min_version: - raise ConanInvalidConfiguration("{} requires C++{} support. The current compiler {} {} does not support it.".format( - self.name, self._minimum_cpp_standard, self.settings.compiler, self.settings.compiler.version)) + if Version(self.settings.compiler.version) < min_version: + raise ConanInvalidConfiguration( + f"{self.name} requires C++{self._minimum_cpp_standard} support. The current compiler" + f" {self.settings.compiler} {self.settings.compiler.version} does not support it." + ) # FIXME: Visual Studio 2015 & 2017 are supported but CI of CCI lacks several Win SDK components # https://github.com/conan-io/conan-center-index/issues/4195 - if self.settings.compiler == "Visual Studio" and tools.Version(self.settings.compiler.version) < "16": + if not check_min_vs(self, 192, raise_invalid=False): raise ConanInvalidConfiguration("Visual Studio < 2019 not yet supported in this recipe") - if self.settings.compiler == "Visual Studio" and self.options.shared and "MT" in self.settings.compiler.runtime: + if self.options.shared and is_msvc_static_runtime(self): raise ConanInvalidConfiguration("Visual Studio build for shared library with MT runtime is not supported") + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + tc.variables["CMAKE_FIND_FRAMEWORK"] = "LAST" + tc.variables["BUILD_TESTS"] = False + tc.variables["BUILD_SAMPLES"] = False + if is_apple_os(self): + tc.variables["GETTEXT_LIB_DIR"] = self.dependencies["libgettext"].cpp_info.libdir + if not valid_min_cppstd(self, self._minimum_cpp_standard): + tc.variables["CMAKE_CXX_STANDARD"] = self._minimum_cpp_standard + # Allow non-cache_variables to be used + tc.cache_variables["CMAKE_POLICY_DEFAULT_CMP0077"] = "NEW" + # Relocatable shared libs on macOS + tc.cache_variables["CMAKE_POLICY_DEFAULT_CMP0042"] = "NEW" + tc.generate() + + deps = CMakeDeps(self) + deps.set_property("util-linux-libuuid", "cmake_file_name", "UUID") + deps.generate() + + def _patch_sources(self): + apply_conandata_patches(self) + cmakelists_path = os.path.join(self.source_folder, "Microsoft.WindowsAzure.Storage", "CMakeLists.txt") + # Do not force C++11 and libc++ + replace_in_file(self, cmakelists_path, "-std=c++11", "") + replace_in_file(self, cmakelists_path, "-stdlib=libc++", "") + # Let Conan handle the Boost defines + replace_in_file(self, cmakelists_path, "add_definitions(-DBOOST_LOG_DYN_LINK)", "") + def build(self): - for patch in self.conan_data.get("patches", {}).get(self.version, []): - tools.patch(**patch) - cmake = self._configure_cmake() + self._patch_sources() + cmake = CMake(self) + cmake.configure(build_script_folder=self.source_path.parent) cmake.build() def package(self): - self.copy("LICENSE.txt", dst="licenses", src=self._source_subfolder) - cmake = self._configure_cmake() + copy(self, "LICENSE.txt", + dst=os.path.join(self.package_folder, "licenses"), + src=self.source_folder) + cmake = CMake(self) cmake.install() def package_info(self): - - self.cpp_info.libs = tools.collect_libs(self) if self.settings.os == "Windows": + # https://github.com/Azure/azure-storage-cpp/blob/v7.5.0/Microsoft.WindowsAzure.Storage/src/CMakeLists.txt#L100 + self.cpp_info.libs = ["wastorage"] + # https://github.com/Azure/azure-storage-cpp/blob/v7.5.0/Microsoft.WindowsAzure.Storage/src/CMakeLists.txt#L90 self.cpp_info.system_libs = ["ws2_32", "rpcrt4", "xmllite", "bcrypt"] - if not self.options.shared: - self.cpp_info.defines = ["_NO_WASTORAGE_API"] + if is_msvc(self): + # https://github.com/Azure/azure-storage-cpp/blob/v7.5.0/Microsoft.WindowsAzure.Storage/CMakeLists.txt#L116-L120 + if self.options.shared: + self.cpp_info.defines = ["WASTORAGE_DLL", "_USRDLL"] + else: + self.cpp_info.defines = ["_NO_WASTORAGE_API"] + else: + self.cpp_info.libs = ["azurestorage"] diff --git a/recipes/azure-storage-cpp/all/patches/0001-cmake-fixes.patch b/recipes/azure-storage-cpp/all/patches/0001-cmake-fixes.patch deleted file mode 100644 index c775329eb84fe..0000000000000 --- a/recipes/azure-storage-cpp/all/patches/0001-cmake-fixes.patch +++ /dev/null @@ -1,72 +0,0 @@ -diff --git a/Microsoft.WindowsAzure.Storage/CMakeLists.txt b/Microsoft.WindowsAzure.Storage/CMakeLists.txt -index ac9e65d..f5988f6 100644 ---- a/Microsoft.WindowsAzure.Storage/CMakeLists.txt -+++ b/Microsoft.WindowsAzure.Storage/CMakeLists.txt -@@ -46,9 +46,9 @@ if(UNIX) - find_package(OpenSSL 1.0.0 REQUIRED) - - -- find_package(UUID REQUIRED) -- find_package(Casablanca REQUIRED) -- find_package(LibXML2 REQUIRED) -+ find_package(libuuid REQUIRED) -+ find_package(cpprestsdk REQUIRED) -+ find_package(LibXml2 REQUIRED) - - if(BUILD_TESTS) - find_package(UnitTest++ REQUIRED) -@@ -57,7 +57,7 @@ if(UNIX) - - elseif(WIN32) - message("-- Setting WIN32 options") -- find_package(Casablanca REQUIRED) -+ find_package(cpprestsdk REQUIRED) - add_definitions(-DUNICODE -D_UNICODE -D_WIN32) - else() - message("-- Unsupported Build Platform.") -@@ -85,13 +85,10 @@ if(CMAKE_CXX_COMPILER_ID MATCHES "GNU") - - set(LD_FLAGS "${LD_FLAGS} -Wl,-z,defs") - -- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -fno-strict-aliasing") -+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-strict-aliasing") - - set(STRICT_CXX_FLAGS ${WARNINGS} "-Werror -pedantic") - -- if (BUILD_SHARED_LIBS) -- add_definitions(-DBOOST_LOG_DYN_LINK) -- endif() - add_definitions(-D_TURN_OFF_PLATFORM_STRING) - elseif(CMAKE_CXX_COMPILER_ID MATCHES "Clang") - message("-- Setting clang options") -@@ -100,14 +97,11 @@ elseif(CMAKE_CXX_COMPILER_ID MATCHES "Clang") - set(OSX_SUPPRESSIONS "-Wno-overloaded-virtual -Wno-sign-conversion -Wno-deprecated -Wno-unknown-pragmas -Wno-reorder -Wno-char-subscripts -Wno-switch -Wno-unused-parameter -Wno-unused-variable -Wno-deprecated -Wno-unused-value -Wno-unknown-warning-option -Wno-return-type-c-linkage -Wno-unused-function -Wno-sign-compare -Wno-shorten-64-to-32 -Wno-reorder -Wno-unused-local-typedefs") - set(WARNINGS "${WARNINGS} ${OSX_SUPPRESSIONS}") - -- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libc++ -Wno-return-type-c-linkage -Wno-unneeded-internal-declaration") -+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-return-type-c-linkage -Wno-unneeded-internal-declaration") - set(CMAKE_XCODE_ATTRIBUTE_CLANG_CXX_LIBRARY "libc++") - set(CMAKE_XCODE_ATTRIBUTE_CLANG_CXX_LANGUAGE_STANDARD "c++11") - -- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -fno-strict-aliasing") -- if (BUILD_SHARED_LIBS) -- add_definitions(-DBOOST_LOG_DYN_LINK) -- endif() -+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-strict-aliasing") - add_definitions(-D_TURN_OFF_PLATFORM_STRING) - elseif(CMAKE_CXX_COMPILER_ID MATCHES "MSVC") - message("-- Setting MSVC options") -@@ -142,11 +136,11 @@ set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/Binaries) - set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/Binaries) - - set(AZURESTORAGE_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/includes) --set(AZURESTORAGE_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/includes ${CASABLANCA_INCLUDE_DIR} ${Boost_INCLUDE_DIRS} ${OPENSSL_INCLUDE_DIRS} ${UUID_INCLUDE_DIRS} ${LibXML2_INCLUDE_DIR}) -+set(AZURESTORAGE_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/includes ${cpprestsdk_INCLUDE_DIR} ${Boost_INCLUDE_DIRS} ${OpenSSL_INCLUDE_DIRS} ${libuuid_INCLUDE_DIRS} ${LibXml2_INCLUDE_DIR}) - - - set(AZURESTORAGE_LIBRARY azurestorage) --set(AZURESTORAGE_LIBRARIES ${AZURESTORAGE_LIBRARY} ${CASABLANCA_LIBRARY} ${Boost_LIBRARIES} ${Boost_FRAMEWORK} ${OPENSSL_LIBRARIES} ${UUID_LIBRARIES} ${LibXML2_LIBRARY} ${CMAKE_THREAD_LIBS_INIT}) -+set(AZURESTORAGE_LIBRARIES ${AZURESTORAGE_LIBRARY} ${cpprestsdk_LIBRARIES} ${Boost_LIBRARIES} ${OpenSSL_LIBRARIES} ${libuuid_LIBRARIES} ${LibXml2_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT}) - - # Set version numbers centralized - set (AZURESTORAGE_VERSION_MAJOR 7) diff --git a/recipes/azure-storage-cpp/all/patches/fix-cpp17-incompatibility.patch b/recipes/azure-storage-cpp/all/patches/fix-cpp17-incompatibility.patch new file mode 100644 index 0000000000000..23af9f8243be8 --- /dev/null +++ b/recipes/azure-storage-cpp/all/patches/fix-cpp17-incompatibility.patch @@ -0,0 +1,51 @@ +From b81d6349d3f6c05741978bab9b07372150c85137 Mon Sep 17 00:00:00 2001 +From: Adam Mensel +Date: Mon, 31 Aug 2020 19:44:24 -0600 +Subject: [PATCH 1/2] Use lambdas instead of std::fun_ptr, to get free C++17 + compatibility. + +--- + Microsoft.WindowsAzure.Storage/src/util.cpp | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/Microsoft.WindowsAzure.Storage/src/util.cpp b/Microsoft.WindowsAzure.Storage/src/util.cpp +index cf0a3116..2d0d540c 100644 +--- a/Microsoft.WindowsAzure.Storage/src/util.cpp ++++ b/Microsoft.WindowsAzure.Storage/src/util.cpp +@@ -334,8 +334,8 @@ namespace azure { namespace storage { namespace core { + + utility::string_t str_trim_starting_trailing_whitespaces(const utility::string_t& str) + { +- auto non_space_begin = std::find_if(str.begin(), str.end(), std::not1(std::ptr_fun(isspace))); +- auto non_space_end = std::find_if(str.rbegin(), str.rend(), std::not1(std::ptr_fun(isspace))).base(); ++ auto non_space_begin = std::find_if(str.begin(), str.end(), [](char c) { return !std::isspace(c); }); ++ auto non_space_end = std::find_if(str.rbegin(), str.rend(), [](char c) { return !std::isspace(c); }).base(); + return utility::string_t(non_space_begin, non_space_end); + } + + +From b71db982b9f7065494c950c558f7e30b89026a89 Mon Sep 17 00:00:00 2001 +From: Adam Mensel +Date: Mon, 31 Aug 2020 23:02:29 -0600 +Subject: [PATCH 2/2] Keep the exact same logic as before, but still using a + lambda instead of std::fun_ptr. + +--- + Microsoft.WindowsAzure.Storage/src/util.cpp | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/Microsoft.WindowsAzure.Storage/src/util.cpp b/Microsoft.WindowsAzure.Storage/src/util.cpp +index 2d0d540c..c2a3d7d4 100644 +--- a/Microsoft.WindowsAzure.Storage/src/util.cpp ++++ b/Microsoft.WindowsAzure.Storage/src/util.cpp +@@ -334,8 +334,8 @@ namespace azure { namespace storage { namespace core { + + utility::string_t str_trim_starting_trailing_whitespaces(const utility::string_t& str) + { +- auto non_space_begin = std::find_if(str.begin(), str.end(), [](char c) { return !std::isspace(c); }); +- auto non_space_end = std::find_if(str.rbegin(), str.rend(), [](char c) { return !std::isspace(c); }).base(); ++ auto non_space_begin = std::find_if(str.begin(), str.end(), [](int c) { return !isspace(c); }); ++ auto non_space_end = std::find_if(str.rbegin(), str.rend(), [](int c) { return !isspace(c); }).base(); + return utility::string_t(non_space_begin, non_space_end); + } + diff --git a/recipes/azure-storage-cpp/all/test_package/CMakeLists.txt b/recipes/azure-storage-cpp/all/test_package/CMakeLists.txt index 1c789ba4ceba1..b3dc1a61ac7d2 100644 --- a/recipes/azure-storage-cpp/all/test_package/CMakeLists.txt +++ b/recipes/azure-storage-cpp/all/test_package/CMakeLists.txt @@ -1,12 +1,8 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(PackageTest CXX) -set(CMAKE_CXX_STANDARD 11) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() - find_package(azure-storage-cpp REQUIRED CONFIG) add_executable(example example.cpp) target_link_libraries(example azure-storage-cpp::azure-storage-cpp) +target_compile_features(example PRIVATE cxx_std_11) diff --git a/recipes/azure-storage-cpp/all/test_package/conanfile.py b/recipes/azure-storage-cpp/all/test_package/conanfile.py index 33fb4c0ecc216..8d52b7021efe1 100644 --- a/recipes/azure-storage-cpp/all/test_package/conanfile.py +++ b/recipes/azure-storage-cpp/all/test_package/conanfile.py @@ -1,11 +1,19 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake import os -from conans import ConanFile, CMake, tools +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" -class AwsSdkCppTestConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): cmake = CMake(self) @@ -13,6 +21,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "example") - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "example") + self.run(bin_path, env="conanrun") diff --git a/recipes/azure-storage-cpp/all/test_v1_package/CMakeLists.txt b/recipes/azure-storage-cpp/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/azure-storage-cpp/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup(TARGETS) + +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ + ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/azure-storage-cpp/all/test_v1_package/conanfile.py b/recipes/azure-storage-cpp/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..33fb4c0ecc216 --- /dev/null +++ b/recipes/azure-storage-cpp/all/test_v1_package/conanfile.py @@ -0,0 +1,18 @@ +import os + +from conans import ConanFile, CMake, tools + + +class AwsSdkCppTestConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self): + bin_path = os.path.join("bin", "example") + self.run(bin_path, run_environment=True) From a6f5f733f29491114e52e1d04904035b1d5b82d3 Mon Sep 17 00:00:00 2001 From: jeremy-coulon Date: Tue, 20 Aug 2024 22:09:58 +0200 Subject: [PATCH 382/641] (#24524) [aws-c-event-stream] Fix test_package memory leak MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Abril Rincón Blanco --- recipes/aws-c-event-stream/all/test_package/test_package.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/recipes/aws-c-event-stream/all/test_package/test_package.c b/recipes/aws-c-event-stream/all/test_package/test_package.c index 1b923438da34f..2cb953a451bf1 100644 --- a/recipes/aws-c-event-stream/all/test_package/test_package.c +++ b/recipes/aws-c-event-stream/all/test_package/test_package.c @@ -15,7 +15,7 @@ int main() { int res = aws_event_stream_message_init(&message, allocator, NULL, NULL); if (res != 0) { - fprintf(stderr, "Failed to init messag\n"); + fprintf(stderr, "Failed to init message\n"); } if (sizeof(expected_data) != aws_event_stream_message_total_length(&message)) { @@ -31,5 +31,7 @@ int main() { } } + aws_event_stream_message_clean_up(&message); + return EXIT_SUCCESS; } From 75a7235b230e569229fba0dea6ad546ec16d41e3 Mon Sep 17 00:00:00 2001 From: Esteban Dugueperoux <43169544+EstebanDugueperoux2@users.noreply.github.com> Date: Wed, 21 Aug 2024 01:11:27 +0200 Subject: [PATCH 383/641] (#24800) add new recipe for libMeshb * add new recipe for libMeshb * Take into account remarks * Try to fix shared/DLL lib on Windows * Disable windows shared build seems it doesn't seems supported * Try to fix test_package CI * Take into account remarks * Use get_safe to access shared option * Make pass on MSVC CI Signed-off-by: Uilian Ries * Update recipes/libmeshb/all/test_package/test_package.c Co-authored-by: Uilian Ries * Update recipes/libmeshb/all/test_package/test_package.c Co-authored-by: Uilian Ries * Apply suggestions from code review Co-authored-by: Uilian Ries * Apply suggestions from code review * Update recipes/libmeshb/all/conanfile.py Co-authored-by: Uilian Ries --------- Signed-off-by: Uilian Ries Co-authored-by: Uilian Ries --- recipes/libmeshb/all/conandata.yml | 4 + recipes/libmeshb/all/conanfile.py | 81 +++++++++++++++++++ .../libmeshb/all/test_package/CMakeLists.txt | 8 ++ .../libmeshb/all/test_package/conanfile.py | 25 ++++++ .../libmeshb/all/test_package/test_package.c | 7 ++ recipes/libmeshb/config.yml | 3 + 6 files changed, 128 insertions(+) create mode 100644 recipes/libmeshb/all/conandata.yml create mode 100644 recipes/libmeshb/all/conanfile.py create mode 100644 recipes/libmeshb/all/test_package/CMakeLists.txt create mode 100644 recipes/libmeshb/all/test_package/conanfile.py create mode 100644 recipes/libmeshb/all/test_package/test_package.c create mode 100644 recipes/libmeshb/config.yml diff --git a/recipes/libmeshb/all/conandata.yml b/recipes/libmeshb/all/conandata.yml new file mode 100644 index 0000000000000..dd9233505c3f3 --- /dev/null +++ b/recipes/libmeshb/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "7.80": + url: "https://github.com/LoicMarechal/libMeshb/archive/refs/tags/v7.80.tar.gz" + sha256: "3026e84fa7c5c14428b1e0d1484038b0cf24921814e9cd0b6e0f13a34b0f1248" diff --git a/recipes/libmeshb/all/conanfile.py b/recipes/libmeshb/all/conanfile.py new file mode 100644 index 0000000000000..4f0284a48ab3d --- /dev/null +++ b/recipes/libmeshb/all/conanfile.py @@ -0,0 +1,81 @@ +from conan import ConanFile +from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout +from conan.tools.files import copy, get, replace_in_file, rmdir +import os + +required_conan_version = ">=1.53.0" + +class LibmeshbConan(ConanFile): + name = "libmeshb" + description = "A library to handle the *.meshb file format." + license = "MPL-2.0" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/LoicMarechal/libMeshb" + topics = ("3d", "mesh", "geometry") + package_type = "library" + settings = "os", "arch", "compiler", "build_type" + options = { + "shared": [True, False], + "fPIC": [True, False], + "with_gmf_asio": [True, False] + } + default_options = { + "shared": False, + "fPIC": True, + "with_gmf_asio": False + } + + def config_options(self): + if self.settings.os == "Windows": + del self.options.fPIC + del self.options.with_gmf_asio + self.settings.rm_safe("compiler.cppstd") + self.settings.rm_safe("compiler.libcxx") + + def configure(self): + # Windows shared build doesn't seems supported because code doesn't include dllexport + # See https://www.kitware.com/create-dlls-on-windows-without-declspec-using-new-cmake-export-all-feature/ + if self.settings.os == "Windows": + del self.options.shared + self.package_type = "static-library" + if self.options.get_safe("shared"): + self.options.rm_safe("fPIC") + + def layout(self): + cmake_layout(self, src_folder="src") + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + tc.variables["WITH_GMF_AIO"] = self.options.get_safe("with_gmf_asio", False) + tc.generate() + + def _patch_sources(self): + replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), "add_subdirectory (examples)", "") + replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), "install (FILES LICENSE.txt copyright.txt DESTINATION share/libMeshb)", "") + replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), "install (DIRECTORY sample_meshes DESTINATION share/libMeshb)", "") + replace_in_file(self, os.path.join(self.source_folder, "sources/CMakeLists.txt"), "install(DIRECTORY ${CMAKE_Fortran_MODULE_DIRECTORY}/ DESTINATION include)", "") + + def build(self): + self._patch_sources() + 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", "cmake")) + + def package_info(self): + self.cpp_info.set_property("cmake_file_name", "libMeshb") + self.cpp_info.set_property("cmake_target_name", "libMeshb::Meshb.7") + self.cpp_info.libs = ["Meshb.7"] + + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.system_libs.append("rt") + self.cpp_info.system_libs.append("m") \ No newline at end of file diff --git a/recipes/libmeshb/all/test_package/CMakeLists.txt b/recipes/libmeshb/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..5cc1c2f79e98d --- /dev/null +++ b/recipes/libmeshb/all/test_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) + +project(test_package LANGUAGES C) + +find_package(libMeshb REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.c) +target_link_libraries(${PROJECT_NAME} PRIVATE libMeshb::Meshb.7) diff --git a/recipes/libmeshb/all/test_package/conanfile.py b/recipes/libmeshb/all/test_package/conanfile.py new file mode 100644 index 0000000000000..f5cf204295e19 --- /dev/null +++ b/recipes/libmeshb/all/test_package/conanfile.py @@ -0,0 +1,25 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake +import os + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/libmeshb/all/test_package/test_package.c b/recipes/libmeshb/all/test_package/test_package.c new file mode 100644 index 0000000000000..ab27c830995fa --- /dev/null +++ b/recipes/libmeshb/all/test_package/test_package.c @@ -0,0 +1,7 @@ +#include + +int main() { + int ver, dim; + int64_t LibIdx = GmfOpenMesh("/dev/null", GmfRead, &ver, &dim); + return 0; +} diff --git a/recipes/libmeshb/config.yml b/recipes/libmeshb/config.yml new file mode 100644 index 0000000000000..d51cd95e8905e --- /dev/null +++ b/recipes/libmeshb/config.yml @@ -0,0 +1,3 @@ +versions: + "7.80": + folder: all From f08b2bd302701b5757ac0166dd3c90e990e0739c Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Wed, 21 Aug 2024 07:47:05 +0200 Subject: [PATCH 384/641] (#23143) gdk-pixbuf: use libpng version range, bump deps, fix conflicts MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gdk-pixbuf: use libpng version range, bump deps * bump meson * bump tools * remove useless comparison * More versionranges --------- Co-authored-by: Abril Rincón Blanco --- recipes/gdk-pixbuf/all/conanfile.py | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/recipes/gdk-pixbuf/all/conanfile.py b/recipes/gdk-pixbuf/all/conanfile.py index cbbd71f4d5295..edcf9d96b7ad2 100644 --- a/recipes/gdk-pixbuf/all/conanfile.py +++ b/recipes/gdk-pixbuf/all/conanfile.py @@ -63,17 +63,17 @@ def layout(self): basic_layout(self, src_folder="src") def requirements(self): - self.requires("glib/2.78.1", transitive_headers=True, transitive_libs=True) + self.requires("glib/2.78.3", transitive_headers=True, transitive_libs=True) if self.options.with_libpng: - self.requires("libpng/1.6.40") + self.requires("libpng/[>=1.6 <2]") if self.options.with_libtiff: self.requires("libtiff/4.6.0") if self.options.with_libjpeg == "libjpeg-turbo": - self.requires("libjpeg-turbo/3.0.1") + self.requires("libjpeg-turbo/3.0.2") elif self.options.with_libjpeg == "libjpeg": self.requires("libjpeg/9e") elif self.options.with_libjpeg == "mozjpeg": - self.requires("mozjpeg/4.1.3") + self.requires("mozjpeg/4.1.5") def validate(self): if self.options.shared and not self.dependencies["glib"].options.shared: @@ -86,12 +86,12 @@ def validate(self): ) def build_requirements(self): - self.tool_requires("meson/1.2.3") + self.tool_requires("meson/[>=1.2.3 <2]") # FIXME: unify libgettext and gettext?? # INFO: gettext provides msgfmt, which is required to build the .mo files - self.tool_requires("gettext/0.21") + self.tool_requires("gettext/0.22.5") if not self.conf.get("tools.gnu:pkg_config", check_type=str): - self.tool_requires("pkgconf/2.0.3") + self.tool_requires("pkgconf/[>=2.2 <3]") self.tool_requires("glib/") if self.options.with_introspection: self.tool_requires("gobject-introspection/1.72.0") @@ -123,8 +123,6 @@ def generate(self): "man": "false", "installed_tests": "false" }) - if Version(self.version) < "2.42.0": - tc.project_options["gir"] = "false" if Version(self.version) >= "2.42.8": tc.project_options.update({ From 91adbc6810ca11ecff66ff6ff429964ed5157d02 Mon Sep 17 00:00:00 2001 From: Kalixio Date: Wed, 21 Aug 2024 11:32:19 +0200 Subject: [PATCH 385/641] (#24995) Magic_enum/0.9.6: Update signature --- recipes/magic_enum/all/conandata.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/magic_enum/all/conandata.yml b/recipes/magic_enum/all/conandata.yml index 37be348e4f658..e3dccd6201a11 100644 --- a/recipes/magic_enum/all/conandata.yml +++ b/recipes/magic_enum/all/conandata.yml @@ -1,7 +1,7 @@ sources: "0.9.6": url: "https://github.com/Neargye/magic_enum/archive/v0.9.6.tar.gz" - sha256: "814791ff32218dc869845af7eb89f898ebbcfa18e8d81aa4d682d18961e13731" + sha256: "fcda8295256a2084f1f98a63b3d2c66b3d7140eea008e1ef94ea015b2f6d3034" "0.9.5": url: "https://github.com/Neargye/magic_enum/archive/v0.9.5.tar.gz" sha256: "44ad80db5a72f5047e01d90e18315751d9ac90c0ab42cbea7a6f9ec66a4cd679" From ae4ceb78cb3809c87946724ec4c3410c3ce9b4a4 Mon Sep 17 00:00:00 2001 From: jeremy-coulon Date: Wed, 21 Aug 2024 11:58:17 +0200 Subject: [PATCH 386/641] (#24526) [aws-crt-cpp] Fix build on Windows with C++20 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * [aws-crt-cpp] Fix build on Windows with C++20 * Fix patch_type and add patch_source * newline at eol * Apply patch for .1a version --------- Co-authored-by: Abril Rincón Blanco --- recipes/aws-crt-cpp/all/conandata.yml | 6 ++++ .../patches/0.17.23-fix-cpp20-windows.patch | 28 +++++++++++++++++++ 2 files changed, 34 insertions(+) create mode 100644 recipes/aws-crt-cpp/all/patches/0.17.23-fix-cpp20-windows.patch diff --git a/recipes/aws-crt-cpp/all/conandata.yml b/recipes/aws-crt-cpp/all/conandata.yml index bccfcb97b58ea..a6902dfc92a08 100644 --- a/recipes/aws-crt-cpp/all/conandata.yml +++ b/recipes/aws-crt-cpp/all/conandata.yml @@ -5,3 +5,9 @@ sources: "0.17.1a": url: "https://github.com/awslabs/aws-crt-cpp/archive/v0.17.1a.tar.gz" sha256: "64053c8237e350cfbec24984a3696aaf914bfa64e6200ef19bebe9cf5bb0692b" +patches: + "0.17.1a": + - patch_file: "patches/0.17.23-fix-cpp20-windows.patch" + patch_description: "Fixes cpp 20 builds for windows." + patch_type: "bugfix" + patch_source: "https://github.com/awslabs/aws-crt-cpp/pull/364" diff --git a/recipes/aws-crt-cpp/all/patches/0.17.23-fix-cpp20-windows.patch b/recipes/aws-crt-cpp/all/patches/0.17.23-fix-cpp20-windows.patch new file mode 100644 index 0000000000000..9f32e19e32b8b --- /dev/null +++ b/recipes/aws-crt-cpp/all/patches/0.17.23-fix-cpp20-windows.patch @@ -0,0 +1,28 @@ +From 3216ce53fa7f276ae4407a450cafafa9e809fea1 Mon Sep 17 00:00:00 2001 +From: Sam Bisciglia +Date: Tue, 12 Apr 2022 14:42:26 -0400 +Subject: [PATCH] Fixes cpp 20 builds for windows. (#364) + +--- +diff --git a/include/aws/crt/StringView.h b/include/aws/crt/StringView.h +index a0fec83..dc2f05b 100644 +--- a/include/aws/crt/StringView.h ++++ b/include/aws/crt/StringView.h +@@ -15,7 +15,7 @@ + #include + #include + +-#if __cplusplus >= 201703L || (defined(_MSC_LANG) && _MSC_LANG >= 201703L) ++#if __cplusplus >= 201703L || (defined(_MSVC_LANG) && _MSVC_LANG >= 201703L) + # include + #endif + +@@ -53,7 +53,7 @@ namespace Aws + + basic_string_view &operator=(const basic_string_view &) noexcept = default; + +-#if __cplusplus >= 201703L || (defined(_MSC_LANG) && _MSC_LANG >= 201703L) ++#if __cplusplus >= 201703L || (defined(_MSVC_LANG) && _MSVC_LANG >= 201703L) + constexpr basic_string_view(const std::basic_string_view &other) noexcept + : m_size(other.size()), m_data(other.data()) + { From 2b772b42ab26aa1b174dba64fd4072a04e69da5b Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Wed, 21 Aug 2024 12:48:39 +0200 Subject: [PATCH 387/641] (#23409) onnxruntime: add 1.17.3 & 1.18.1, remove older versions MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * onnxruntime: enable cuda provider * onnxruntime: patch 1.16.1 build too * onnxruntime: avoid gsl being patched when cuda is active * onnxruntime: simplify patching Replace the onnxruntime_external_deps.cmake and its FetchContent calls entirely with find_package() calls against Conan targets. * onnxruntime: drop v1.16.0 * onnxruntime: fix build issues * onnxruntime: add dummy targets to avoid accidental linking errors * onnxruntime: silence a warning that gets converted to an error * onnxruntime: fix wil includes not being found * onnxruntime: bump deps * onnxruntime: fix patches * onnxruntime: relax Protobuf version check in CMake * onnxruntime: bump deps * onnxruntime: onnxruntime: add 1.17.1, remove older versions * add version 1.17.3 * bump boost to 1.85.0 * use boost 1.83 * update comment on boost cpp 17 compat * Add patch for missing include * onnxruntime: add version 1.18.0 * fix abseil conflict * add version 1.18.1, remove 1.18.0 * disable building with abeil DLL on Windows * Avoid creating new revisions when new versions are added * review: remove cuda * bump to onnx 1.16.2 * bump wil * remove variables that match the default * empty commit --------- Co-authored-by: Bart Verhagen Co-authored-by: Martin Valgur Co-authored-by: Abril Rincón Blanco Co-authored-by: czoido --- .../all/cmake/onnxruntime_external_deps.cmake | 112 +++++++++ recipes/onnxruntime/all/conandata.yml | 62 ++--- recipes/onnxruntime/all/conanfile.py | 147 ++++------- .../1.14.1-0001-cmake-dependencies.patch | 236 ------------------ .../1.14.1-0002-cmake-dependencies.patch | 166 ------------ .../1.15.1-0001-cmake-dependencies.patch | 150 ----------- .../1.16.0-0001-cmake-dependencies.patch | 129 ---------- ...3-0001-patch-macos-cpp20-date-compat.patch | 142 +++++++++++ .../patches/1.17.3-0002-missing-include.patch | 12 + .../1.18.0-0004-abseil-no-string-view.patch | 22 ++ recipes/onnxruntime/config.yml | 8 +- 11 files changed, 371 insertions(+), 815 deletions(-) create mode 100644 recipes/onnxruntime/all/cmake/onnxruntime_external_deps.cmake delete mode 100644 recipes/onnxruntime/all/patches/1.14.1-0002-cmake-dependencies.patch delete mode 100644 recipes/onnxruntime/all/patches/1.15.1-0001-cmake-dependencies.patch delete mode 100644 recipes/onnxruntime/all/patches/1.16.0-0001-cmake-dependencies.patch create mode 100644 recipes/onnxruntime/all/patches/1.17.3-0001-patch-macos-cpp20-date-compat.patch create mode 100644 recipes/onnxruntime/all/patches/1.17.3-0002-missing-include.patch create mode 100644 recipes/onnxruntime/all/patches/1.18.0-0004-abseil-no-string-view.patch diff --git a/recipes/onnxruntime/all/cmake/onnxruntime_external_deps.cmake b/recipes/onnxruntime/all/cmake/onnxruntime_external_deps.cmake new file mode 100644 index 0000000000000..8cacf5636fe36 --- /dev/null +++ b/recipes/onnxruntime/all/cmake/onnxruntime_external_deps.cmake @@ -0,0 +1,112 @@ +# Replacement for https://github.com/microsoft/onnxruntime/blob/v1.16.1/cmake/external/onnxruntime_external_deps.cmake + +if(NOT onnxruntime_DISABLE_ABSEIL) + find_package(absl REQUIRED CONFIG) + list(APPEND onnxruntime_EXTERNAL_LIBRARIES abseil::abseil) + include_directories(${absl_INCLUDE_DIRS}) +endif() + +find_package(re2 REQUIRED CONFIG) +list(APPEND onnxruntime_EXTERNAL_LIBRARIES re2::re2) + +#flatbuffers 1.11.0 does not have flatbuffers::IsOutRange, therefore we require 1.12.0+ +find_package(Flatbuffers REQUIRED CONFIG) +list(APPEND onnxruntime_EXTERNAL_LIBRARIES flatbuffers::flatbuffers) + +find_package(Protobuf REQUIRED CONFIG) +list(APPEND onnxruntime_EXTERNAL_LIBRARIES protobuf::libprotobuf) +set(ONNX_CUSTOM_PROTOC_EXECUTABLE protoc) +set(PROTOC_EXECUTABLE protoc) + +find_package(date REQUIRED CONFIG) +list(APPEND onnxruntime_EXTERNAL_LIBRARIES date::date) +include_directories(${date_INCLUDE_DIRS}) +add_library(date_interface INTERFACE) + +find_package(Boost REQUIRED CONFIG) +list(APPEND onnxruntime_EXTERNAL_LIBRARIES Boost::mp11) + +find_package(nlohmann_json REQUIRED CONFIG) +list(APPEND onnxruntime_EXTERNAL_LIBRARIES nlohmann_json::nlohmann_json) + +find_package(cpuinfo REQUIRED CONFIG) +list(APPEND onnxruntime_EXTERNAL_LIBRARIES cpuinfo::cpuinfo) +if (TARGET cpuinfo::clog) + list(APPEND onnxruntime_EXTERNAL_LIBRARIES cpuinfo::clog) +endif() +set(CPUINFO_SUPPORTED ${cpuinfo_FOUND}) +# Add a dummy targets for onnxruntime CMakelists.txt to depend on +add_library(clog INTERFACE) +add_library(cpuinfo INTERFACE) + +if (NOT WIN32) + find_package(nsync REQUIRED CONFIG) + list(APPEND onnxruntime_EXTERNAL_LIBRARIES nsync::nsync_cpp) + include_directories(${nsync_INCLUDE_DIRS}) + add_library(nsync_cpp INTERFACE) +endif() + +find_package(Microsoft.GSL 4.0 REQUIRED CONFIG) +list(APPEND onnxruntime_EXTERNAL_LIBRARIES Microsoft.GSL::GSL) +include_directories(${Microsoft.GSL_INCLUDE_DIRS}) + +find_package(safeint REQUIRED CONFIG) +include_directories(${safeint_INCLUDE_DIRS}) +add_library(safeint_interface INTERFACE) + +find_package(ONNX REQUIRED CONFIG) +list(APPEND onnxruntime_EXTERNAL_LIBRARIES onnx onnx_proto) + +find_package(Eigen3 REQUIRED CONFIG) +list(APPEND onnxruntime_EXTERNAL_LIBRARIES Eigen3::Eigen) +set(eigen_INCLUDE_DIRS ${Eigen3_INCLUDE_DIRS}) + +if(WIN32) + find_package(wil REQUIRED CONFIG) + list(APPEND onnxruntime_EXTERNAL_LIBRARIES WIL::WIL) + include_directories(${wil_INCLUDE_DIRS}) +endif() + +# XNNPACK EP +if (onnxruntime_USE_XNNPACK) + if (onnxruntime_DISABLE_CONTRIB_OPS) + message(FATAL_ERROR "XNNPACK EP requires the internal NHWC contrib ops to be available " + "but onnxruntime_DISABLE_CONTRIB_OPS is ON") + endif() + find_package(xnnpack REQUIRED CONFIG) + list(APPEND onnxruntime_EXTERNAL_LIBRARIES xnnpack::xnnpack) + add_library(XNNPACK INTERFACE) +endif() + +if (onnxruntime_USE_MIMALLOC) + find_package(mimalloc REQUIRED CONFIG) + add_definitions(-DUSE_MIMALLOC) +endif() + +# The source code of onnx_proto is generated, we must build this lib first before starting to compile the other source code that uses ONNX protobuf types. +# The other libs do not have the problem. All the sources are already there. We can compile them in any order. +set(onnxruntime_EXTERNAL_DEPENDENCIES + onnx_proto + flatbuffers::flatbuffers +) + +if (onnxruntime_RUN_ONNX_TESTS) + add_definitions(-DORT_RUN_EXTERNAL_ONNX_TESTS) +endif() + +if(onnxruntime_ENABLE_ATEN) + message("Aten fallback is enabled.") + find_package(dlpack REQUIRED CONFIG) +endif() + +if(onnxruntime_ENABLE_TRAINING OR (onnxruntime_ENABLE_TRAINING_APIS AND onnxruntime_BUILD_UNIT_TESTS)) + find_package(cxxopts REQUIRED CONFIG) +endif() + +if(onnxruntime_USE_SNPE) + include(external/find_snpe.cmake) + list(APPEND onnxruntime_EXTERNAL_LIBRARIES ${SNPE_NN_LIBS}) +endif() + +file(TO_NATIVE_PATH ${CMAKE_BINARY_DIR} ORT_BINARY_DIR) +file(TO_NATIVE_PATH ${PROJECT_SOURCE_DIR} ORT_SOURCE_DIR) diff --git a/recipes/onnxruntime/all/conandata.yml b/recipes/onnxruntime/all/conandata.yml index b051b06768621..eb75e43b388ce 100644 --- a/recipes/onnxruntime/all/conandata.yml +++ b/recipes/onnxruntime/all/conandata.yml @@ -1,16 +1,13 @@ sources: + "1.18.1": + url: "https://github.com/microsoft/onnxruntime/archive/refs/tags/v1.18.1.tar.gz" + sha256: "480ff5d2450ff18d02db48908c9c0c6a602993942cb47866b8effe32d0469a2c" + "1.17.3": + url: "https://github.com/microsoft/onnxruntime/archive/refs/tags/v1.17.3.tar.gz" + sha256: "4112f6552c17216311be013b9a2621a3c1a17ed9e1268a1142599b6a494517c2" "1.16.3": url: "https://github.com/microsoft/onnxruntime/archive/refs/tags/v1.16.3.tar.gz" sha256: "d26b8a7eed1df4440aa3d8eac5049980cbe585514ccedfda809712051a4b1721" - "1.16.2": - url: "https://github.com/microsoft/onnxruntime/archive/refs/tags/v1.16.2.tar.gz" - sha256: "609a9d31fd9445eb2e737cbb6420100fa7d4e1180b594c1a62505b26f730bfd5" - "1.16.1": - url: "https://github.com/microsoft/onnxruntime/archive/refs/tags/v1.16.1.tar.gz" - sha256: "197c6ce4f2de9176402fb8a634c390e757b729ff48a30e8038a0f7d71ff1f1ae" - "1.16.0": - url: "https://github.com/microsoft/onnxruntime/archive/refs/tags/v1.16.0.tar.gz" - sha256: "3a4e57d454bce4349e11e2262fc47728a78b86ef1e0754514bbbc7d709e0a80d" "1.15.1": url: "https://github.com/microsoft/onnxruntime/archive/refs/tags/v1.15.1.tar.gz" sha256: "93a9b6f148639938ccbaa48d0f641d8f33312fdfcc69ee9466e11362b43917c4" @@ -18,38 +15,29 @@ sources: url: "https://github.com/microsoft/onnxruntime/archive/refs/tags/v1.14.1.tar.gz" sha256: "f998352b131bb89fa7dd1f1d87ddbafe647dfaddd11929b6b5168b3f4ef857de" patches: - "1.16.3": - - patch_file: "patches/1.16.0-0001-cmake-dependencies.patch" - patch_description: "CMake: ensure conan dependencies are used" - patch_type: "conan" - - patch_file: "patches/1.14.1-0004-abseil-no-string-view.patch" - patch_description: "allow to build with abseil built without c++17 support" + "1.18.1": + - patch_file: "patches/1.17.3-0002-missing-include.patch" + patch_description: "add missing '' include when abseil is built without c++17 support" patch_type: "portability" - "1.16.2": - - patch_file: "patches/1.16.0-0001-cmake-dependencies.patch" - patch_description: "CMake: ensure conan dependencies are used" - patch_type: "conan" - - patch_file: "patches/1.14.1-0004-abseil-no-string-view.patch" + - patch_file: "patches/1.18.0-0004-abseil-no-string-view.patch" patch_description: "allow to build with abseil built without c++17 support" patch_type: "portability" - "1.16.1": - - patch_file: "patches/1.16.0-0001-cmake-dependencies.patch" - patch_description: "CMake: ensure conan dependencies are used" - patch_type: "conan" + "1.17.3": + - patch_file: "patches/1.17.3-0001-patch-macos-cpp20-date-compat.patch" + patch_description: "allow to build with macos c++20 support" + patch_type: "portability" + patch_source: "https://github.com/microsoft/onnxruntime/commit/7303a90f4916dcf6f66236d40b8917344c27420a.patch" + - patch_file: "patches/1.17.3-0002-missing-include.patch" + patch_description: "add missing '' include when abseil is built without c++17 support" + patch_type: "portability" - patch_file: "patches/1.14.1-0004-abseil-no-string-view.patch" patch_description: "allow to build with abseil built without c++17 support" patch_type: "portability" - "1.16.0": - - patch_file: "patches/1.16.0-0001-cmake-dependencies.patch" - patch_description: "CMake: ensure conan dependencies are used" - patch_type: "conan" + "1.16.3": - patch_file: "patches/1.14.1-0004-abseil-no-string-view.patch" patch_description: "allow to build with abseil built without c++17 support" patch_type: "portability" "1.15.1": - - patch_file: "patches/1.15.1-0001-cmake-dependencies.patch" - patch_description: "CMake: ensure conan dependencies are used" - patch_type: "conan" - patch_file: "patches/1.14.1-0004-abseil-no-string-view.patch" patch_description: "allow to build with abseil built without c++17 support" patch_type: "portability" @@ -57,10 +45,6 @@ patches: - patch_file: "patches/1.14.1-0001-cmake-dependencies.patch" patch_description: "CMake: ensure conan dependencies are used (upstreamed future versions)" patch_type: "conan" - patch_source: "https://github.com/microsoft/onnxruntime/pull/15323" - - patch_file: "patches/1.14.1-0002-cmake-dependencies.patch" - patch_description: "CMake: ensure conan dependencies are used" - patch_type: "conan" - patch_file: "patches/1.14.1-0003-amx-gas-version.patch" patch_description: "Check GNU AS supports AMX before enabling it" patch_type: "portability" @@ -72,3 +56,11 @@ patches: patch_description: "Ensures the forward compatibility with the newest versions of re2 library." patch_type: "portability" patch_source: "https://github.com/microsoft/onnxruntime/commit/126e7bf15fa4af8621814b82a3f7bd0d786f0239.patch" +# ONNX versions are based on the minor version used at +# https://github.com/microsoft/onnxruntime/tree/main/cmake/external +onnx_version_map: + "1.18.1": "1.16.2" + "1.17.3": "1.15.0" + "1.16.3": "1.14.1" + "1.15.1": "1.14.1" + "1.14.1": "1.13.1" diff --git a/recipes/onnxruntime/all/conanfile.py b/recipes/onnxruntime/all/conanfile.py index 45cbfde117d6f..100362415a13b 100644 --- a/recipes/onnxruntime/all/conanfile.py +++ b/recipes/onnxruntime/all/conanfile.py @@ -2,7 +2,7 @@ from conan.errors import ConanInvalidConfiguration from conan.tools.apple import is_apple_os from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout -from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rmdir +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rmdir, replace_in_file from conan.tools.build import check_min_cppstd from conan.tools.scm import Version from conan.tools.env import VirtualBuildEnv @@ -37,6 +37,8 @@ class OnnxRuntimeConan(ConanFile): @property def _min_cppstd(self): + if is_apple_os(self) and Version(self.version) >= "1.17.0": + return 20 # https://github.com/microsoft/onnxruntime/blob/8f5c79cb63f09ef1302e85081093a3fe4da1bc7d/cmake/CMakeLists.txt#L43-L47 return 17 @property @@ -59,6 +61,7 @@ def _compilers_minimum_version(self): def export_sources(self): export_conandata_patches(self) + copy(self, "cmake/*", src=self.recipe_folder, dst=self.export_sources_folder) def config_options(self): if self.settings.os == "Windows": @@ -71,34 +74,37 @@ def configure(self): def layout(self): cmake_layout(self, src_folder="src") - @property - def _onnx_version(self): - version = Version(self.version) - return { - "1.14": "1.13.1", - "1.15": "1.14.1", - "1.16": "1.14.1", - }[f"{version.major}.{version.minor}"] - def requirements(self): - self.requires("abseil/20230802.1") + required_onnx_version = self.conan_data["onnx_version_map"][self.version] + self.requires(f"onnx/{required_onnx_version}") + self.requires("abseil/20240116.1") self.requires("protobuf/3.21.12") self.requires("date/3.0.1") - self.requires("re2/20230901") - self.requires(f"onnx/{self._onnx_version}") - self.requires("flatbuffers/1.12.0") - self.requires("boost/1.83.0", headers=True, libs=False, run=False) # for mp11, header only, no need for libraries to link/run + self.requires("re2/20231101") + if Version(self.version) >= "1.18": + self.requires("flatbuffers/23.5.26") + else: + # v1.* is required, newer versions are not compatible + self.requires("flatbuffers/1.12.0") + # using 1.84.0+ fails on CCI as it prevents the cpp 17 version to be picked up when building with cpp 20 + self.requires("boost/1.83.0", headers=True, libs=False) # for mp11, header only, no need for libraries self.requires("safeint/3.0.28") self.requires("nlohmann_json/3.11.3") self.requires("eigen/3.4.0") self.requires("ms-gsl/4.0.0") - self.requires("cpuinfo/cci.20220618") + if Version(self.version) >= "1.17.0": + self.requires("cpuinfo/cci.20231129") + else: + self.requires("cpuinfo/cci.20220618") # Newer versions are not compatible if self.settings.os != "Windows": self.requires("nsync/1.26.0") else: - self.requires("wil/1.0.231216.1") + self.requires("wil/1.0.240803.1") if self.options.with_xnnpack: - self.requires("xnnpack/cci.20220801") + if Version(self.version) >= "1.17.0": + self.requires("xnnpack/cci.20230715") + else: + self.requires("xnnpack/cci.20220801") def validate(self): if self.settings.compiler.get_safe("cppstd"): @@ -113,12 +119,14 @@ def validate_build(self): if self.version >= Version("1.15.0") and self.options.shared and sys.version_info[:2] < (3, 8): # https://github.com/microsoft/onnxruntime/blob/638146b79ea52598ece514704d3f592c10fab2f1/cmake/CMakeLists.txt#LL500C12-L500C12 raise ConanInvalidConfiguration( - f"{self.ref} requires python 3.8+ to be built as shared." + f"{self.ref} requires Python 3.8+ to be built as shared." ) + if self.settings.os == "Windows" and self.dependencies["abseil"].options.shared: + raise ConanInvalidConfiguration("Using abseil shared on Windows leads to link errors.") def build_requirements(self): - # Required by upstream https://github.com/microsoft/onnxruntime/blob/v1.14.1/cmake/CMakeLists.txt#L5 - self.tool_requires("cmake/[>=3.24 <4]") + # Required by upstream https://github.com/microsoft/onnxruntime/blob/v1.16.1/cmake/CMakeLists.txt#L5 + self.tool_requires("cmake/[>=3.26 <4]") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) @@ -128,7 +136,7 @@ def generate(self): # disable downloading dependencies to ensure conan ones are used tc.variables["FETCHCONTENT_FULLY_DISCONNECTED"] = True if self.version >= Version("1.15.0") and self.options.shared: - # Need to replace windows path seperators with linux path seperators to keep CMake from crashing + # Need to replace windows path separators with linux path separators to keep CMake from crashing tc.variables["Python_EXECUTABLE"] = sys.executable.replace("\\", "/") tc.variables["onnxruntime_BUILD_SHARED_LIB"] = self.options.shared @@ -136,94 +144,45 @@ def generate(self): tc.variables["onnxruntime_USE_XNNPACK"] = self.options.with_xnnpack tc.variables["onnxruntime_BUILD_UNIT_TESTS"] = False - tc.variables["onnxruntime_RUN_ONNX_TESTS"] = False - tc.variables["onnxruntime_GENERATE_TEST_REPORTS"] = False - tc.variables["onnxruntime_USE_MIMALLOC"] = False - tc.variables["onnxruntime_ENABLE_PYTHON"] = False - tc.variables["onnxruntime_BUILD_CSHARP"] = False - tc.variables["onnxruntime_BUILD_JAVA"] = False - tc.variables["onnxruntime_BUILD_NODEJS"] = False - tc.variables["onnxruntime_BUILD_OBJC"] = False - tc.variables["onnxruntime_BUILD_APPLE_FRAMEWORK"] = False - tc.variables["onnxruntime_USE_DNNL"] = False - tc.variables["onnxruntime_USE_NNAPI_BUILTIN"] = False - tc.variables["onnxruntime_USE_RKNPU"] = False - tc.variables["onnxruntime_USE_LLVM"] = False - tc.variables["onnxruntime_ENABLE_MICROSOFT_INTERNAL"] = False - tc.variables["onnxruntime_USE_VITISAI"] = False - tc.variables["onnxruntime_USE_TENSORRT"] = False - tc.variables["onnxruntime_SKIP_AND_PERFORM_FILTERED_TENSORRT_TESTS"] = True - tc.variables["onnxruntime_USE_TENSORRT_BUILTIN_PARSER"] = False - tc.variables["onnxruntime_TENSORRT_PLACEHOLDER_BUILDER"] = False - tc.variables["onnxruntime_USE_TVM"] = False - tc.variables["onnxruntime_TVM_CUDA_RUNTIME"] = False - tc.variables["onnxruntime_TVM_USE_HASH"] = False - tc.variables["onnxruntime_CROSS_COMPILING"] = False tc.variables["onnxruntime_DISABLE_CONTRIB_OPS"] = False - tc.variables["onnxruntime_DISABLE_ML_OPS"] = False tc.variables["onnxruntime_DISABLE_RTTI"] = False tc.variables["onnxruntime_DISABLE_EXCEPTIONS"] = False - tc.variables["onnxruntime_MINIMAL_BUILD"] = False - tc.variables["onnxruntime_EXTENDED_MINIMAL_BUILD"] = False - tc.variables["onnxruntime_MINIMAL_BUILD_CUSTOM_OPS"] = False - tc.variables["onnxruntime_REDUCED_OPS_BUILD"] = False - tc.variables["onnxruntime_ENABLE_LANGUAGE_INTEROP_OPS"] = False - tc.variables["onnxruntime_USE_DML"] = False - tc.variables["onnxruntime_USE_WINML"] = False - tc.variables["onnxruntime_BUILD_MS_EXPERIMENTAL_OPS"] = False - tc.variables["onnxruntime_USE_TELEMETRY"] = False - tc.variables["onnxruntime_ENABLE_LTO"] = False - tc.variables["onnxruntime_USE_ACL"] = False - tc.variables["onnxruntime_USE_ACL_1902"] = False - tc.variables["onnxruntime_USE_ACL_1905"] = False - tc.variables["onnxruntime_USE_ACL_1908"] = False - tc.variables["onnxruntime_USE_ACL_2002"] = False - tc.variables["onnxruntime_USE_ARMNN"] = False + tc.variables["onnxruntime_ARMNN_RELU_USE_CPU"] = False tc.variables["onnxruntime_ARMNN_BN_USE_CPU"] = False - tc.variables["onnxruntime_ENABLE_NVTX_PROFILE"] = False - tc.variables["onnxruntime_ENABLE_TRAINING"] = False - tc.variables["onnxruntime_ENABLE_TRAINING_OPS"] = False - tc.variables["onnxruntime_ENABLE_TRAINING_APIS"] = False tc.variables["onnxruntime_ENABLE_CPU_FP16_OPS"] = False - tc.variables["onnxruntime_USE_NCCL"] = False - tc.variables["onnxruntime_BUILD_BENCHMARKS"] = False - tc.variables["onnxruntime_USE_ROCM"] = False - tc.variables["onnxruntime_GCOV_COVERAGE"] = False - tc.variables["onnxruntime_USE_MPI"] = False - tc.variables["onnxruntime_ENABLE_MEMORY_PROFILE"] = False - tc.variables["onnxruntime_ENABLE_CUDA_LINE_NUMBER_INFO"] = False - tc.variables["onnxruntime_BUILD_WEBASSEMBLY"] = False - tc.variables["onnxruntime_BUILD_WEBASSEMBLY_STATIC_LIB"] = False - tc.variables["onnxruntime_ENABLE_WEBASSEMBLY_EXCEPTION_CATCHING"] = False - tc.variables["onnxruntime_ENABLE_WEBASSEMBLY_API_EXCEPTION_CATCHING"] = False - tc.variables["onnxruntime_ENABLE_WEBASSEMBLY_EXCEPTION_THROWING"] = False - tc.variables["onnxruntime_ENABLE_WEBASSEMBLY_THREADS"] = False - tc.variables["onnxruntime_ENABLE_WEBASSEMBLY_DEBUG_INFO"] = False - tc.variables["onnxruntime_ENABLE_WEBASSEMBLY_PROFILING"] = False tc.variables["onnxruntime_ENABLE_EAGER_MODE"] = False tc.variables["onnxruntime_ENABLE_LAZY_TENSOR"] = False - tc.variables["onnxruntime_ENABLE_EXTERNAL_CUSTOM_OP_SCHEMAS"] = False - tc.variables["onnxruntime_ENABLE_CUDA_PROFILING"] = False - tc.variables["onnxruntime_ENABLE_ROCM_PROFILING"] = False - tc.variables["onnxruntime_USE_CANN"] = False - tc.generate() - deps = CMakeDeps(self) - if self.dependencies["flatbuffers"].options.shared: - deps.set_property("flatbuffers", "cmake_target_name", "flatbuffers::flatbuffers") + if Version(self.version) >= "1.17": + tc.variables["onnxruntime_ENABLE_CUDA_EP_INTERNAL_TESTS"] = False + tc.variables["onnxruntime_USE_NEURAL_SPEED"] = False + tc.variables["onnxruntime_USE_MEMORY_EFFICIENT_ATTENTION"] = True - deps.set_property("boost::headers", "cmake_target_name", "Boost::mp11") - deps.set_property("date", "cmake_target_name", "date_interface") - deps.set_property("safeint", "cmake_target_name", "safeint_interface") - deps.set_property("xnnpack", "cmake_target_name", "XNNPACK") + # Disable a warning that gets converted to an error + tc.preprocessor_definitions["_SILENCE_ALL_CXX23_DEPRECATION_WARNINGS"] = "1" + tc.generate() + deps = CMakeDeps(self) + deps.set_property("boost::headers", "cmake_target_name", "Boost::mp11") + deps.set_property("flatbuffers", "cmake_target_name", "flatbuffers::flatbuffers") deps.generate() + vbe = VirtualBuildEnv(self) vbe.generate(scope="build") - def build(self): + def _patch_sources(self): apply_conandata_patches(self) + copy(self, "onnxruntime_external_deps.cmake", + src=os.path.join(self.export_sources_folder, "cmake"), + dst=os.path.join(self.source_folder, "cmake", "external")) + # Avoid parsing of git commit info + if Version(self.version) >= "15.0": + replace_in_file(self, os.path.join(self.source_folder, "cmake", "CMakeLists.txt"), + "if (Git_FOUND)", "if (FALSE)") + + def build(self): + self._patch_sources() cmake = CMake(self) # https://github.com/microsoft/onnxruntime/blob/v1.14.1/cmake/CMakeLists.txt#L792 # onnxruntime is builds its targets with COMPILE_WARNING_AS_ERROR ON diff --git a/recipes/onnxruntime/all/patches/1.14.1-0001-cmake-dependencies.patch b/recipes/onnxruntime/all/patches/1.14.1-0001-cmake-dependencies.patch index 4af8aa88fe662..f2d83eacd7844 100644 --- a/recipes/onnxruntime/all/patches/1.14.1-0001-cmake-dependencies.patch +++ b/recipes/onnxruntime/all/patches/1.14.1-0001-cmake-dependencies.patch @@ -1,72 +1,3 @@ ---- a/cmake/CMakeLists.txt -+++ b/cmake/CMakeLists.txt -@@ -753,7 +753,7 @@ endif() - - function(onnxruntime_set_compile_flags target_name) - if (CPUINFO_SUPPORTED) -- onnxruntime_add_include_to_target(${target_name} cpuinfo) -+ onnxruntime_add_include_to_target(${target_name} cpuinfo::cpuinfo) - endif() - if(onnxruntime_ENABLE_EAGER_MODE) - target_compile_definitions(${target_name} PRIVATE ENABLE_EAGER_MODE) -@@ -837,7 +837,7 @@ function(onnxruntime_set_compile_flags target_name) - target_compile_options(${target_name} PRIVATE "-Wno-unused-parameter") - endif() - target_compile_definitions(${target_name} PUBLIC -DNSYNC_ATOMIC_CPP11) -- target_include_directories(${target_name} PRIVATE "${google_nsync_SOURCE_DIR}/public") -+ onnxruntime_add_include_to_target(${target_name} nsync::nsync_cpp) - endif() - foreach(ORT_FLAG ${ORT_PROVIDER_FLAGS}) - target_compile_definitions(${target_name} PRIVATE ${ORT_FLAG}) -@@ -1461,7 +1461,7 @@ if (WIN32) - list(APPEND onnxruntime_EXTERNAL_LIBRARIES ${SYS_PATH_LIB}) - list(APPEND onnxruntime_EXTERNAL_LIBRARIES debug Dbghelp) - else() -- list(APPEND onnxruntime_EXTERNAL_LIBRARIES nsync_cpp) -+ list(APPEND onnxruntime_EXTERNAL_LIBRARIES nsync::nsync_cpp) - list(APPEND onnxruntime_EXTERNAL_LIBRARIES ${CMAKE_DL_LIBS} Threads::Threads) - endif() - ---- a/cmake/external/onnxruntime_external_deps.cmake -+++ b/cmake/external/onnxruntime_external_deps.cmake -@@ -237,7 +237,10 @@ if (NOT WIN32) - #nsync tests failed on Mac Build - set(NSYNC_ENABLE_TESTS OFF CACHE BOOL "" FORCE) - onnxruntime_fetchcontent_makeavailable(google_nsync) -- set(nsync_SOURCE_DIR ${google_nsync_SOURCE_DIR}) -+ if(google_nsync_SOURCE_DIR) -+ add_library(nsync::nsync_cpp ALIAS nsync_cpp) -+ target_include_directories(nsync_cpp PUBLIC ${google_nsync_SOURCE_DIR}/public) -+ endif() - endif() - - if(onnxruntime_USE_CUDA) -@@ -361,6 +364,12 @@ FetchContent_Declare( - - if (CPUINFO_SUPPORTED) - onnxruntime_fetchcontent_makeavailable(pytorch_cpuinfo) -+ if(pytorch_cpuinfo_SOURCE_DIR) -+ # shouldn't need to define these aliases after we use a version of cpuinfo with this commit: -+ # https://github.com/pytorch/cpuinfo/commit/082deffc80ce517f81dc2f3aebe6ba671fcd09c9 -+ add_library(cpuinfo::cpuinfo ALIAS cpuinfo) -+ add_library(cpuinfo::clog ALIAS clog) -+ endif() - endif() - - ---- a/cmake/onnxruntime_common.cmake -+++ b/cmake/onnxruntime_common.cmake -@@ -194,8 +194,8 @@ if (ARM64 OR ARM OR X86 OR X64 OR X86_64) - # Using it mainly in ARM with Android. - # Its functionality in detecting x86 cpu features are lacking, so is support for Windows. - if (CPUINFO_SUPPORTED) -- onnxruntime_add_include_to_target(onnxruntime_common cpuinfo) -- list(APPEND onnxruntime_EXTERNAL_LIBRARIES cpuinfo clog) -+ onnxruntime_add_include_to_target(onnxruntime_common cpuinfo::cpuinfo) -+ list(APPEND onnxruntime_EXTERNAL_LIBRARIES cpuinfo::cpuinfo cpuinfo::clog) - endif() - endif() - endif() --- a/cmake/onnxruntime_flatbuffers.cmake +++ b/cmake/onnxruntime_flatbuffers.cmake @@ -9,7 +9,7 @@ file(GLOB onnxruntime_flatbuffers_srcs CONFIGURE_DEPENDS @@ -78,170 +9,3 @@ if(onnxruntime_ENABLE_INSTRUMENT) target_compile_definitions(onnxruntime_flatbuffers PUBLIC ONNXRUNTIME_ENABLE_INSTRUMENT) endif() ---- a/cmake/onnxruntime_providers.cmake -+++ b/cmake/onnxruntime_providers.cmake -@@ -539,10 +539,10 @@ if (onnxruntime_USE_CUDA) - - if(APPLE) - set_property(TARGET onnxruntime_providers_cuda APPEND_STRING PROPERTY LINK_FLAGS "-Xlinker -exported_symbols_list ${ONNXRUNTIME_ROOT}/core/providers/cuda/exported_symbols.lst") -- target_link_libraries(onnxruntime_providers_cuda PRIVATE nsync_cpp) -+ target_link_libraries(onnxruntime_providers_cuda PRIVATE nsync::nsync_cpp) - elseif(UNIX) - set_property(TARGET onnxruntime_providers_cuda APPEND_STRING PROPERTY LINK_FLAGS "-Xlinker --version-script=${ONNXRUNTIME_ROOT}/core/providers/cuda/version_script.lds -Xlinker --gc-sections") -- target_link_libraries(onnxruntime_providers_cuda PRIVATE nsync_cpp) -+ target_link_libraries(onnxruntime_providers_cuda PRIVATE nsync::nsync_cpp) - elseif(WIN32) - set_property(TARGET onnxruntime_providers_cuda APPEND_STRING PROPERTY LINK_FLAGS "-DEF:${ONNXRUNTIME_ROOT}/core/providers/cuda/symbols.def") - else() -@@ -595,10 +595,10 @@ if (onnxruntime_USE_DNNL) - INSTALL_RPATH "@loader_path" - BUILD_WITH_INSTALL_RPATH TRUE - INSTALL_RPATH_USE_LINK_PATH FALSE) -- target_link_libraries(onnxruntime_providers_dnnl PRIVATE nsync_cpp) -+ target_link_libraries(onnxruntime_providers_dnnl PRIVATE nsync::nsync_cpp) - elseif(UNIX) - set_property(TARGET onnxruntime_providers_dnnl APPEND_STRING PROPERTY LINK_FLAGS "-Xlinker --version-script=${ONNXRUNTIME_ROOT}/core/providers/dnnl/version_script.lds -Xlinker --gc-sections -Xlinker -rpath=\$ORIGIN") -- target_link_libraries(onnxruntime_providers_dnnl PRIVATE nsync_cpp) -+ target_link_libraries(onnxruntime_providers_dnnl PRIVATE nsync::nsync_cpp) - elseif(WIN32) - set_property(TARGET onnxruntime_providers_dnnl APPEND_STRING PROPERTY LINK_FLAGS "-DEF:${ONNXRUNTIME_ROOT}/core/providers/dnnl/symbols.def") - else() -@@ -728,11 +728,11 @@ if (onnxruntime_USE_TENSORRT) - - if(APPLE) - set_property(TARGET onnxruntime_providers_tensorrt APPEND_STRING PROPERTY LINK_FLAGS "-Xlinker -exported_symbols_list ${ONNXRUNTIME_ROOT}/core/providers/tensorrt/exported_symbols.lst") -- target_link_libraries(onnxruntime_providers_tensorrt PRIVATE nsync_cpp) -+ target_link_libraries(onnxruntime_providers_tensorrt PRIVATE nsync::nsync_cpp) - elseif(UNIX) - set_property(TARGET onnxruntime_providers_tensorrt APPEND_STRING PROPERTY COMPILE_FLAGS "-Wno-deprecated-declarations") - set_property(TARGET onnxruntime_providers_tensorrt APPEND_STRING PROPERTY LINK_FLAGS "-Xlinker --version-script=${ONNXRUNTIME_ROOT}/core/providers/tensorrt/version_script.lds -Xlinker --gc-sections") -- target_link_libraries(onnxruntime_providers_tensorrt PRIVATE nsync_cpp stdc++fs) -+ target_link_libraries(onnxruntime_providers_tensorrt PRIVATE nsync::nsync_cpp stdc++fs) - elseif(WIN32) - set_property(TARGET onnxruntime_providers_tensorrt APPEND_STRING PROPERTY LINK_FLAGS "-DEF:${ONNXRUNTIME_ROOT}/core/providers/tensorrt/symbols.def") - else() -@@ -1224,7 +1224,7 @@ if (onnxruntime_USE_MIGRAPHX) - target_compile_options(onnxruntime_providers_migraphx PRIVATE -Wno-error=sign-compare) - set_property(TARGET onnxruntime_providers_migraphx APPEND_STRING PROPERTY COMPILE_FLAGS "-Wno-deprecated-declarations") - set_property(TARGET onnxruntime_providers_migraphx APPEND_STRING PROPERTY LINK_FLAGS "-Xlinker --version-script=${ONNXRUNTIME_ROOT}/core/providers/migraphx/version_script.lds -Xlinker --gc-sections") -- target_link_libraries(onnxruntime_providers_migraphx PRIVATE nsync_cpp stdc++fs) -+ target_link_libraries(onnxruntime_providers_migraphx PRIVATE nsync::nsync_cpp stdc++fs) - - include(CheckLibraryExists) - check_library_exists(migraphx::c "migraphx_program_run_async" "/opt/rocm/migraphx/lib" HAS_STREAM_SYNC) -@@ -1461,7 +1461,7 @@ if (onnxruntime_USE_ROCM) - - if(UNIX) - set_property(TARGET onnxruntime_providers_rocm APPEND_STRING PROPERTY LINK_FLAGS "-Xlinker --version-script=${ONNXRUNTIME_ROOT}/core/providers/rocm/version_script.lds -Xlinker --gc-sections") -- target_link_libraries(onnxruntime_providers_rocm PRIVATE nsync_cpp) -+ target_link_libraries(onnxruntime_providers_rocm PRIVATE nsync::nsync_cpp) - else() - message(FATAL_ERROR "onnxruntime_providers_rocm unknown platform, need to specify shared library exports for it") - endif() -@@ -1597,7 +1597,7 @@ if (onnxruntime_USE_CANN) - onnxruntime_add_include_to_target(onnxruntime_providers_cann onnxruntime_common onnxruntime_framework onnx onnx_proto ${PROTOBUF_LIB} flatbuffers::flatbuffers Boost::mp11 safeint_interface) - - add_dependencies(onnxruntime_providers_cann onnxruntime_providers_shared ${onnxruntime_EXTERNAL_DEPENDENCIES}) -- target_link_libraries(onnxruntime_providers_cann PRIVATE ascendcl acl_op_compiler fmk_onnx_parser nsync_cpp ${ABSEIL_LIBS} ${ONNXRUNTIME_PROVIDERS_SHARED}) -+ target_link_libraries(onnxruntime_providers_cann PRIVATE ascendcl acl_op_compiler fmk_onnx_parser nsync::nsync_cpp ${ABSEIL_LIBS} ${ONNXRUNTIME_PROVIDERS_SHARED}) - target_link_directories(onnxruntime_providers_cann PRIVATE ${onnxruntime_CANN_HOME}/lib64) - target_include_directories(onnxruntime_providers_cann PRIVATE ${ONNXRUNTIME_ROOT} ${CMAKE_CURRENT_BINARY_DIR} ${eigen_INCLUDE_DIRS} ${onnxruntime_CANN_HOME} ${onnxruntime_CANN_HOME}/include) - -@@ -1619,7 +1619,7 @@ if (onnxruntime_USE_AZURE) - source_group(TREE ${ONNXRUNTIME_ROOT}/core FILES ${onnxruntime_providers_azure_src}) - onnxruntime_add_static_library(onnxruntime_providers_azure ${onnxruntime_providers_azure_src}) - add_dependencies(onnxruntime_providers_azure ${onnxruntime_EXTERNAL_DEPENDENCIES}) -- onnxruntime_add_include_to_target(onnxruntime_providers_azure onnxruntime_common onnxruntime_framework onnx onnx_proto ${PROTOBUF_LIB} flatbuffers Boost::mp11) -+ onnxruntime_add_include_to_target(onnxruntime_providers_azure onnxruntime_common onnxruntime_framework onnx onnx_proto ${PROTOBUF_LIB} flatbuffers::flatbuffers Boost::mp11) - target_link_libraries(onnxruntime_providers_azure PRIVATE onnx onnxruntime_common onnxruntime_framework) - set_target_properties(onnxruntime_providers_azure PROPERTIES FOLDER "ONNXRuntime") - set_target_properties(onnxruntime_providers_azure PROPERTIES LINKER_LANGUAGE CXX) ---- a/cmake/onnxruntime_unittests.cmake -+++ b/cmake/onnxruntime_unittests.cmake -@@ -631,8 +631,8 @@ if(MSVC) - "$<$>:/wd6326>") - else() - target_compile_definitions(onnxruntime_test_utils PUBLIC -DNSYNC_ATOMIC_CPP11) -- target_include_directories(onnxruntime_test_utils PRIVATE ${CMAKE_CURRENT_BINARY_DIR} ${ONNXRUNTIME_ROOT} -- ${nsync_SOURCE_DIR}/public) -+ target_include_directories(onnxruntime_test_utils PRIVATE ${CMAKE_CURRENT_BINARY_DIR} ${ONNXRUNTIME_ROOT}) -+ onnxruntime_add_include_to_target(onnxruntime_test_utils nsync::nsync_cpp) - endif() - if (onnxruntime_USE_NCCL) - target_include_directories(onnxruntime_test_utils PRIVATE ${NCCL_INCLUDE_DIRS}) -@@ -665,8 +665,8 @@ if(MSVC) - "$<$>:/utf-8>") - else() - target_compile_definitions(onnx_test_runner_common PUBLIC -DNSYNC_ATOMIC_CPP11) -- target_include_directories(onnx_test_runner_common PRIVATE ${CMAKE_CURRENT_BINARY_DIR} ${ONNXRUNTIME_ROOT} -- ${nsync_SOURCE_DIR}/public) -+ target_include_directories(onnx_test_runner_common PRIVATE ${CMAKE_CURRENT_BINARY_DIR} ${ONNXRUNTIME_ROOT}) -+ onnxruntime_add_include_to_target(onnx_test_runner_common nsync::nsync_cpp) - endif() - if (MSVC AND NOT CMAKE_SIZEOF_VOID_P EQUAL 8) - #TODO: fix the warnings, they are dangerous -@@ -995,7 +995,7 @@ if (NOT onnxruntime_ENABLE_TRAINING_TORCH_INTEROP) - # "Global initializer calls a non-constexpr function." BENCHMARK_CAPTURE macro needs this. - target_compile_options(onnxruntime_mlas_benchmark PRIVATE /wd26426) - else() -- target_link_libraries(onnxruntime_mlas_benchmark PRIVATE nsync_cpp ${CMAKE_DL_LIBS}) -+ target_link_libraries(onnxruntime_mlas_benchmark PRIVATE nsync::nsync_cpp ${CMAKE_DL_LIBS}) - endif() - if (CPUINFO_SUPPORTED AND NOT onnxruntime_BUILD_WEBASSEMBLY) - target_link_libraries(onnxruntime_mlas_benchmark PRIVATE cpuinfo) -@@ -1053,7 +1053,7 @@ if(onnxruntime_ENABLE_EAGER_MODE) - list(APPEND onnxruntime_eager_mode_libs onnxruntime_training tensorboard) - endif() - IF(NOT WIN32) -- list(APPEND onnxruntime_eager_mode_libs nsync_cpp) -+ list(APPEND onnxruntime_eager_mode_libs nsync::nsync_cpp) - endif() - target_link_libraries(onnxruntime_eager_mode_test PRIVATE ${onnxruntime_eager_mode_libs} Threads::Threads ${onnxruntime_EXTERNAL_LIBRARIES}) - if (onnxruntime_ENABLE_TRAINING_TORCH_INTEROP) -@@ -1113,7 +1113,7 @@ if (NOT onnxruntime_ENABLE_TRAINING_TORCH_INTEROP) - ${onnxruntime_EXTERNAL_LIBRARIES} - ${GETOPT_LIB_WIDE} ${SYS_PATH_LIB} ${CMAKE_DL_LIBS}) - if(NOT WIN32) -- list(APPEND onnxruntime_perf_test_libs nsync_cpp) -+ list(APPEND onnxruntime_perf_test_libs nsync::nsync_cpp) - if(onnxruntime_USE_SNPE) - list(APPEND onnxruntime_perf_test_libs onnxruntime_providers_snpe) - endif() -@@ -1157,7 +1157,7 @@ if (NOT onnxruntime_ENABLE_TRAINING_TORCH_INTEROP) - # test inference using shared lib - set(onnxruntime_shared_lib_test_LIBS onnxruntime_mocked_allocator onnxruntime_test_utils onnxruntime_common onnx_proto) - if(NOT WIN32) -- list(APPEND onnxruntime_shared_lib_test_LIBS nsync_cpp) -+ list(APPEND onnxruntime_shared_lib_test_LIBS nsync::nsync_cpp) - if(onnxruntime_USE_SNPE) - list(APPEND onnxruntime_shared_lib_test_LIBS onnxruntime_providers_snpe) - endif() -@@ -1279,7 +1279,7 @@ if (NOT onnxruntime_ENABLE_TRAINING_TORCH_INTEROP) - target_link_libraries(onnxruntime_mlas_test PRIVATE cpuinfo) - endif() - if(NOT WIN32) -- target_link_libraries(onnxruntime_mlas_test PRIVATE nsync_cpp ${CMAKE_DL_LIBS}) -+ target_link_libraries(onnxruntime_mlas_test PRIVATE nsync::nsync_cpp ${CMAKE_DL_LIBS}) - endif() - if (CMAKE_SYSTEM_NAME STREQUAL "Android") - target_link_libraries(onnxruntime_mlas_test PRIVATE ${android_shared_libs}) ---- a/cmake/onnxruntime_webassembly.cmake -+++ b/cmake/onnxruntime_webassembly.cmake -@@ -97,7 +97,7 @@ target_compile_options(onnx PRIVATE -Wno-unused-parameter -Wno-unused-variable) - - if (onnxruntime_BUILD_WEBASSEMBLY_STATIC_LIB) - bundle_static_library(onnxruntime_webassembly -- nsync_cpp -+ nsync::nsync_cpp - ${PROTOBUF_LIB} - onnx - onnx_proto -@@ -172,7 +172,7 @@ else() - endif() - - target_link_libraries(onnxruntime_webassembly PRIVATE -- nsync_cpp -+ nsync::nsync_cpp - ${PROTOBUF_LIB} - onnx - onnx_proto diff --git a/recipes/onnxruntime/all/patches/1.14.1-0002-cmake-dependencies.patch b/recipes/onnxruntime/all/patches/1.14.1-0002-cmake-dependencies.patch deleted file mode 100644 index 6dbbfc4af9df4..0000000000000 --- a/recipes/onnxruntime/all/patches/1.14.1-0002-cmake-dependencies.patch +++ /dev/null @@ -1,166 +0,0 @@ -diff --git a/cmake/external/abseil-cpp.cmake b/cmake/external/abseil-cpp.cmake -index 54d2f9c5c1..3195ef15a0 100644 ---- a/cmake/external/abseil-cpp.cmake -+++ b/cmake/external/abseil-cpp.cmake -@@ -22,6 +22,7 @@ FetchContent_Declare( - URL ${DEP_URL_abseil_cpp} - URL_HASH SHA1=${DEP_SHA1_abseil_cpp} - PATCH_COMMAND ${ABSL_PATCH_COMMAND} -+ FIND_PACKAGE_ARGS REQUIRED CONFIG NAMES absl - ) - - onnxruntime_fetchcontent_makeavailable(abseil_cpp) -diff --git a/cmake/external/eigen.cmake b/cmake/external/eigen.cmake -index 266dd534af..3c7cb77891 100644 ---- a/cmake/external/eigen.cmake -+++ b/cmake/external/eigen.cmake -@@ -14,8 +14,11 @@ else () - FetchContent_Declare( - eigen - URL https://gitlab.com/libeigen/eigen/-/archive/d10b27fe37736d2944630ecd7557cefa95cf87c9/eigen-d10b27fe37736d2944630ecd7557cefa95cf87c9.zip -+ FIND_PACKAGE_ARGS REQUIRED CONFIG NAMES Eigen3 - ) - endif() -- FetchContent_Populate(eigen) -- set(eigen_INCLUDE_DIRS "${eigen_SOURCE_DIR}") -+ # FetchContent_Populate(eigen) -+ # set(eigen_INCLUDE_DIRS "${eigen_SOURCE_DIR}") -+ onnxruntime_fetchcontent_makeavailable(eigen) -+ get_target_property(eigen_INCLUDE_DIRS Eigen3::Eigen INTERFACE_INCLUDE_DIRECTORIES) - endif() -diff --git a/cmake/external/onnxruntime_external_deps.cmake b/cmake/external/onnxruntime_external_deps.cmake -index f85336e8bb..b051ff0be1 100644 ---- a/cmake/external/onnxruntime_external_deps.cmake -+++ b/cmake/external/onnxruntime_external_deps.cmake -@@ -97,7 +97,7 @@ FetchContent_Declare( - flatbuffers - URL ${DEP_URL_flatbuffers} - URL_HASH SHA1=${DEP_SHA1_flatbuffers} -- FIND_PACKAGE_ARGS 1.12.0...<2.0.0 NAMES Flatbuffers -+ FIND_PACKAGE_ARGS NAMES flatbuffers - ) - - #Here we support two build mode: -@@ -136,6 +136,7 @@ FetchContent_Declare( - date - URL ${DEP_URL_date} - URL_HASH SHA1=${DEP_SHA1_date} -+ FIND_PACKAGE_ARGS NAMES date - ) - onnxruntime_fetchcontent_makeavailable(date) - -@@ -145,6 +146,7 @@ FetchContent_Declare( - mp11 - URL ${DEP_URL_mp11} - URL_HASH SHA1=${DEP_SHA1_mp11} -+ FIND_PACKAGE_ARGS NAMES Boost - ) - - set(JSON_BuildTests OFF CACHE INTERNAL "") -@@ -263,6 +265,7 @@ FetchContent_Declare( - safeint - URL ${DEP_URL_safeint} - URL_HASH SHA1=${DEP_SHA1_safeint} -+ FIND_PACKAGE_ARGS NAMES safeint - ) - - # The next line will generate an error message "fatal: not a git repository", but it is ok. It is from flatbuffers -@@ -359,6 +362,7 @@ FetchContent_Declare( - URL ${DEP_URL_onnx} - URL_HASH SHA1=${DEP_SHA1_onnx} - PATCH_COMMAND ${ONNXRUNTIME_ONNX_PATCH_COMMAND} -+ FIND_PACKAGE_ARGS NAMES onnx ONNX - ) - - -@@ -386,8 +390,6 @@ endif() - set(GSL_TARGET "Microsoft.GSL::GSL") - set(GSL_INCLUDE_DIR "$") - --add_library(safeint_interface INTERFACE) --target_include_directories(safeint_interface INTERFACE ${safeint_SOURCE_DIR}) - - # XNNPACK EP - if (onnxruntime_USE_XNNPACK) -@@ -416,9 +418,9 @@ set(onnxruntime_EXTERNAL_LIBRARIES ${onnxruntime_EXTERNAL_LIBRARIES_XNNPACK} WIL - # The other libs do not have the problem. All the sources are already there. We can compile them in any order. - set(onnxruntime_EXTERNAL_DEPENDENCIES onnx_proto flatbuffers::flatbuffers) - --target_compile_definitions(onnx PUBLIC $ PRIVATE "__ONNX_DISABLE_STATIC_REGISTRATION") -+# target_compile_definitions(onnx PUBLIC $ PRIVATE "__ONNX_DISABLE_STATIC_REGISTRATION") - if (NOT onnxruntime_USE_FULL_PROTOBUF) -- target_compile_definitions(onnx PUBLIC "__ONNX_NO_DOC_STRINGS") -+ # target_compile_definitions(onnx PUBLIC "__ONNX_NO_DOC_STRINGS") - endif() - - if (onnxruntime_RUN_ONNX_TESTS) -diff --git a/cmake/external/wil.cmake b/cmake/external/wil.cmake -index d38535c4a1..8b181871f9 100644 ---- a/cmake/external/wil.cmake -+++ b/cmake/external/wil.cmake -@@ -11,12 +11,18 @@ FetchContent_Declare( - ) - #We can not use FetchContent_MakeAvailable(microsoft_wil) at here, since their cmake file - #always executes install command without conditions. --FetchContent_Populate(microsoft_wil) --if(NOT wil_FOUND) -+#FetchContent_Populate(microsoft_wil) -+#if(NOT wil_FOUND) -+# add_library(WIL INTERFACE) -+# add_library(WIL::WIL ALIAS WIL) -+# -+# # The interface's include directory. -+# target_include_directories(WIL INTERFACE -+# $) -+#endif() -+if(WIN32) -+ FetchContent_MakeAvailable(microsoft_wil) -+else() - add_library(WIL INTERFACE) - add_library(WIL::WIL ALIAS WIL) -- -- # The interface's include directory. -- target_include_directories(WIL INTERFACE -- $) --endif() -\ No newline at end of file -+endif() -diff --git a/cmake/external/xnnpack.cmake b/cmake/external/xnnpack.cmake -index 1fc2c6ccdc..a2c28957f9 100644 ---- a/cmake/external/xnnpack.cmake -+++ b/cmake/external/xnnpack.cmake -@@ -25,12 +25,15 @@ set(FXDIV_SOURCE_DIR ${fxdiv_SOURCE_DIR}) - - FetchContent_Declare(pthreadpool URL ${DEP_URL_pthreadpool} URL_HASH SHA1=${DEP_SHA1_pthreadpool}) - onnxruntime_fetchcontent_makeavailable(pthreadpool) --FetchContent_Declare(googlexnnpack URL ${DEP_URL_googlexnnpack} URL_HASH SHA1=${DEP_SHA1_googlexnnpack} --PATCH_COMMAND ${Patch_EXECUTABLE} --binary --ignore-whitespace -p1 < ${PROJECT_SOURCE_DIR}/patches/xnnpack/AddEmscriptenAndIosSupport.patch) -+FetchContent_Declare( -+ googlexnnpack -+ URL ${DEP_URL_googlexnnpack} -+ URL_HASH SHA1=${DEP_SHA1_googlexnnpack} -+ PATCH_COMMAND ${Patch_EXECUTABLE} --binary --ignore-whitespace -p1 < ${PROJECT_SOURCE_DIR}/patches/xnnpack/AddEmscriptenAndIosSupport.patch -+ FIND_PACKAGE_ARGS NAMES xnnpack -+) - - onnxruntime_fetchcontent_makeavailable(googlexnnpack) --set(XNNPACK_DIR ${googlexnnpack_SOURCE_DIR}) --set(XNNPACK_INCLUDE_DIR ${XNNPACK_DIR}/include) - - set(onnxruntime_EXTERNAL_LIBRARIES_XNNPACK XNNPACK pthreadpool) - -diff --git a/cmake/onnxruntime_providers.cmake b/cmake/onnxruntime_providers.cmake -index 7a99bac233..bbf1955494 100644 ---- a/cmake/onnxruntime_providers.cmake -+++ b/cmake/onnxruntime_providers.cmake -@@ -1561,10 +1561,6 @@ if (onnxruntime_USE_XNNPACK) - add_dependencies(onnxruntime_providers_xnnpack onnx ${onnxruntime_EXTERNAL_DEPENDENCIES}) - set_target_properties(onnxruntime_providers_xnnpack PROPERTIES FOLDER "ONNXRuntime") - -- install(DIRECTORY ${ONNXRUNTIME_INCLUDE_DIR}/core/providers/xnnpack -- DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/onnxruntime/core/providers -- ) -- - set_target_properties(onnxruntime_providers_xnnpack PROPERTIES LINKER_LANGUAGE CXX) - - if (NOT onnxruntime_BUILD_SHARED_LIB) diff --git a/recipes/onnxruntime/all/patches/1.15.1-0001-cmake-dependencies.patch b/recipes/onnxruntime/all/patches/1.15.1-0001-cmake-dependencies.patch deleted file mode 100644 index 4ebc87b3a4ddc..0000000000000 --- a/recipes/onnxruntime/all/patches/1.15.1-0001-cmake-dependencies.patch +++ /dev/null @@ -1,150 +0,0 @@ -diff --git a/cmake/external/abseil-cpp.cmake b/cmake/external/abseil-cpp.cmake -index 54d2f9c5c1..3195ef15a0 100644 ---- a/cmake/external/abseil-cpp.cmake -+++ b/cmake/external/abseil-cpp.cmake -@@ -22,6 +22,7 @@ FetchContent_Declare( - URL ${DEP_URL_abseil_cpp} - URL_HASH SHA1=${DEP_SHA1_abseil_cpp} - PATCH_COMMAND ${ABSL_PATCH_COMMAND} -+ FIND_PACKAGE_ARGS REQUIRED CONFIG NAMES absl - ) - - onnxruntime_fetchcontent_makeavailable(abseil_cpp) -diff --git a/cmake/external/eigen.cmake b/cmake/external/eigen.cmake -index 266dd534af..12b1792862 100644 ---- a/cmake/external/eigen.cmake -+++ b/cmake/external/eigen.cmake -@@ -14,8 +14,9 @@ else () - FetchContent_Declare( - eigen - URL https://gitlab.com/libeigen/eigen/-/archive/d10b27fe37736d2944630ecd7557cefa95cf87c9/eigen-d10b27fe37736d2944630ecd7557cefa95cf87c9.zip -+ FIND_PACKAGE_ARGS REQUIRED CONFIG NAMES Eigen3 - ) - endif() -- FetchContent_Populate(eigen) -- set(eigen_INCLUDE_DIRS "${eigen_SOURCE_DIR}") -+ onnxruntime_fetchcontent_makeavailable(eigen) -+ get_target_property(eigen_INCLUDE_DIRS Eigen3::Eigen INTERFACE_INCLUDE_DIRECTORIES) - endif() -diff --git a/cmake/external/onnxruntime_external_deps.cmake b/cmake/external/onnxruntime_external_deps.cmake -index 9effd1a2db..a059c28e36 100644 ---- a/cmake/external/onnxruntime_external_deps.cmake -+++ b/cmake/external/onnxruntime_external_deps.cmake -@@ -173,6 +173,7 @@ FetchContent_Declare( - date - URL ${DEP_URL_date} - URL_HASH SHA1=${DEP_SHA1_date} -+ FIND_PACKAGE_ARGS NAMES date - ) - onnxruntime_fetchcontent_makeavailable(date) - -@@ -182,6 +183,7 @@ FetchContent_Declare( - mp11 - URL ${DEP_URL_mp11} - URL_HASH SHA1=${DEP_SHA1_mp11} -+ FIND_PACKAGE_ARGS NAMES Boost - ) - - set(JSON_BuildTests OFF CACHE INTERNAL "") -@@ -300,6 +302,7 @@ FetchContent_Declare( - safeint - URL ${DEP_URL_safeint} - URL_HASH SHA1=${DEP_SHA1_safeint} -+ FIND_PACKAGE_ARGS NAMES safeint - ) - - # The next line will generate an error message "fatal: not a git repository", but it is ok. It is from flatbuffers -@@ -396,6 +399,7 @@ FetchContent_Declare( - URL ${DEP_URL_onnx} - URL_HASH SHA1=${DEP_SHA1_onnx} - PATCH_COMMAND ${ONNXRUNTIME_ONNX_PATCH_COMMAND} -+ FIND_PACKAGE_ARGS NAMES onnx ONNX - ) - - -@@ -423,9 +427,6 @@ endif() - set(GSL_TARGET "Microsoft.GSL::GSL") - set(GSL_INCLUDE_DIR "$") - --add_library(safeint_interface INTERFACE) --target_include_directories(safeint_interface INTERFACE ${safeint_SOURCE_DIR}) -- - # XNNPACK EP - if (onnxruntime_USE_XNNPACK) - if (onnxruntime_DISABLE_CONTRIB_OPS) -@@ -453,9 +454,9 @@ set(onnxruntime_EXTERNAL_LIBRARIES ${onnxruntime_EXTERNAL_LIBRARIES_XNNPACK} WIL - # The other libs do not have the problem. All the sources are already there. We can compile them in any order. - set(onnxruntime_EXTERNAL_DEPENDENCIES onnx_proto flatbuffers::flatbuffers) - --target_compile_definitions(onnx PUBLIC $ PRIVATE "__ONNX_DISABLE_STATIC_REGISTRATION") -+# target_compile_definitions(onnx PUBLIC $ PRIVATE "__ONNX_DISABLE_STATIC_REGISTRATION") - if (NOT onnxruntime_USE_FULL_PROTOBUF) -- target_compile_definitions(onnx PUBLIC "__ONNX_NO_DOC_STRINGS") -+ # target_compile_definitions(onnx PUBLIC "__ONNX_NO_DOC_STRINGS") - endif() - - if (onnxruntime_RUN_ONNX_TESTS) -diff --git a/cmake/external/wil.cmake b/cmake/external/wil.cmake -index d38535c4a1..02d6dbd85d 100644 ---- a/cmake/external/wil.cmake -+++ b/cmake/external/wil.cmake -@@ -9,14 +9,10 @@ FetchContent_Declare( - URL_HASH SHA1=${DEP_SHA1_microsoft_wil} - FIND_PACKAGE_ARGS NAMES wil - ) --#We can not use FetchContent_MakeAvailable(microsoft_wil) at here, since their cmake file --#always executes install command without conditions. --FetchContent_Populate(microsoft_wil) --if(NOT wil_FOUND) -+ -+if(WIN32) -+ FetchContent_MakeAvailable(microsoft_wil) -+else() - add_library(WIL INTERFACE) - add_library(WIL::WIL ALIAS WIL) -- -- # The interface's include directory. -- target_include_directories(WIL INTERFACE -- $) --endif() -\ No newline at end of file -+endif() -diff --git a/cmake/external/xnnpack.cmake b/cmake/external/xnnpack.cmake -index 1fc2c6ccdc..a2c28957f9 100644 ---- a/cmake/external/xnnpack.cmake -+++ b/cmake/external/xnnpack.cmake -@@ -25,12 +25,15 @@ set(FXDIV_SOURCE_DIR ${fxdiv_SOURCE_DIR}) - - FetchContent_Declare(pthreadpool URL ${DEP_URL_pthreadpool} URL_HASH SHA1=${DEP_SHA1_pthreadpool}) - onnxruntime_fetchcontent_makeavailable(pthreadpool) --FetchContent_Declare(googlexnnpack URL ${DEP_URL_googlexnnpack} URL_HASH SHA1=${DEP_SHA1_googlexnnpack} --PATCH_COMMAND ${Patch_EXECUTABLE} --binary --ignore-whitespace -p1 < ${PROJECT_SOURCE_DIR}/patches/xnnpack/AddEmscriptenAndIosSupport.patch) -+FetchContent_Declare( -+ googlexnnpack -+ URL ${DEP_URL_googlexnnpack} -+ URL_HASH SHA1=${DEP_SHA1_googlexnnpack} -+ PATCH_COMMAND ${Patch_EXECUTABLE} --binary --ignore-whitespace -p1 < ${PROJECT_SOURCE_DIR}/patches/xnnpack/AddEmscriptenAndIosSupport.patch -+ FIND_PACKAGE_ARGS NAMES xnnpack -+) - - onnxruntime_fetchcontent_makeavailable(googlexnnpack) --set(XNNPACK_DIR ${googlexnnpack_SOURCE_DIR}) --set(XNNPACK_INCLUDE_DIR ${XNNPACK_DIR}/include) - - set(onnxruntime_EXTERNAL_LIBRARIES_XNNPACK XNNPACK pthreadpool) - -diff --git a/cmake/onnxruntime_providers.cmake b/cmake/onnxruntime_providers.cmake -index 0daa1b8a3d..1f25467a8c 100644 ---- a/cmake/onnxruntime_providers.cmake -+++ b/cmake/onnxruntime_providers.cmake -@@ -1711,10 +1711,6 @@ if (onnxruntime_USE_XNNPACK) - add_dependencies(onnxruntime_providers_xnnpack onnx ${onnxruntime_EXTERNAL_DEPENDENCIES}) - set_target_properties(onnxruntime_providers_xnnpack PROPERTIES FOLDER "ONNXRuntime") - -- install(DIRECTORY ${ONNXRUNTIME_INCLUDE_DIR}/core/providers/xnnpack -- DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/onnxruntime/core/providers -- ) -- - set_target_properties(onnxruntime_providers_xnnpack PROPERTIES LINKER_LANGUAGE CXX) - - if (NOT onnxruntime_BUILD_SHARED_LIB) diff --git a/recipes/onnxruntime/all/patches/1.16.0-0001-cmake-dependencies.patch b/recipes/onnxruntime/all/patches/1.16.0-0001-cmake-dependencies.patch deleted file mode 100644 index dacb2b9b27a86..0000000000000 --- a/recipes/onnxruntime/all/patches/1.16.0-0001-cmake-dependencies.patch +++ /dev/null @@ -1,129 +0,0 @@ -From a30759bc61768883302290d34efd6d0a5e09dc9f Mon Sep 17 00:00:00 2001 -From: mayeut -Date: Thu, 21 Sep 2023 23:20:46 +0200 -Subject: [PATCH] CMake: ensure conan dependencies are used - ---- - cmake/external/eigen.cmake | 5 +++-- - cmake/external/onnxruntime_external_deps.cmake | 15 ++++++++------- - cmake/external/xnnpack.cmake | 11 +++++++---- - cmake/onnxruntime_mlas.cmake | 2 +- - 4 files changed, 19 insertions(+), 14 deletions(-) - -diff --git a/cmake/external/eigen.cmake b/cmake/external/eigen.cmake -index c0f7ddc50e..a47de64cbd 100644 ---- a/cmake/external/eigen.cmake -+++ b/cmake/external/eigen.cmake -@@ -16,8 +16,9 @@ else () - eigen - URL ${DEP_URL_eigen} - URL_HASH SHA1=${DEP_SHA1_eigen} -+ FIND_PACKAGE_ARGS REQUIRED CONFIG NAMES Eigen3 - ) - endif() -- FetchContent_Populate(eigen) -- set(eigen_INCLUDE_DIRS "${eigen_SOURCE_DIR}") -+ onnxruntime_fetchcontent_makeavailable(eigen) -+ get_target_property(eigen_INCLUDE_DIRS Eigen3::Eigen INTERFACE_INCLUDE_DIRECTORIES) - endif() -diff --git a/cmake/external/onnxruntime_external_deps.cmake b/cmake/external/onnxruntime_external_deps.cmake -index 8e412c7847..0e2482d7de 100644 ---- a/cmake/external/onnxruntime_external_deps.cmake -+++ b/cmake/external/onnxruntime_external_deps.cmake -@@ -187,6 +187,7 @@ FetchContent_Declare( - date - URL ${DEP_URL_date} - URL_HASH SHA1=${DEP_SHA1_date} -+ FIND_PACKAGE_ARGS NAMES date - ) - onnxruntime_fetchcontent_makeavailable(date) - -@@ -196,6 +197,7 @@ FetchContent_Declare( - mp11 - URL ${DEP_URL_mp11} - URL_HASH SHA1=${DEP_SHA1_mp11} -+ FIND_PACKAGE_ARGS NAMES Boost - ) - - set(JSON_BuildTests OFF CACHE INTERNAL "") -@@ -314,6 +316,7 @@ FetchContent_Declare( - safeint - URL ${DEP_URL_safeint} - URL_HASH SHA1=${DEP_SHA1_safeint} -+ FIND_PACKAGE_ARGS NAMES safeint - ) - - # The next line will generate an error message "fatal: not a git repository", but it is ok. It is from flatbuffers -@@ -410,6 +413,7 @@ FetchContent_Declare( - URL ${DEP_URL_onnx} - URL_HASH SHA1=${DEP_SHA1_onnx} - PATCH_COMMAND ${ONNXRUNTIME_ONNX_PATCH_COMMAND} -+ FIND_PACKAGE_ARGS NAMES ONNX - ) - - -@@ -437,9 +441,6 @@ endif() - set(GSL_TARGET "Microsoft.GSL::GSL") - set(GSL_INCLUDE_DIR "$") - --add_library(safeint_interface INTERFACE) --target_include_directories(safeint_interface INTERFACE ${safeint_SOURCE_DIR}) -- - # XNNPACK EP - if (onnxruntime_USE_XNNPACK) - if (onnxruntime_DISABLE_CONTRIB_OPS) -@@ -467,10 +468,10 @@ set(onnxruntime_EXTERNAL_LIBRARIES ${onnxruntime_EXTERNAL_LIBRARIES_XNNPACK} ${W - # The other libs do not have the problem. All the sources are already there. We can compile them in any order. - set(onnxruntime_EXTERNAL_DEPENDENCIES onnx_proto flatbuffers::flatbuffers) - --target_compile_definitions(onnx PUBLIC $ PRIVATE "__ONNX_DISABLE_STATIC_REGISTRATION") --if (NOT onnxruntime_USE_FULL_PROTOBUF) -- target_compile_definitions(onnx PUBLIC "__ONNX_NO_DOC_STRINGS") --endif() -+# target_compile_definitions(onnx PUBLIC $ PRIVATE "__ONNX_DISABLE_STATIC_REGISTRATION") -+# if (NOT onnxruntime_USE_FULL_PROTOBUF) -+# target_compile_definitions(onnx PUBLIC "__ONNX_NO_DOC_STRINGS") -+# endif() - - if (onnxruntime_RUN_ONNX_TESTS) - add_definitions(-DORT_RUN_EXTERNAL_ONNX_TESTS) -diff --git a/cmake/external/xnnpack.cmake b/cmake/external/xnnpack.cmake -index 7455584f1a..85d8177f45 100644 ---- a/cmake/external/xnnpack.cmake -+++ b/cmake/external/xnnpack.cmake -@@ -25,12 +25,15 @@ set(FXDIV_SOURCE_DIR ${fxdiv_SOURCE_DIR}) - - FetchContent_Declare(pthreadpool URL ${DEP_URL_pthreadpool} URL_HASH SHA1=${DEP_SHA1_pthreadpool}) - onnxruntime_fetchcontent_makeavailable(pthreadpool) --FetchContent_Declare(googlexnnpack URL ${DEP_URL_googlexnnpack} URL_HASH SHA1=${DEP_SHA1_googlexnnpack} --PATCH_COMMAND ${Patch_EXECUTABLE} --binary --ignore-whitespace -p1 < ${PROJECT_SOURCE_DIR}/patches/xnnpack/AddEmscriptenAndIosSupport.patch) -+FetchContent_Declare( -+ googlexnnpack -+ URL ${DEP_URL_googlexnnpack} -+ URL_HASH SHA1=${DEP_SHA1_googlexnnpack} -+ PATCH_COMMAND ${Patch_EXECUTABLE} --binary --ignore-whitespace -p1 < ${PROJECT_SOURCE_DIR}/patches/xnnpack/AddEmscriptenAndIosSupport.patch -+ FIND_PACKAGE_ARGS NAMES xnnpack -+) - - onnxruntime_fetchcontent_makeavailable(googlexnnpack) --set(XNNPACK_DIR ${googlexnnpack_SOURCE_DIR}) --set(XNNPACK_INCLUDE_DIR ${XNNPACK_DIR}/include) - - set(onnxruntime_EXTERNAL_LIBRARIES_XNNPACK XNNPACK pthreadpool) - -diff --git a/cmake/onnxruntime_mlas.cmake b/cmake/onnxruntime_mlas.cmake -index e0ccc504d7..819ffba884 100644 ---- a/cmake/onnxruntime_mlas.cmake -+++ b/cmake/onnxruntime_mlas.cmake -@@ -609,7 +609,7 @@ if (NOT onnxruntime_ORT_MINIMAL_BUILD) - - target_link_libraries(onnxruntime_mlas_q4dq PRIVATE ${ONNXRUNTIME_MLAS_LIBS} onnxruntime_common) - if (CPUINFO_SUPPORTED AND NOT CMAKE_SYSTEM_NAME STREQUAL "Emscripten") -- target_link_libraries(onnxruntime_mlas_q4dq PRIVATE cpuinfo) -+ target_link_libraries(onnxruntime_mlas_q4dq PRIVATE cpuinfo::cpuinfo) - endif() - if(NOT WIN32) - target_link_libraries(onnxruntime_mlas_q4dq PRIVATE nsync::nsync_cpp ${CMAKE_DL_LIBS}) --- -2.39.2 (Apple Git-143) - diff --git a/recipes/onnxruntime/all/patches/1.17.3-0001-patch-macos-cpp20-date-compat.patch b/recipes/onnxruntime/all/patches/1.17.3-0001-patch-macos-cpp20-date-compat.patch new file mode 100644 index 0000000000000..4f206c34e7538 --- /dev/null +++ b/recipes/onnxruntime/all/patches/1.17.3-0001-patch-macos-cpp20-date-compat.patch @@ -0,0 +1,142 @@ +From 7303a90f4916dcf6f66236d40b8917344c27420a Mon Sep 17 00:00:00 2001 +From: Andrew Fantino <15876180+afantino951@users.noreply.github.com> +Date: Tue, 2 Apr 2024 22:10:25 -0700 +Subject: [PATCH] Fix build errors from date/date.h C++20 compatibility + (#20139) + +### Description +For C++ standards >= 20, use `std::chrono::operator<<` in place of +`date::operator<<` to fix ambiguous operator compile error. + +### Motivation and Context +The external dependency HowardHinnant/date has a conflict with +std::chrono for >=C++20. +Solves #20137 +--- + cmake/onnxruntime_common.cmake | 2 +- + include/onnxruntime/core/common/logging/logging.h | 11 +++++++++++ + onnxruntime/core/common/logging/sinks/ostream_sink.cc | 3 +-- + .../core/platform/apple/logging/apple_log_sink.mm | 2 +- + onnxruntime/test/common/logging/helpers.h | 3 +-- + onnxruntime/test/util/include/test/capturing_sink.h | 4 +--- + 6 files changed, 16 insertions(+), 9 deletions(-) + +diff --git a/cmake/onnxruntime_common.cmake b/cmake/onnxruntime_common.cmake +index fb56e3f3445d..69d8f5fa138c 100644 +--- a/cmake/onnxruntime_common.cmake ++++ b/cmake/onnxruntime_common.cmake +@@ -129,7 +129,7 @@ target_include_directories(onnxruntime_common + ${OPTIONAL_LITE_INCLUDE_DIR}) + + +-target_link_libraries(onnxruntime_common PUBLIC safeint_interface ${GSL_TARGET} ${ABSEIL_LIBS}) ++target_link_libraries(onnxruntime_common PUBLIC safeint_interface ${GSL_TARGET} ${ABSEIL_LIBS} date::date) + + add_dependencies(onnxruntime_common ${onnxruntime_EXTERNAL_DEPENDENCIES}) + +diff --git a/include/onnxruntime/core/common/logging/logging.h b/include/onnxruntime/core/common/logging/logging.h +index 2b9912ea7738..f62053a5e44a 100644 +--- a/include/onnxruntime/core/common/logging/logging.h ++++ b/include/onnxruntime/core/common/logging/logging.h +@@ -18,6 +18,8 @@ + + #include "core/common/logging/macros.h" + ++#include "date/date.h" ++ + /* + + Logging overview and expected usage: +@@ -56,6 +58,15 @@ namespace logging { + + using Timestamp = std::chrono::time_point; + ++// TODO: When other compilers support std::chrono::operator<<, update this. ++// TODO: Check support for other compilers' version before enable C++20 for other compilers. ++// Xcode added support for C++20's std::chrono::operator<< in SDK version 14.4. ++#if __cplusplus >= 202002L && __MAC_OS_X_VERSION_MAX_ALLOWED >= 140400L ++namespace timestamp_ns = std::chrono; ++#else ++namespace timestamp_ns = ::date; ++#endif ++ + #ifndef NDEBUG + ORT_ATTRIBUTE_UNUSED static bool vlog_enabled = true; // Set directly based on your needs. + #else +diff --git a/onnxruntime/core/common/logging/sinks/ostream_sink.cc b/onnxruntime/core/common/logging/sinks/ostream_sink.cc +index 0db3d8709d48..a120138d1d15 100644 +--- a/onnxruntime/core/common/logging/sinks/ostream_sink.cc ++++ b/onnxruntime/core/common/logging/sinks/ostream_sink.cc +@@ -2,7 +2,6 @@ + // Licensed under the MIT License. + + #include "core/common/logging/sinks/ostream_sink.h" +-#include "date/date.h" + + namespace onnxruntime { + namespace logging { +@@ -24,7 +23,7 @@ struct Color { + + void OStreamSink::SendImpl(const Timestamp& timestamp, const std::string& logger_id, const Capture& message) { + // operator for formatting of timestamp in ISO8601 format including microseconds +- using date::operator<<; ++ using timestamp_ns::operator<<; + + // Two options as there may be multiple calls attempting to write to the same sink at once: + // 1) Use mutex to synchronize access to the stream. +diff --git a/onnxruntime/core/platform/apple/logging/apple_log_sink.mm b/onnxruntime/core/platform/apple/logging/apple_log_sink.mm +index 8dbd8eecd0e7..78614ffd2819 100644 +--- a/onnxruntime/core/platform/apple/logging/apple_log_sink.mm ++++ b/onnxruntime/core/platform/apple/logging/apple_log_sink.mm +@@ -13,7 +13,7 @@ + namespace logging { + + void AppleLogSink::SendImpl(const Timestamp& timestamp, const std::string& logger_id, const Capture& message) { +- using date::operator<<; ++ using timestamp_ns::operator<<; + std::ostringstream msg; + msg << timestamp << " [" << message.SeverityPrefix() << ":" << message.Category() << ":" << logger_id << ", " + << message.Location().ToString() << "] " << message.Message(); +diff --git a/onnxruntime/test/common/logging/helpers.h b/onnxruntime/test/common/logging/helpers.h +index c8d027022850..7fd03b72e53a 100644 +--- a/onnxruntime/test/common/logging/helpers.h ++++ b/onnxruntime/test/common/logging/helpers.h +@@ -5,7 +5,6 @@ + + #include + +-#include "date/date.h" + #include "gmock/gmock.h" + #include "gtest/gtest.h" + +@@ -30,7 +29,7 @@ class MockSink : public ::onnxruntime::logging::ISink { + #endif + + ACTION(PrintArgs) { +- using date::operator<<; ++ using onnxruntime::logging::timestamp_ns::operator<<; + + // const Timestamp ×tamp, const std::string &logger_id, const Message &message + // arg0 arg1 arg2 +diff --git a/onnxruntime/test/util/include/test/capturing_sink.h b/onnxruntime/test/util/include/test/capturing_sink.h +index 39788947602d..7d978d1bd1e5 100644 +--- a/onnxruntime/test/util/include/test/capturing_sink.h ++++ b/onnxruntime/test/util/include/test/capturing_sink.h +@@ -6,8 +6,6 @@ + #include "core/common/logging/logging.h" + #include "core/common/logging/isink.h" + +-#include "date/date.h" +- + namespace onnxruntime { + namespace test { + +@@ -17,7 +15,7 @@ class CapturingSink : public logging::ISink { + public: + void SendImpl(const Timestamp& timestamp, const std::string& logger_id, const Capture& message) override { + // operator for formatting of timestamp in ISO8601 format including microseconds +- using date::operator<<; ++ using timestamp_ns::operator<<; + std::ostringstream msg; + + msg << timestamp << " [" << message.SeverityPrefix() << ":" << message.Category() << ":" << logger_id << ", " diff --git a/recipes/onnxruntime/all/patches/1.17.3-0002-missing-include.patch b/recipes/onnxruntime/all/patches/1.17.3-0002-missing-include.patch new file mode 100644 index 0000000000000..d3555681e4af9 --- /dev/null +++ b/recipes/onnxruntime/all/patches/1.17.3-0002-missing-include.patch @@ -0,0 +1,12 @@ +diff --git a/include/onnxruntime/core/graph/graph.h b/include/onnxruntime/core/graph/graph.h +index 22827d43b2..f9e5fd56d3 100644 +--- a/include/onnxruntime/core/graph/graph.h ++++ b/include/onnxruntime/core/graph/graph.h +@@ -6,6 +6,7 @@ + #include + #include + #include ++#include + #include + #include + #include diff --git a/recipes/onnxruntime/all/patches/1.18.0-0004-abseil-no-string-view.patch b/recipes/onnxruntime/all/patches/1.18.0-0004-abseil-no-string-view.patch new file mode 100644 index 0000000000000..329024e7245ef --- /dev/null +++ b/recipes/onnxruntime/all/patches/1.18.0-0004-abseil-no-string-view.patch @@ -0,0 +1,22 @@ +--- a/onnxruntime/core/framework/kernel_type_str_resolver.cc ++++ b/onnxruntime/core/framework/kernel_type_str_resolver.cc +@@ -46,7 +46,7 @@ + ORT_RETURN_IF(op_it == op_kernel_type_str_map_.end(), "Failed to find op_id: ", op_id); + const auto& type_str_map = op_it->second; + +-#ifdef DISABLE_ABSEIL ++#ifndef ABSL_USES_STD_STRING_VIEW + // TODO(edgchen1) maybe we can use transparent hash/eq to enable lookup with string_view + const auto type_str_it = type_str_map.find(std::string(kernel_type_str)); + #else +--- a/onnxruntime/core/framework/ort_value_name_idx_map.h ++++ b/onnxruntime/core/framework/ort_value_name_idx_map.h +@@ -33,7 +33,7 @@ class OrtValueNameIdxMap { + common::Status GetIdx(std::string_view name, int& idx) const { + idx = -1; + +-#ifdef DISABLE_ABSEIL ++#ifndef ABSL_USES_STD_STRING_VIEW + auto it = map_.find(std::string(name)); + #else + auto it = map_.find(name); diff --git a/recipes/onnxruntime/config.yml b/recipes/onnxruntime/config.yml index 7dfea6fd99cd4..497cb76cea1d7 100644 --- a/recipes/onnxruntime/config.yml +++ b/recipes/onnxruntime/config.yml @@ -1,11 +1,9 @@ versions: - "1.16.3": - folder: all - "1.16.2": + "1.18.1": folder: all - "1.16.1": + "1.17.3": folder: all - "1.16.0": + "1.16.3": folder: all "1.15.1": folder: all From 461310a049419c8fa496873ed46fb4c10be3b847 Mon Sep 17 00:00:00 2001 From: Kim Lindberger Date: Wed, 21 Aug 2024 13:24:30 +0200 Subject: [PATCH 388/641] (#21763) tensorflow-lite: Add v2.15.0 --- recipes/tensorflow-lite/all/conandata.yml | 14 ++++ recipes/tensorflow-lite/all/conanfile.py | 14 ++-- .../2.15.0-0001-disable-fetch-content.patch | 12 ++++ .../patches/2.15.0-0002-windows-mmap.patch | 20 ++++++ .../2.15.0-0003-use-cci-dependencies.patch | 68 +++++++++++++++++++ recipes/tensorflow-lite/config.yml | 2 + 6 files changed, 125 insertions(+), 5 deletions(-) create mode 100644 recipes/tensorflow-lite/all/patches/2.15.0-0001-disable-fetch-content.patch create mode 100644 recipes/tensorflow-lite/all/patches/2.15.0-0002-windows-mmap.patch create mode 100644 recipes/tensorflow-lite/all/patches/2.15.0-0003-use-cci-dependencies.patch diff --git a/recipes/tensorflow-lite/all/conandata.yml b/recipes/tensorflow-lite/all/conandata.yml index c5076017657c5..bc007fbaf2a68 100644 --- a/recipes/tensorflow-lite/all/conandata.yml +++ b/recipes/tensorflow-lite/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.15.0": + url: "https://github.com/tensorflow/tensorflow/archive/refs/tags/v2.15.0.tar.gz" + sha256: "9cec5acb0ecf2d47b16891f8bc5bc6fbfdffe1700bdadc0d9ebe27ea34f0c220" "2.12.0": url: "https://github.com/tensorflow/tensorflow/archive/refs/tags/v2.12.0.tar.gz" sha256: "c030cb1905bff1d2446615992aad8d8d85cbe90c4fb625cee458c63bf466bc8e" @@ -6,6 +9,17 @@ sources: url: "https://github.com/tensorflow/tensorflow/archive/refs/tags/v2.10.0.tar.gz" sha256: "b5a1bb04c84b6fe1538377e5a1f649bb5d5f0b2e3625a3c526ff3a8af88633e8" patches: + "2.15.0": + - patch_file: "patches/2.15.0-0001-disable-fetch-content.patch" + patch_description: "Fail if the CMake build script tries to fetch external dependencies" + patch_type: "conan" + - patch_file: "patches/2.15.0-0002-windows-mmap.patch" + patch_description: "Disable mmap on Windows." + patch_type: "bugfix" + patch_source: "https://github.com/tensorflow/tensorflow/pull/62636" + - patch_file: "patches/2.15.0-0003-use-cci-dependencies.patch" + patch_description: "Dependency compatibility: Patch CMakeLists.txt, updating package names, target names, etc" + patch_type: "conan" "2.12.0": - patch_file: "patches/2.12.0-0001-remove_simple_memory_arena_debug_dump.patch" patch_description: "Shared build fails on Windows with error LNK2005. Resolve the conflict by removing the conflicting implementation for now." diff --git a/recipes/tensorflow-lite/all/conanfile.py b/recipes/tensorflow-lite/all/conanfile.py index 1fe43f9524e5d..dd383c7b99b3e 100644 --- a/recipes/tensorflow-lite/all/conanfile.py +++ b/recipes/tensorflow-lite/all/conanfile.py @@ -81,9 +81,12 @@ def requirements(self): self.requires("eigen/3.4.0") self.requires("farmhash/cci.20190513") self.requires("fft/cci.20061228") - self.requires("flatbuffers/23.3.3", transitive_headers=True) + if Version(self.version) < "2.15.0": + self.requires("flatbuffers/23.3.3", transitive_headers=True) + else: + self.requires("flatbuffers/23.5.26", transitive_headers=True) self.requires("gemmlowp/cci.20210928") - self.requires("ruy/cci.20220628") + self.requires("ruy/cci.20231129") if self.settings.arch in ("x86", "x86_64"): self.requires("intel-neon2sse/cci.20210225") if self.options.with_xnnpack: @@ -123,6 +126,7 @@ def generate(self): "TFLITE_ENABLE_XNNPACK": self.options.with_xnnpack, "TFLITE_ENABLE_MMAP": self.options.get_safe("with_mmap", False), "FETCHCONTENT_FULLY_DISCONNECTED": True, + "SYSTEM_PTHREADPOOL": True, "clog_POPULATED": True, }) if self.settings.arch == "armv8": @@ -158,9 +162,9 @@ def package(self): copy(self, "LICENSE", self.source_folder, join(self.package_folder, "licenses")) copy(self, "*.h", join(self.source_folder, "tensorflow", "lite"), join(self.package_folder, "include", "tensorflow", "lite")) copy(self, "version.h", join(self.source_folder, "tensorflow", "core", "public"), join(self.package_folder, "include", "tensorflow", "core", "public")) - copy(self, "*.a", self.build_folder, join(self.package_folder, "lib")) - copy(self, "*.so", self.build_folder, join(self.package_folder, "lib")) - copy(self, "*.dylib", self.build_folder, join(self.package_folder, "lib")) + copy(self, "*.a", self.build_folder, join(self.package_folder, "lib"), keep_path=False) + copy(self, "*.so", self.build_folder, join(self.package_folder, "lib"), keep_path=False) + copy(self, "*.dylib", self.build_folder, join(self.package_folder, "lib"), keep_path=False) copy(self, "*.lib", self.build_folder, join(self.package_folder, "lib"), keep_path=False) copy(self, "*.dll", self.build_folder, join(self.package_folder, "bin"), keep_path=False) self._create_cmake_module_alias_target(self, join(self.package_folder, self._module_file)) diff --git a/recipes/tensorflow-lite/all/patches/2.15.0-0001-disable-fetch-content.patch b/recipes/tensorflow-lite/all/patches/2.15.0-0001-disable-fetch-content.patch new file mode 100644 index 0000000000000..adc6f0561afef --- /dev/null +++ b/recipes/tensorflow-lite/all/patches/2.15.0-0001-disable-fetch-content.patch @@ -0,0 +1,12 @@ +diff --git a/tensorflow/lite/tools/cmake/modules/OverridableFetchContent.cmake b/tensorflow/lite/tools/cmake/modules/OverridableFetchContent.cmake +index 9ed95109ba9..4ddf322b95f 100644 +--- a/tensorflow/lite/tools/cmake/modules/OverridableFetchContent.cmake ++++ b/tensorflow/lite/tools/cmake/modules/OverridableFetchContent.cmake +@@ -244,6 +244,7 @@ endfunction() + # All content names passed to this method are added to the global property + # OVERRIDABLE_FETCH_CONTENT_LIST. + function(OverridableFetchContent_Declare CONTENT_NAME) ++ message(FATAL_ERROR "OverridableFetchContent_Declare called by ${CONTENT_NAME}! Failing build.") + set(OVERRIDABLE_ARGS + GIT_REPOSITORY + GIT_TAG diff --git a/recipes/tensorflow-lite/all/patches/2.15.0-0002-windows-mmap.patch b/recipes/tensorflow-lite/all/patches/2.15.0-0002-windows-mmap.patch new file mode 100644 index 0000000000000..1305e34c37c6d --- /dev/null +++ b/recipes/tensorflow-lite/all/patches/2.15.0-0002-windows-mmap.patch @@ -0,0 +1,20 @@ +commit 77056b1ab930c36c8066446615577be4d121e3ea +Author: talyz +Date: Thu Dec 14 11:43:16 2023 +0100 + + cmake: Disable the use of mmap on Windows + +diff --git a/tensorflow/lite/CMakeLists.txt b/tensorflow/lite/CMakeLists.txt +index 83bc7629004..0958ed1b9ce 100644 +--- a/tensorflow/lite/CMakeLists.txt ++++ b/tensorflow/lite/CMakeLists.txt +@@ -202,7 +202,8 @@ if(CMAKE_SYSTEM_NAME MATCHES "Windows") + # Use NOMINMAX to disable the min / max macros in windows.h as they break + # use of std::min std::max. + # Use NOGDI to ERROR macro which breaks TensorFlow logging. +- list(APPEND TFLITE_TARGET_PRIVATE_OPTIONS "-DNOMINMAX" "-DNOGDI") ++ # Disable mmap, which is not available on Windows. ++ list(APPEND TFLITE_TARGET_PRIVATE_OPTIONS "-DNOMINMAX" "-DNOGDI" "-DTFLITE_MMAP_DISABLED") + # lite/kernels/conv.cc has more than 64k sections so enable /bigobj to + # support compilation with MSVC2015. + if(MSVC) diff --git a/recipes/tensorflow-lite/all/patches/2.15.0-0003-use-cci-dependencies.patch b/recipes/tensorflow-lite/all/patches/2.15.0-0003-use-cci-dependencies.patch new file mode 100644 index 0000000000000..2c7c5965e2927 --- /dev/null +++ b/recipes/tensorflow-lite/all/patches/2.15.0-0003-use-cci-dependencies.patch @@ -0,0 +1,68 @@ +diff --git a/tensorflow/lite/CMakeLists.txt b/tensorflow/lite/CMakeLists.txt +index 0958ed1b9ce..13d06f12ca6 100644 +--- a/tensorflow/lite/CMakeLists.txt ++++ b/tensorflow/lite/CMakeLists.txt +@@ -147,7 +147,7 @@ set(TFLITE_TARGET_DEPENDENCIES "") + find_package(absl REQUIRED) + find_package(Eigen3 REQUIRED) + find_package(farmhash REQUIRED) +-find_package(fft2d REQUIRED) ++find_package(fft REQUIRED) + find_package(FlatBuffers REQUIRED) + find_package(gemmlowp REQUIRED) + if (NOT CMAKE_SYSTEM_PROCESSOR OR CMAKE_SYSTEM_PROCESSOR MATCHES "x86") +@@ -155,7 +155,6 @@ if (NOT CMAKE_SYSTEM_PROCESSOR OR CMAKE_SYSTEM_PROCESSOR MATCHES "x86") + list(APPEND TFLITE_TARGET_DEPENDENCIES NEON_2_SSE::NEON_2_SSE) + endif() + find_package(cpuinfo REQUIRED) #CPUINFO is used by XNNPACK and RUY library +-find_package(ml_dtypes REQUIRED) + find_package(ruy REQUIRED) + # Include TSL, which is in tensorflow/third_party + include_directories( +@@ -183,6 +182,11 @@ if(NOT SYSTEM_PTHREADPOOL AND NOT TARGET pthreadpool) + "${PTHREADPOOL_SOURCE_DIR}" + "${CMAKE_BINARY_DIR}/pthreadpool") + endif() ++if(TARGET flatbuffers::flatbuffers_shared) ++ set(FLATBUFFERS_TARGET flatbuffers::flatbuffers_shared) ++else() ++ set(FLATBUFFERS_TARGET flatbuffers::flatbuffers) ++endif() + set(TF_TARGET_PRIVATE_OPTIONS "") + if(CMAKE_CXX_COMPILER_ID MATCHES "Clang$") + # TensorFlow uses a heap of deprecated proto fields so surpress these +@@ -483,13 +487,13 @@ else() + endif() + if(TFLITE_ENABLE_XNNPACK) + find_package(fp16_headers REQUIRED) +- find_package(XNNPACK REQUIRED) ++ find_package(xnnpack REQUIRED) + populate_tflite_source_vars("delegates/xnnpack" + TFLITE_DELEGATES_XNNPACK_SRCS + FILTER ".*(_test|_tester)\\.(cc|h)" + ) + list(APPEND TFLITE_TARGET_DEPENDENCIES +- XNNPACK ++ xnnpack::xnnpack + ) + list(APPEND TFLITE_TARGET_PUBLIC_OPTIONS "-DTFLITE_BUILD_WITH_XNNPACK_DELEGATE") + endif() +@@ -633,13 +637,12 @@ target_link_libraries(tensorflow-lite + absl::strings + absl::synchronization + absl::variant +- farmhash +- fft2d_fftsg2d +- flatbuffers::flatbuffers +- gemmlowp::gemmlowp +- ml_dtypes ++ farmhash::farmhash ++ fft::fft ++ ${FLATBUFFERS_TARGET} ++ gemmlowp::eight_bit_int_gemm + ruy::ruy +- pthreadpool ++ pthreadpool::pthreadpool + ${CMAKE_DL_LIBS} + ${TFLITE_TARGET_DEPENDENCIES} + ) diff --git a/recipes/tensorflow-lite/config.yml b/recipes/tensorflow-lite/config.yml index cabc9e91cd30c..7e71186249830 100644 --- a/recipes/tensorflow-lite/config.yml +++ b/recipes/tensorflow-lite/config.yml @@ -1,4 +1,6 @@ versions: + "2.15.0": + folder: all "2.12.0": folder: all "2.10.0": From f4ac88dd03d779c420e582ef0da8bfa2e9ada5eb Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 21 Aug 2024 20:45:01 +0900 Subject: [PATCH 389/641] (#22698) battery-embed: add recipe * battery-embed: add recipe * change package_type * remove cmake_find_mode * link pthread, require newer cmake on test_package * drop support apple-clang * add 1.1.1 for macOS * update 1.2.12 * update 1.2.12, remove all patches * revert target_link_libraries * (trial) include unodered_map for apple-clang * append builddirs * update 1.2.14, remove pthread link * fix filename * update 1.2.15, undef B_PRODUCTION_MODE * remove patch files unused * remove export_coinandata_patches Co-authored-by: Martin Valgur * remove apply_conandata_patches Co-authored-by: Martin Valgur * remove unused import Co-authored-by: Martin Valgur * update 1.2.19 * Update recipes/battery-embed/all/conanfile.py --------- Co-authored-by: Martin Valgur Co-authored-by: Daniel --- recipes/battery-embed/all/conandata.yml | 4 + recipes/battery-embed/all/conanfile.py | 74 +++++++++++++++++++ recipes/battery-embed/all/embed.cmake | 4 + .../all/test_package/CMakeLists.txt | 10 +++ .../all/test_package/conanfile.py | 29 ++++++++ .../all/test_package/test_package.cpp | 8 ++ recipes/battery-embed/config.yml | 3 + 7 files changed, 132 insertions(+) create mode 100644 recipes/battery-embed/all/conandata.yml create mode 100644 recipes/battery-embed/all/conanfile.py create mode 100644 recipes/battery-embed/all/embed.cmake create mode 100644 recipes/battery-embed/all/test_package/CMakeLists.txt create mode 100644 recipes/battery-embed/all/test_package/conanfile.py create mode 100644 recipes/battery-embed/all/test_package/test_package.cpp create mode 100644 recipes/battery-embed/config.yml diff --git a/recipes/battery-embed/all/conandata.yml b/recipes/battery-embed/all/conandata.yml new file mode 100644 index 0000000000000..b94490b90ffc3 --- /dev/null +++ b/recipes/battery-embed/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "1.2.19": + url: "https://github.com/batterycenter/embed/archive/refs/tags/v1.2.19.tar.gz" + sha256: "d472655b6eec215cd7cd20411f3596f22f597ea6a82fbbc5a5d7271e102b610e" diff --git a/recipes/battery-embed/all/conanfile.py b/recipes/battery-embed/all/conanfile.py new file mode 100644 index 0000000000000..42b1dc0f23c98 --- /dev/null +++ b/recipes/battery-embed/all/conanfile.py @@ -0,0 +1,74 @@ +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import check_min_cppstd +from conan.tools.files import copy, get +from conan.tools.cmake import cmake_layout +from conan.tools.scm import Version +import os + +required_conan_version = ">=1.53.0" + +class BatteryEmbedConan(ConanFile): + name = "battery-embed" + description = "A CMake/C++20 library to embed resource files at compile time" + license = "Apache-2.0" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/batterycenter/embed" + topics = ("embed") + package_type = "build-scripts" + settings = "os", "arch", "compiler", "build_type" + + @property + def _min_cppstd(self): + return 20 + + @property + def _compilers_minimum_version(self): + return { + "gcc": "11", + "clang": "12", + "apple-clang": "13", + "Visual Studio": "16", + "msvc": "192", + } + + def export_sources(self): + copy(self, "embed.cmake", src=self.recipe_folder, dst=self.export_sources_folder) + + def layout(self): + cmake_layout(self, src_folder="src") + + def validate(self): + if self.settings.compiler.cppstd: + check_min_cppstd(self, self._min_cppstd) + minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) + if minimum_version and Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration( + f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." + ) + + def package_id(self): + del self.info.settings.arch + del self.info.settings.compiler + del self.info.settings.build_type + del self.info.settings.os + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def build(self): + copy(self, "embed.cmake", os.path.join(self.source_folder, os.pardir), self.recipe_folder) + + def package(self): + copy(self, "LICENSE", self.source_folder, os.path.join(self.package_folder, "licenses")) + copy(self, "embed.cmake", self.recipe_folder, os.path.join(self.package_folder, "lib", "cmake")) + copy(self, "CMakeLists.txt", self.source_folder, os.path.join(self.package_folder, "lib", "cmake", "battery-embed")) + + def package_info(self): + self.cpp_info.libdirs = [] + self.cpp_info.bindirs = [] + self.cpp_info.includedirs = [] + + self.cpp_info.set_property("cmake_target_name", "battery::embed") + self.cpp_info.builddirs.append(os.path.join("lib", "cmake")) + self.cpp_info.set_property("cmake_build_modules", [os.path.join("lib", "cmake", "embed.cmake")]) diff --git a/recipes/battery-embed/all/embed.cmake b/recipes/battery-embed/all/embed.cmake new file mode 100644 index 0000000000000..59fe1f00e55a0 --- /dev/null +++ b/recipes/battery-embed/all/embed.cmake @@ -0,0 +1,4 @@ +# cmake proxy module +cmake_minimum_required(VERSION 3.21) + +add_subdirectory(${CMAKE_CURRENT_LIST_DIR}/battery-embed battery-embed-build) diff --git a/recipes/battery-embed/all/test_package/CMakeLists.txt b/recipes/battery-embed/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..c4ee8021bda84 --- /dev/null +++ b/recipes/battery-embed/all/test_package/CMakeLists.txt @@ -0,0 +1,10 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) + +find_package(battery-embed REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE battery::embed) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_20) + +b_embed(${PROJECT_NAME} test_package.cpp) diff --git a/recipes/battery-embed/all/test_package/conanfile.py b/recipes/battery-embed/all/test_package/conanfile.py new file mode 100644 index 0000000000000..065416112515f --- /dev/null +++ b/recipes/battery-embed/all/test_package/conanfile.py @@ -0,0 +1,29 @@ +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_requirements(self): + self.tool_requires("cmake/[>=3.21 <4]") + + 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/battery-embed/all/test_package/test_package.cpp b/recipes/battery-embed/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..feb15d322e7f2 --- /dev/null +++ b/recipes/battery-embed/all/test_package/test_package.cpp @@ -0,0 +1,8 @@ +#include + +#include "battery/embed.hpp" + +int main(void) { + std::cout << b::embed<"test_package.cpp">() << std::endl; + return EXIT_SUCCESS; +} diff --git a/recipes/battery-embed/config.yml b/recipes/battery-embed/config.yml new file mode 100644 index 0000000000000..a18e338f675d9 --- /dev/null +++ b/recipes/battery-embed/config.yml @@ -0,0 +1,3 @@ +versions: + "1.2.19": + folder: all From ae536304601fa3435cd1bcc70c906a679707ac3d Mon Sep 17 00:00:00 2001 From: Jordan Williams Date: Wed, 21 Aug 2024 07:10:01 -0500 Subject: [PATCH 390/641] (#24611) directx-headers: Add version 1.614.0 Co-authored-by: Ernesto de Gracia Herranz --- recipes/directx-headers/all/conandata.yml | 3 +++ recipes/directx-headers/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/directx-headers/all/conandata.yml b/recipes/directx-headers/all/conandata.yml index 6289c24e10856..ad2d7265cac43 100644 --- a/recipes/directx-headers/all/conandata.yml +++ b/recipes/directx-headers/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.614.0": + url: "https://github.com/microsoft/DirectX-Headers/archive/refs/tags/v1.614.0.tar.gz" + sha256: "1cd54449799501a4ad129a4c7ccf0c026bbb699f937ba299d92de3aacd29c5be" "1.610.2": url: "https://github.com/microsoft/DirectX-Headers/archive/refs/tags/v1.610.2.tar.gz" sha256: "59492497e99bd3c23f8f8aa8a709f4d7b5bc5bd5057efa8c568bbad40015a8b2" diff --git a/recipes/directx-headers/config.yml b/recipes/directx-headers/config.yml index 15678ab870488..5129440c45004 100644 --- a/recipes/directx-headers/config.yml +++ b/recipes/directx-headers/config.yml @@ -1,3 +1,5 @@ versions: + "1.614.0": + folder: all "1.610.2": folder: all From 0ccde5141dab267a191c2a9995e0e0d4d4abaeaf Mon Sep 17 00:00:00 2001 From: Martin Delille Date: Wed, 21 Aug 2024 14:30:31 +0200 Subject: [PATCH 391/641] (#24989) [openapi-generator] Add 0.7.8 * [openapi-generator] Add 0.7.8 * Remove version 7.3.0 --- recipes/openapi-generator/all/conandata.yml | 6 +++--- recipes/openapi-generator/config.yml | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/recipes/openapi-generator/all/conandata.yml b/recipes/openapi-generator/all/conandata.yml index d977cc57e49bd..94d684c5ba1bc 100644 --- a/recipes/openapi-generator/all/conandata.yml +++ b/recipes/openapi-generator/all/conandata.yml @@ -1,13 +1,13 @@ sources: + "7.8.0": + url: "https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/7.8.0/openapi-generator-cli-7.8.0.jar" + sha256: "d1879cf42da31f8cf61cf68798b8ef2418af0c6bd93a5c1870e1ff543fbb9365" "7.5.0": url: "https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/7.5.0/openapi-generator-cli-7.5.0.jar" sha256: "47ebbd1beddaf7dfbee523e7b87623c6ec1b1d42960fbe15f6cad2f6426c69bf" "7.4.0": url: "https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/7.4.0/openapi-generator-cli-7.4.0.jar" sha256: "e42769a98fef5634bee0f921e4b90786a6b3292aa11fe8d2f84c045ac435ab29" - "7.3.0": - url: "https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/7.3.0/openapi-generator-cli-7.3.0.jar" - sha256: "879c15340a75a19a7e720efc242c3223e0e4207b0694d6d1cea5c7dd87cf1cce" "6.6.0": url: "https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/6.6.0/openapi-generator-cli-6.6.0.jar" sha256: "9718ff7844e89462c75dcd9b20a35136f6db257bfe1b874db1e3002e99de4609" diff --git a/recipes/openapi-generator/config.yml b/recipes/openapi-generator/config.yml index fd40653d9c013..f7485451c5674 100644 --- a/recipes/openapi-generator/config.yml +++ b/recipes/openapi-generator/config.yml @@ -1,9 +1,9 @@ versions: + "7.8.0": + folder: all "7.5.0": folder: all "7.4.0": folder: all - "7.3.0": - folder: all "6.6.0": folder: all From 89d6c8edf50dbccefe84c24cfce45d449debfeb5 Mon Sep 17 00:00:00 2001 From: Piotr Gaczkowski Date: Wed, 21 Aug 2024 15:51:23 +0200 Subject: [PATCH 392/641] (#24971) Fix Mac installation * Fix Mac installation * Added minimum check in test_package. Removed useless copy and f-string --------- Co-authored-by: Francisco Ramirez de Anton --- recipes/qt/6.x.x/conanfile.py | 4 +--- recipes/qt/6.x.x/test_package/CMakeLists.txt | 9 +++++++++ recipes/qt/6.x.x/test_package/conanfile.py | 4 ++++ recipes/qt/6.x.x/test_package/test_macos_bundle.cpp | 7 +++++++ 4 files changed, 21 insertions(+), 3 deletions(-) create mode 100644 recipes/qt/6.x.x/test_package/test_macos_bundle.cpp diff --git a/recipes/qt/6.x.x/conanfile.py b/recipes/qt/6.x.x/conanfile.py index 0b275f218cf1c..24db2fd10d54e 100644 --- a/recipes/qt/6.x.x/conanfile.py +++ b/recipes/qt/6.x.x/conanfile.py @@ -851,8 +851,6 @@ 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"), @@ -888,7 +886,7 @@ def package(self): 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' + filecontents += 'set(__qt_internal_cmake_apple_support_files_path "${CMAKE_CURRENT_LIST_DIR}/../../../lib/cmake/Qt6/macos")\n' targets = ["moc", "rcc", "tracegen", "cmake_automoc_parser", "qlalr", "qmake"] if self.options.with_dbus: targets.extend(["qdbuscpp2xml", "qdbusxml2cpp"]) diff --git a/recipes/qt/6.x.x/test_package/CMakeLists.txt b/recipes/qt/6.x.x/test_package/CMakeLists.txt index 89a6d714d6406..45e4bb9ec9ab7 100644 --- a/recipes/qt/6.x.x/test_package/CMakeLists.txt +++ b/recipes/qt/6.x.x/test_package/CMakeLists.txt @@ -7,3 +7,12 @@ 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) + +# Only running this Qt macros in macOS +if (APPLE) + # Related to https://github.com/conan-io/conan-center-index/issues/20574 + qt_standard_project_setup() + qt_add_executable(test_macos_bundle MACOSX_BUNDLE test_macos_bundle.cpp) + target_link_libraries(test_macos_bundle PRIVATE Qt6::Core) + target_compile_features(test_macos_bundle PRIVATE cxx_std_17) +endif() diff --git a/recipes/qt/6.x.x/test_package/conanfile.py b/recipes/qt/6.x.x/test_package/conanfile.py index 01ccf4f452670..11efc3f08b07a 100644 --- a/recipes/qt/6.x.x/test_package/conanfile.py +++ b/recipes/qt/6.x.x/test_package/conanfile.py @@ -41,3 +41,7 @@ def test(self): copy(self, "qt.conf", src=self.generators_folder, dst=os.path.join(self.cpp.build.bindirs[0])) bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package") self.run(bin_path, env="conanrun") + # Related to https://github.com/conan-io/conan-center-index/issues/20574 + if self.settings.os == "Macos": + bin_macos_path = os.path.join(self.cpp.build.bindirs[0], "test_macos_bundle.app", "Contents", "MacOS", "test_macos_bundle") + self.run(bin_macos_path, env="conanrun") diff --git a/recipes/qt/6.x.x/test_package/test_macos_bundle.cpp b/recipes/qt/6.x.x/test_package/test_macos_bundle.cpp new file mode 100644 index 0000000000000..fb10bbf49cdff --- /dev/null +++ b/recipes/qt/6.x.x/test_package/test_macos_bundle.cpp @@ -0,0 +1,7 @@ +#include + +int main(int argc, char *argv[]) +{ + QCoreApplication app(argc, argv); + return 0; + } From a848a025cc67040b7d496cd31dc8a58125f160c4 Mon Sep 17 00:00:00 2001 From: Florian Zachs <44909261+HerrNamenlos123@users.noreply.github.com> Date: Thu, 22 Aug 2024 08:50:37 +0200 Subject: [PATCH 393/641] (#25009) battery-embed: Remove link to battery::embed in test package --- recipes/battery-embed/all/test_package/CMakeLists.txt | 1 - 1 file changed, 1 deletion(-) diff --git a/recipes/battery-embed/all/test_package/CMakeLists.txt b/recipes/battery-embed/all/test_package/CMakeLists.txt index c4ee8021bda84..b5eb771902175 100644 --- a/recipes/battery-embed/all/test_package/CMakeLists.txt +++ b/recipes/battery-embed/all/test_package/CMakeLists.txt @@ -4,7 +4,6 @@ project(test_package LANGUAGES CXX) find_package(battery-embed REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE battery::embed) target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_20) b_embed(${PROJECT_NAME} test_package.cpp) From c11f8dd0bdabdb0c924406c31e389010eb93696a Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 22 Aug 2024 17:12:19 +0900 Subject: [PATCH 394/641] (#24976) tgbot: add version 1.8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * tgbot: add version 1.8 * require C++17 for 1.8 * remove cmake files * Remove hardcoded CXX_STANDARD (will probably need to set it for apple-clang) * Add a min cppstd * 1.3 onwards actually needs C++14 as per https://github.com/reo7sp/tgbot-cpp/blob/v1.3/CMakeLists.txt#L10 * More validate * Add missing m system lib * Update recipes/tgbot/all/test_package/CMakeLists.txt --------- Co-authored-by: Abril Rincón Blanco --- recipes/tgbot/all/conandata.yml | 4 ++ recipes/tgbot/all/conanfile.py | 48 ++++++++++++++++++- recipes/tgbot/all/test_package/CMakeLists.txt | 10 ++-- recipes/tgbot/config.yml | 2 + 4 files changed, 59 insertions(+), 5 deletions(-) diff --git a/recipes/tgbot/all/conandata.yml b/recipes/tgbot/all/conandata.yml index 1279fcb4b2148..c1de261e9fcc7 100644 --- a/recipes/tgbot/all/conandata.yml +++ b/recipes/tgbot/all/conandata.yml @@ -1,4 +1,8 @@ sources: + "1.8": + url: "https://github.com/reo7sp/tgbot-cpp/archive/v1.8.tar.gz" + sha256: "43ff1a359b8db026e58e517703e616accaae33e01ebc7e87613632b7e4653467" + # This is the last version for C++11. "1.7.2": url: "https://github.com/reo7sp/tgbot-cpp/archive/v1.7.2.tar.gz" sha256: "3a41c25c5e4b60bda3f278550a380f1c7c382fd50ea1ab1801edc837d1535462" diff --git a/recipes/tgbot/all/conanfile.py b/recipes/tgbot/all/conanfile.py index 1fb99e68206f6..9d54fa2902dee 100644 --- a/recipes/tgbot/all/conanfile.py +++ b/recipes/tgbot/all/conanfile.py @@ -5,7 +5,8 @@ from conan.tools.apple import fix_apple_shared_install_name from conan.tools.build import check_min_cppstd from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout -from conan.tools.files import copy, get, replace_in_file +from conan.tools.files import copy, get, replace_in_file, rmdir +from conan.tools.scm import Version required_conan_version = ">=1.53.0" @@ -29,6 +30,32 @@ class TgbotConan(ConanFile): "fPIC": True, } + @property + def _min_cppstd(self): + # tgbot requiroes C++17 since 1.7.3 + return "14" if Version(self.version) < "1.7.3" else "17" + + @property + def _compilers_minimum_version(self): + return { + "17": { + # tgbot/>= 1.7.3 require C++17 filesystem + "gcc": "9", + "clang": "9", + "apple-clang": "13", + "Visual Studio": "16", + "msvc": "192", + }, + "14": { + "gcc": "5", + "clang": "3", + "apple-clang": "10", + "Visual Studio": "15", + "msvc": "191", + } + }.get(self._min_cppstd, {}) + + def config_options(self): if self.settings.os == "Windows": del self.options.fPIC @@ -53,7 +80,13 @@ def _required_boost_components(self): def validate(self): if self.settings.compiler.cppstd: - check_min_cppstd(self, 11) + check_min_cppstd(self, self._min_cppstd) + minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) + if minimum_version and Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration( + f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." + ) + miss_boost_required_comp = any( self.dependencies["boost"].options.get_safe(f"without_{boost_comp}", True) for boost_comp in self._required_boost_components @@ -70,6 +103,8 @@ def source(self): def generate(self): tc = CMakeToolchain(self) tc.variables["ENABLE_TESTS"] = False + if not self.settings.compiler.cppstd: + tc.cache_variables["CMAKE_CXX_STANDARD"] = self._min_cppstd tc.generate() tc = CMakeDeps(self) tc.generate() @@ -82,6 +117,11 @@ def _patch_sources(self): "set_property(TARGET ${PROJECT_NAME} PROPERTY POSITION_INDEPENDENT_CODE ON)", "", ) + # Don't force CMAKE_CXX_STANDARD + replace_in_file(self, + os.path.join(self.source_folder, "CMakeLists.txt"), + "set(CMAKE_CXX_STANDARD", + "#") def build(self): self._patch_sources() @@ -96,7 +136,11 @@ def package(self): dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) fix_apple_shared_install_name(self) + rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) def package_info(self): self.cpp_info.libs = ["TgBot"] self.cpp_info.defines = ["HAVE_CURL=1"] + + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.system_libs.append("m") diff --git a/recipes/tgbot/all/test_package/CMakeLists.txt b/recipes/tgbot/all/test_package/CMakeLists.txt index ebe398c29035c..766207d11a696 100644 --- a/recipes/tgbot/all/test_package/CMakeLists.txt +++ b/recipes/tgbot/all/test_package/CMakeLists.txt @@ -1,8 +1,12 @@ cmake_minimum_required(VERSION 3.15) -project(test_package CXX) +project(test_package LANGUAGES CXX) find_package(tgbot REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) -set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD 11) -target_link_libraries(${PROJECT_NAME} tgbot::tgbot) +target_link_libraries(${PROJECT_NAME} PRIVATE tgbot::tgbot) +if(tvbot_VERSION VERSION_LESS "1.7.3") + target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_14) +else() + target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) +endif() diff --git a/recipes/tgbot/config.yml b/recipes/tgbot/config.yml index 02741b3fbce3e..e9249e18493da 100644 --- a/recipes/tgbot/config.yml +++ b/recipes/tgbot/config.yml @@ -1,4 +1,6 @@ versions: + "1.8": + folder: all "1.7.2": folder: all "1.5": From 8eff1adf16ee21bb9061e3448d4f5203dd23b908 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Thu, 22 Aug 2024 12:23:16 +0300 Subject: [PATCH 395/641] (#21109) folly: migrate to Conan v2 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * folly: bumpup version & conan v2 support * bumpup to v20221031.00 * conan v2 support * only include needed boost components, not all the boost components, to avoid static link order issue in some cases. * remove cmake version limitation * attach shell script for convenience * minor fix & fix lint warning * backport latest fix for generator expr * support conan-v1 cmake_find_package/cmake_find_package_multi generator * fix libunwind * bugfix: enable CMP0077 * fix issues on windows * More modernize * Handle stdc++fs * Bump zlib to 1.2.13 * Handle case where compiler.cppstd is not provided, compiler minimal checks pass, but default_cppstd is lower than minimal_cppstd * Revert CMAKE_POSITION_INDEPENDENT_CODE removal * Remove duplication in test_package * Prefer official release artifacts * Change patch_type of PR folly/pull/1433 from backport to portability * Bump libunwind requirement to 1.6.2 * Prune imports Co-authored-by: Chris Mc * Instead of invalidating configuration if default_cppstd is lower than min_cppstd, set min_cppstd if the compiler supports it * Bump required openssl to openssl/1.1.1s * Remove default_cppstd checks and default to min_cppstd if user doesn't provide compiler.cppstd * Apply suggestions from code review Co-authored-by: Chris Mc * Improve test_package * Add patch for missing limits include * Set BOOST_LINK_STATIC Which in turn sets FOLLY_BOOST_LINK_STATIC, which ends up setting Boost_USE_STATIC_LIBS * Set policy CMP0074 * Switch to f-strings * Make sure it uses cmake >= 3.13 * Folly 2022.01.31 & 2022.10.31 build on Macos armv8 * Disable windows * Revert "Folly 2022.01.31 & 2022.10.31 build on Macos armv8" This reverts commit 0f3fffe5f1b280b09c9652b00217645a0222533e. * Fix conan2 version conflicts and provide trasitive_headers trait * Bump double-conversion to 3.2.1 * Remove cmake_new_enough * Remove folly/2019.10.21.00 * Declare openssl requirement with >=1.1 <4 version range * Remove 2019.10.21.00 from config.yml * Do not specify requires traits for now * Define test_type explicit * Add transitive_headers/transitive_libs to double-conversion * Add transitive traits to boost * Add more transitive_headers, transitive_libs - make boost, double-conversion, glog, libevent, fmt available to consumers * Add transitive_libs traits to lz4, zstd * Order imports * folly: drop v2020.08.10.00 * folly: bump deps * folly: do not set CMAKE_C_FLAGS directly * folly: add msvc version check * folly: use is_apple_os() * folly: keep only the newest version * folly: bump deps * folly: fix _cppstd_flag_value() * folly: simplify libatomic check * folly: simplify patching * folly: add v2023.12.18.00 * folly: fix ambiguity between package cmake target and libfolly cmake target * Add missing libfolly dependency * Do not allow static glog if building shared folly * Leave fixing recipe for macos for the future * Link only boost components specified in requirements * Refactor conan_deps.cmake * folly: bump deps, fix version conflicts * folly: add latest version, drop -g patch, fix missing include * folly: update min GCC version * folly: CMP0075 is set by project since 2019 * folly: use is_msvc_static_runtime() * folly: bump to v2024.07.08.00 * folly: drop v2022.10.31.00 Focus on getting the latest version working first. * folly: update min compiler versions * folly: workaround for CMAKE_PROJECT_folly_INCLUDE * folly: bump to v2024.07.15.00 * Follow official patch Signed-off-by: Uilian Ries * Improve invalid conf messages Signed-off-by: Uilian Ries * Remove folly custom find cmake files Signed-off-by: Uilian Ries * Add version 2024.08.12.00 Signed-off-by: Uilian Ries * Use cmake cache variables Signed-off-by: Uilian Ries * Simplify test package Signed-off-by: Uilian Ries * Remove folly version from tests Signed-off-by: Uilian Ries * Require cmake 3.17 for conan_deps.cmake Signed-off-by: Uilian Ries * Update dependencies versions Signed-off-by: Uilian Ries * Exclude 2024.07.15.00 Signed-off-by: Uilian Ries * Remove not used defines Signed-off-by: Uilian Ries * Update boost modules based on headers Signed-off-by: Uilian Ries * Solve version conflict Signed-off-by: Uilian Ries * Fix required boost modules Signed-off-by: Uilian Ries * Enable dependencies based on system Signed-off-by: Uilian Ries * Avoid folly format due deprecation Signed-off-by: Uilian Ries * Drop apple restriction Signed-off-by: Uilian Ries * Drop Windows restriction Signed-off-by: Uilian Ries * Drop sse4 option Signed-off-by: Uilian Ries * Drop jemalloc Signed-off-by: Uilian Ries * Skip apple clang <=13 Signed-off-by: Uilian Ries * Enable shared build with Clang in Linux Signed-off-by: Uilian Ries * Require Apple clang 14 Signed-off-by: Uilian Ries * Drop glog restriction Signed-off-by: Uilian Ries * Downgrade fmt to version 10.x due Windows Signed-off-by: Uilian Ries * Add support for fmt-11 Signed-off-by: Uilian Ries * Try to fix gflags check in msvc Signed-off-by: Uilian Ries * Drop libaio dependency Signed-off-by: Uilian Ries * Simplify cpp flag for windows Signed-off-by: Uilian Ries * Avoid generating .pc file Signed-off-by: Uilian Ries * Avoid using fmt-11 patch Signed-off-by: Uilian Ries * Revert "Avoid using fmt-11 patch" This reverts commit 37a450230fff4cc8865a557477efc17fe9b70ca8. * Downgrade fmt to 10 Signed-off-by: Uilian Ries * remove patch from conandata Signed-off-by: Uilian Ries * folly: use a version range for zstd, bump liburing * Revert "folly: use a version range for zstd, bump liburing" This reverts commit 2eb919d6c672192c187ff690a838a13d33d7f28e. * do not enforce cmake prefix path in deps.cmake Co-authored-by: Luis Caro Campos <3535649+jcar87@users.noreply.github.com> * folly: remove a leftover comment in conan_deps.cmake --------- Signed-off-by: Uilian Ries Co-authored-by: Xianda Ke Co-authored-by: Pau Farre Co-authored-by: Pau Farré Co-authored-by: Chris Mc Co-authored-by: Uilian Ries Co-authored-by: Luis Caro Campos <3535649+jcar87@users.noreply.github.com> --- recipes/folly/all/CMakeLists.txt | 7 - recipes/folly/all/conan_deps.cmake | 45 ++ recipes/folly/all/conandata.yml | 58 +-- recipes/folly/all/conanfile.py | 406 +++++++++--------- .../all/patches/0001-find-packages.patch | 93 ---- .../all/patches/0002-compiler-flags.patch | 24 -- .../all/patches/0003-boost-shared-ptr.patch | 24 -- .../patches/0004-disable-posix-names.patch | 27 -- .../all/patches/0005-include-atomic.patch | 12 - .../all/patches/0006-duplicate-hash.patch | 13 - .../all/patches/0007-allow-builtins.patch | 128 ------ .../all/patches/0008-find-packages.patch | 73 ---- .../patches/0009-ill-formed-atomic-copy.patch | 13 - .../all/patches/0010-duplicate-hash.patch | 13 - .../patches/0011-disable-logger-example.patch | 12 - .../all/patches/0012-compiler-flags.patch | 24 -- .../folly/all/patches/0013-include-bit.patch | 13 - .../folly/all/patches/0014-find-librt.patch | 18 - .../0015-benchmark-format-macros.patch | 15 - .../all/patches/0016-find-packages.patch | 80 ---- .../all/patches/0017-compiler-flags.patch | 24 -- .../folly/all/patches/0018-find-glog.patch | 16 - .../all/patches/0019-exclude-example.patch | 12 - .../all/patches/0020-include-ssizet.patch | 12 - .../all/patches/0021-typedef-clockid.patch | 12 - .../all/patches/0022-fix-windows-minmax.patch | 12 - recipes/folly/all/test_package/CMakeLists.txt | 12 +- recipes/folly/all/test_package/conanfile.py | 8 +- .../folly/all/test_package/test_package.cpp | 25 +- .../folly/all/test_v1_package/CMakeLists.txt | 13 +- .../folly/all/test_v1_package/conanfile.py | 3 +- .../all/test_v1_package/test_package.cpp | 29 -- recipes/folly/config.yml | 8 +- 33 files changed, 270 insertions(+), 1014 deletions(-) delete mode 100644 recipes/folly/all/CMakeLists.txt create mode 100644 recipes/folly/all/conan_deps.cmake delete mode 100644 recipes/folly/all/patches/0001-find-packages.patch delete mode 100644 recipes/folly/all/patches/0002-compiler-flags.patch delete mode 100644 recipes/folly/all/patches/0003-boost-shared-ptr.patch delete mode 100644 recipes/folly/all/patches/0004-disable-posix-names.patch delete mode 100644 recipes/folly/all/patches/0005-include-atomic.patch delete mode 100644 recipes/folly/all/patches/0006-duplicate-hash.patch delete mode 100644 recipes/folly/all/patches/0007-allow-builtins.patch delete mode 100644 recipes/folly/all/patches/0008-find-packages.patch delete mode 100644 recipes/folly/all/patches/0009-ill-formed-atomic-copy.patch delete mode 100644 recipes/folly/all/patches/0010-duplicate-hash.patch delete mode 100644 recipes/folly/all/patches/0011-disable-logger-example.patch delete mode 100644 recipes/folly/all/patches/0012-compiler-flags.patch delete mode 100644 recipes/folly/all/patches/0013-include-bit.patch delete mode 100644 recipes/folly/all/patches/0014-find-librt.patch delete mode 100644 recipes/folly/all/patches/0015-benchmark-format-macros.patch delete mode 100644 recipes/folly/all/patches/0016-find-packages.patch delete mode 100644 recipes/folly/all/patches/0017-compiler-flags.patch delete mode 100644 recipes/folly/all/patches/0018-find-glog.patch delete mode 100644 recipes/folly/all/patches/0019-exclude-example.patch delete mode 100644 recipes/folly/all/patches/0020-include-ssizet.patch delete mode 100644 recipes/folly/all/patches/0021-typedef-clockid.patch delete mode 100644 recipes/folly/all/patches/0022-fix-windows-minmax.patch delete mode 100644 recipes/folly/all/test_v1_package/test_package.cpp diff --git a/recipes/folly/all/CMakeLists.txt b/recipes/folly/all/CMakeLists.txt deleted file mode 100644 index 61f3d3b039e2b..0000000000000 --- a/recipes/folly/all/CMakeLists.txt +++ /dev/null @@ -1,7 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(cmake_wrapper) - -include(conanbuildinfo.cmake) -conan_basic_setup(KEEP_RPATHS) - -add_subdirectory("source_subfolder") diff --git a/recipes/folly/all/conan_deps.cmake b/recipes/folly/all/conan_deps.cmake new file mode 100644 index 0000000000000..075e362b62636 --- /dev/null +++ b/recipes/folly/all/conan_deps.cmake @@ -0,0 +1,45 @@ +cmake_minimum_required(VERSION 3.17) +# Set the dependency flags expected by https://github.com/facebook/folly/blob/v2023.12.18.00/CMake/folly-deps.cmake + +macro(custom_find_package package_name variable_prefix) + find_package(${package_name} REQUIRED CONFIG ${ARGN}) + list(APPEND FROM FOUND VERSION VERSION_STRING INCLUDE_DIRS INCLUDE_DIR INCLUDE_DIR LIBRARIES LIBRARIES LIBRARIES DEFINITIONS) + list(APPEND TO FOUND VERSION VERSION_STRING INCLUDE_DIRS INCLUDE_DIR INCLUDE LIB LIBRARY LIBRARIES DEFINITIONS) + + foreach (from_substr to_substr IN ZIP_LISTS FROM TO) + set(src_var ${package_name}_${from_substr}) + set(dst_var ${variable_prefix}_${to_substr}) + if (NOT DEFINED ${src_var}) + continue() + endif() + if ((DEFINED ${dst_var}) AND ("${${dst_var}}" STREQUAL "${${src_var}}")) + # if they're equal, skip + continue() + endif() + message(DEBUG "custom_find_package definining ${dst_var} with ${src_var} contents: ${${src_var}}") + set(${dst_var} ${${src_var}}) + endforeach() +endmacro() + +custom_find_package(BZip2 BZIP2) +custom_find_package(DoubleConversion DOUBLE_CONVERSION REQUIRED) +custom_find_package(Gflags LIBGFLAGS) +custom_find_package(Glog GLOG) +custom_find_package(LZ4 LZ4) +custom_find_package(LibEvent LIBEVENT REQUIRED) +custom_find_package(LibLZMA LIBLZMA) +custom_find_package(Libsodium LIBSODIUM) +custom_find_package(OpenSSL OPENSSL REQUIRED) +custom_find_package(Snappy SNAPPY) +custom_find_package(ZLIB ZLIB) +custom_find_package(Zstd ZSTD) +custom_find_package(fmt FMT REQUIRED) + +if (NOT MSVC) + custom_find_package(LibDwarf LIBDWARF) +endif() +if (UNIX AND NOT APPLE) + custom_find_package(LibUring LIBURING) + custom_find_package(LibUnwind LIBUNWIND) + custom_find_package(Libiberty LIBIBERTY) +endif() \ No newline at end of file diff --git a/recipes/folly/all/conandata.yml b/recipes/folly/all/conandata.yml index 8fcc8945ab40d..a21030554ee04 100644 --- a/recipes/folly/all/conandata.yml +++ b/recipes/folly/all/conandata.yml @@ -1,56 +1,4 @@ sources: - "2019.10.21.00": - url: "https://github.com/facebook/folly/archive/v2019.10.21.00.tar.gz" - sha256: "6efcc2b2090691a9fe3d339c433d102d6399bbdc6dc4893080d59f15f648f393" - "2020.08.10.00": - url: "https://github.com/facebook/folly/archive/v2020.08.10.00.tar.gz" - sha256: "e81140d04a4e89e3f848e528466a9b3d3ae37d7eeb9e65467fca50d70918eef6" - "2022.01.31.00": - url: "https://github.com/facebook/folly/archive/v2022.01.31.00.tar.gz" - sha256: "d764b9a7832d967bb7cfea4bcda15d650315aa4d559fde1da2a52b015cd88b9c" -patches: - "2019.10.21.00": - - patch_file: "patches/0001-find-packages.patch" - base_path: "source_subfolder" - - patch_file: "patches/0002-compiler-flags.patch" - base_path: "source_subfolder" - - patch_file: "patches/0003-boost-shared-ptr.patch" - base_path: "source_subfolder" - - patch_file: "patches/0004-disable-posix-names.patch" - base_path: "source_subfolder" - - patch_file: "patches/0005-include-atomic.patch" - base_path: "source_subfolder" - - patch_file: "patches/0006-duplicate-hash.patch" - base_path: "source_subfolder" - - patch_file: "patches/0007-allow-builtins.patch" - base_path: "source_subfolder" - - patch_file: "patches/0013-include-bit.patch" - base_path: "source_subfolder" - - patch_file: "patches/0020-include-ssizet.patch" - base_path: "source_subfolder" - "2020.08.10.00": - - patch_file: "patches/0008-find-packages.patch" - base_path: "source_subfolder" - - patch_file: "patches/0009-ill-formed-atomic-copy.patch" - base_path: "source_subfolder" - - patch_file: "patches/0010-duplicate-hash.patch" - base_path: "source_subfolder" - - patch_file: "patches/0011-disable-logger-example.patch" - base_path: "source_subfolder" - - patch_file: "patches/0012-compiler-flags.patch" - base_path: "source_subfolder" - - patch_file: "patches/0014-find-librt.patch" - base_path: "source_subfolder" - - patch_file: "patches/0015-benchmark-format-macros.patch" - base_path: "source_subfolder" - "2022.01.31.00": - - patch_file: "patches/0016-find-packages.patch" - base_path: "source_subfolder" - - patch_file: "patches/0017-compiler-flags.patch" - base_path: "source_subfolder" - - patch_file: "patches/0018-find-glog.patch" - base_path: "source_subfolder" - - patch_file: "patches/0019-exclude-example.patch" - base_path: "source_subfolder" - - patch_file: "patches/0022-fix-windows-minmax.patch" - base_path: "source_subfolder" + "2024.08.12.00": + url: "https://github.com/facebook/folly/releases/download/v2024.08.12.00/folly-v2024.08.12.00.tar.gz" + sha256: "18d7be721721db547cb9c5dd5cc50df05cd88b0a8e683e3126ec6f9ce2c41c4d" diff --git a/recipes/folly/all/conanfile.py b/recipes/folly/all/conanfile.py index 06dc6965155a7..7b2eee5c31d02 100755 --- a/recipes/folly/all/conanfile.py +++ b/recipes/folly/all/conanfile.py @@ -1,14 +1,16 @@ -from conan.tools.microsoft import is_msvc, msvc_runtime_flag -from conan.tools.build import can_run -from conan.tools.scm import Version -from conan.tools import files from conan import ConanFile -from conans import CMake, tools from conan.errors import ConanInvalidConfiguration -import functools +from conan.tools.apple import is_apple_os +from conan.tools.build import check_min_cppstd, cross_building +from conan.tools.env import VirtualBuildEnv +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.files import get, copy, rmdir, replace_in_file, save, rm +from conan.tools.microsoft import is_msvc, is_msvc_static_runtime +from conan.tools.scm import Version import os -required_conan_version = ">=1.45.0" + +required_conan_version = ">=1.54.0" class FollyConan(ConanFile): @@ -19,278 +21,263 @@ class FollyConan(ConanFile): homepage = "https://github.com/facebook/folly" license = "Apache-2.0" + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], "fPIC": [True, False], - "use_sse4_2" : [True, False], } default_options = { "shared": False, "fPIC": True, - "use_sse4_2" : False } - generators = "cmake", "cmake_find_package" - @property - def _source_subfolder(self): - return "source_subfolder" + def _min_cppstd(self): + return 17 @property - def _minimum_cpp_standard(self): - return 17 if Version(self.version) >= "2022.01.31.00" else 14 - - @property - def _minimum_compilers_version(self): + def _compilers_minimum_version(self): + # https://github.com/facebook/folly/blob/v2024.07.08.00/folly/Portability.h return { - "Visual Studio": "15", - "gcc": "5", - "clang": "6", - "apple-clang": "8", - } if self._minimum_cpp_standard == 14 else { - "gcc": "7", + "gcc": "10", + "clang": "10", + "apple-clang": "14", + "msvc": "192", "Visual Studio": "16", - "clang": "6", - "apple-clang": "10", } def export_sources(self): - self.copy("CMakeLists.txt") - for patch in self.conan_data.get("patches", {}).get(self.version, []): - self.copy(patch["patch_file"]) - + copy(self, "conan_deps.cmake", self.recipe_folder, os.path.join(self.export_sources_folder, "src")) def config_options(self): if self.settings.os == "Windows": del self.options.fPIC - if str(self.settings.arch) not in ['x86', 'x86_64']: - del self.options.use_sse4_2 - def configure(self): if self.options.shared: - del self.options.fPIC + self.options.rm_safe("fPIC") + if is_msvc(self): + # Folly does not support shared library on Windows: https://github.com/facebook/folly/issues/962 + self.package_type = "static-library" + del self.options.shared + + def layout(self): + cmake_layout(self, src_folder="src") def requirements(self): - self.requires("boost/1.78.0") + self.requires("boost/1.85.0", transitive_headers=True, transitive_libs=True) self.requires("bzip2/1.0.8") - self.requires("double-conversion/3.2.0") + self.requires("double-conversion/3.3.0", transitive_headers=True, transitive_libs=True) self.requires("gflags/2.2.2") - self.requires("glog/0.4.0") - self.requires("libevent/2.1.12") - self.requires("openssl/1.1.1q") - self.requires("lz4/1.9.3") - self.requires("snappy/1.1.9") - self.requires("zlib/1.2.12") - self.requires("zstd/1.5.2") + self.requires("glog/0.7.1", transitive_headers=True, transitive_libs=True) + self.requires("libevent/2.1.12", transitive_headers=True, transitive_libs=True) + self.requires("openssl/[>=1.1 <4]") + self.requires("lz4/1.10.0", transitive_libs=True) + self.requires("snappy/1.2.1") + self.requires("zlib/[>=1.2.11 <2]") + self.requires("zstd/1.5.5", transitive_libs=True) if not is_msvc(self): - self.requires("libdwarf/20191104") - self.requires("libsodium/1.0.18") - self.requires("xz_utils/5.2.5") - # FIXME: Causing compilation issues on clang: self.requires("jemalloc/5.2.1") - if self.settings.os == "Linux": + self.requires("libdwarf/0.9.1") + self.requires("libsodium/1.0.19") + self.requires("xz_utils/[>=5.4.5 <6]") + if self.settings.os in ["Linux", "FreeBSD"]: self.requires("libiberty/9.1.0") - self.requires("libunwind/1.5.0") - if Version(self.version) >= "2020.08.10.00": - self.requires("fmt/7.1.3") + self.requires("libunwind/1.8.0") + if self.settings.os == "Linux": + self.requires("liburing/2.6") + # INFO: Folly does not support fmt 11 on MSVC: https://github.com/facebook/folly/issues/2250 + self.requires("fmt/10.2.1", transitive_headers=True, transitive_libs=True) + + def build_requirements(self): + # INFO: Required due ZIP_LISTS CMake feature in conan_deps.cmake + self.tool_requires("cmake/[>=3.17 <4]") @property def _required_boost_components(self): return ["context", "filesystem", "program_options", "regex", "system", "thread"] + @property + def _required_boost_conan_components(self): + return [f"boost::{comp}" for comp in self._required_boost_components] + + @property + def _required_boost_cmake_targets(self): + return [f"Boost::{comp}" for comp in self._required_boost_components] + def validate(self): - if self.settings.compiler.get_safe("cppstd"): - tools.check_min_cppstd(self, self._minimum_cpp_standard) - min_version = self._minimum_compilers_version.get(str(self.settings.compiler)) - if not min_version: - self.output.warn("{} recipe lacks information about the {} compiler support.".format(self.name, self.settings.compiler)) - else: - if Version(self.settings.compiler.version) < min_version: - raise ConanInvalidConfiguration("{} requires C++{} support. The current compiler {} {} does not support it.".format( - self.name, self._minimum_cpp_standard, self.settings.compiler, self.settings.compiler.version)) - - if Version(self.version) < "2022.01.31.00" and self.settings.os != "Linux": - raise ConanInvalidConfiguration("Conan support for non-Linux platforms starts with Folly version 2022.01.31.00") - - if self.settings.os == "Macos" and self.settings.arch != "x86_64": - raise ConanInvalidConfiguration("Conan currently requires a 64bit target architecture for Folly on Macos") + if self.settings.compiler.cppstd: + check_min_cppstd(self, self._min_cppstd) + minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) + if minimum_version and Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration(f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support.") if self.settings.os == "Windows" and self.settings.arch != "x86_64": - raise ConanInvalidConfiguration("Folly requires a 64bit target architecture on Windows") - - if self.settings.os in ["Macos", "Windows"] and self.options.shared: - raise ConanInvalidConfiguration("Folly could not be built on {} as shared library".format(self.settings.os)) + raise ConanInvalidConfiguration(f"{self.ref} Folly requires a 64bit target architecture on Windows.") - if Version(self.version) == "2020.08.10.00" and self.settings.compiler == "clang" and self.options.shared: - raise ConanInvalidConfiguration("Folly could not be built by clang as a shared library") + if self.settings.compiler == "apple-clang" and Version(self.settings.compiler.version) < "14.0": + # https://github.com/facebook/folly/issues/2266 + raise ConanInvalidConfiguration(f"{self.ref} could not be built by apple-clang < 14.0. Use apple-clang >= 14.0") - if self.options["boost"].header_only: - raise ConanInvalidConfiguration("Folly could not be built with a header only Boost") + boost = self.dependencies["boost"] + if boost.options.header_only: + raise ConanInvalidConfiguration(f"{self.ref} could not be built with a header only Boost. Use -o 'boost/*:header_only=False'") - miss_boost_required_comp = any(getattr(self.options["boost"], "without_{}".format(boost_comp), True) for boost_comp in self._required_boost_components) + miss_boost_required_comp = any(getattr(boost.options, f"without_{boost_comp}", True) for boost_comp in self._required_boost_components) if miss_boost_required_comp: - raise ConanInvalidConfiguration("Folly requires these boost components: {}".format(", ".join(self._required_boost_components))) - - min_version = self._minimum_compilers_version.get(str(self.settings.compiler)) - if not min_version: - self.output.warn("{} recipe lacks information about the {} compiler support.".format(self.name, self.settings.compiler)) - else: - if Version(self.settings.compiler.version) < min_version: - raise ConanInvalidConfiguration("{} requires C++{} support. The current compiler {} {} does not support it.".format( - self.name, self._minimum_cpp_standard, self.settings.compiler, self.settings.compiler.version)) - - if self.options.get_safe("use_sse4_2") and str(self.settings.arch) not in ['x86', 'x86_64']: - raise ConanInvalidConfiguration(f"{self.ref} can use the option use_sse4_2 only on x86 and x86_64 archs.") - - # FIXME: Freeze max. CMake version at 3.16.2 to fix the Linux build - def build_requirements(self): - self.build_requires("cmake/3.16.9") + required_components = ", ".join(self._required_boost_components) + raise ConanInvalidConfiguration(f"{self.ref} requires these Boost components: {required_components}. Try with '-o boost/*:without_{required_components}=False'") def source(self): - files.get(self, **self.conan_data["sources"][self.version], destination=self._source_subfolder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=False) + + def _cppstd_flag_value(self, cppstd): + if is_msvc(self): + prefix = "c" + year = str(cppstd) + if year > "17": + year = "latest" + return f"{prefix}++{year}" + + def generate(self): + env = VirtualBuildEnv(self) + env.generate() + tc = CMakeToolchain(self) + tc.variables["CMAKE_PROJECT_folly_INCLUDE"] = "conan_deps.cmake" + # Folly fails to check Gflags: https://github.com/conan-io/conan/issues/12012 + tc.variables["CMAKE_TRY_COMPILE_CONFIGURATION"] = str(self.settings.build_type) + + if is_apple_os(self) and cross_building(self): + # INFO: Folly fails to configure Mac M1 -> Mac Intel: + # CMake Error: try_run() invoked in cross-compiling mode, please set the following cache variables appropriately: HAVE_VSNPRINTF_ERRORS_EXITCODE (advanced) + for var in ["FOLLY_HAVE_UNALIGNED_ACCESS", "FOLLY_HAVE_LINUX_VDSO", "FOLLY_HAVE_WCHAR_SUPPORT", "HAVE_VSNPRINTF_ERRORS"]: + tc.cache_variables[f"{var}_EXITCODE"] = 0 + + # Folly is not respecting this from the helper https://github.com/conan-io/conan-center-index/pull/15726/files#r1097068754 + tc.cache_variables["CMAKE_POSITION_INDEPENDENT_CODE"] = self.options.get_safe("fPIC", True) + # Relocatable shared lib on Macos + if is_apple_os(self): + tc.cache_variables["CMAKE_POLICY_DEFAULT_CMP0042"] = "NEW" + # Honor BUILD_SHARED_LIBS from conan_toolchain (see https://github.com/conan-io/conan/issues/11840) + tc.cache_variables["CMAKE_POLICY_DEFAULT_CMP0077"] = "NEW" + # Honor Boost_ROOT set by boost recipe + tc.cache_variables["CMAKE_POLICY_DEFAULT_CMP0074"] = "NEW" + + + # 2019.10.21.00 -> either MSVC_ flags or CXX_STD + if is_msvc(self): + cxx_std_value = self._cppstd_flag_value(self.settings.get_safe("compiler.cppstd", self._min_cppstd)) + tc.cache_variables["MSVC_LANGUAGE_VERSION"] = cxx_std_value + tc.cache_variables["MSVC_ENABLE_ALL_WARNINGS"] = False + tc.cache_variables["MSVC_USE_STATIC_RUNTIME"] = is_msvc_static_runtime(self) + tc.preprocessor_definitions["NOMINMAX"] = "" + + if not self.dependencies["boost"].options.header_only: + tc.cache_variables["BOOST_LINK_STATIC"] = not self.dependencies["boost"].options.shared + + tc.cache_variables["CMAKE_POLICY_DEFAULT_CMP0074"] = "NEW" # Honor Boost_ROOT set by boost recipe + tc.generate() + + deps = CMakeDeps(self) + deps.set_property("boost", "cmake_file_name", "Boost") + deps.set_property("bzip2", "cmake_file_name", "BZip2") + deps.set_property("double-conversion", "cmake_file_name", "DoubleConversion") + deps.set_property("fmt", "cmake_file_name", "fmt") + deps.set_property("gflags", "cmake_file_name", "Gflags") + deps.set_property("glog", "cmake_file_name", "Glog") + deps.set_property("libdwarf", "cmake_file_name", "LibDwarf") + deps.set_property("libevent", "cmake_file_name", "LibEvent") + deps.set_property("libiberty", "cmake_file_name", "Libiberty") + deps.set_property("libsodium", "cmake_file_name", "Libsodium") + deps.set_property("libunwind", "cmake_file_name", "LibUnwind") + deps.set_property("liburing", "cmake_file_name", "LibUring") + deps.set_property("lz4", "cmake_file_name", "LZ4") + deps.set_property("openssl", "cmake_file_name", "OpenSSL") + deps.set_property("snappy", "cmake_file_name", "Snappy") + deps.set_property("xz_utils", "cmake_file_name", "LibLZMA") + deps.set_property("zlib", "cmake_file_name", "ZLIB") + deps.set_property("zstd", "cmake_file_name", "Zstd") + deps.generate() + + def _patch_sources(self): + # Make sure will consume Conan dependencies + folly_deps = os.path.join(self.source_folder, "CMake", "folly-deps.cmake") + replace_in_file(self, folly_deps, " MODULE", " REQUIRED CONFIG") + replace_in_file(self, folly_deps, "${Boost_LIBRARIES}", f"{' '.join(self._required_boost_cmake_targets)}") + replace_in_file(self, folly_deps, "OpenSSL 1.1.1", "OpenSSL") + # Disable example + save(self, os.path.join(self.source_folder, "folly", "logging", "example", "CMakeLists.txt"), "") + # Disable custom find modules to use Conan CMakeDeps instead + rm(self, "Find*.cmake", os.path.join(self.source_folder, "CMake")) + rm(self, "Find*.cmake", os.path.join(self.source_folder, "build", "fbcode_builder", "CMake")) + # Skip generating .pc file to avoid Windows errors when trying to compile with pkg-config + replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), "gen_pkgconfig_vars(FOLLY_PKGCONFIG folly_deps)", "") - @functools.lru_cache(1) - def _configure_cmake(self): + def build(self): + self._patch_sources() cmake = CMake(self) - if can_run(self): - cmake.definitions["FOLLY_HAVE_UNALIGNED_ACCESS_EXITCODE"] = "0" - cmake.definitions["FOLLY_HAVE_UNALIGNED_ACCESS_EXITCODE__TRYRUN_OUTPUT"] = "" - cmake.definitions["FOLLY_HAVE_LINUX_VDSO_EXITCODE"] = "0" - cmake.definitions["FOLLY_HAVE_LINUX_VDSO_EXITCODE__TRYRUN_OUTPUT"] = "" - cmake.definitions["FOLLY_HAVE_WCHAR_SUPPORT_EXITCODE"] = "0" - cmake.definitions["FOLLY_HAVE_WCHAR_SUPPORT_EXITCODE__TRYRUN_OUTPUT"] = "" - cmake.definitions["HAVE_VSNPRINTF_ERRORS_EXITCODE"] = "0" - cmake.definitions["HAVE_VSNPRINTF_ERRORS_EXITCODE__TRYRUN_OUTPUT"] = "" - - if self.options.get_safe("use_sse4_2") and str(self.settings.arch) in ['x86', 'x86_64']: - # in folly, if simd >=sse4.2, we also needs -mfma flag to avoid compiling error. - if not is_msvc(self): - cmake.definitions["CMAKE_C_FLAGS"] = "-mfma" - cmake.definitions["CMAKE_CXX_FLAGS"] = "-mfma" - else: - cmake.definitions["CMAKE_C_FLAGS"] = "/arch:FMA" - cmake.definitions["CMAKE_CXX_FLAGS"] = "/arch:FMA" - - cmake.definitions["CMAKE_POSITION_INDEPENDENT_CODE"] = self.options.get_safe("fPIC", True) - - cxx_std_flag = tools.cppstd_flag(self.settings) - cxx_std_value = cxx_std_flag.split('=')[1] if cxx_std_flag else "c++{}".format(self._minimum_cpp_standard) - cmake.definitions["CXX_STD"] = cxx_std_value - if is_msvc: - cmake.definitions["MSVC_LANGUAGE_VERSION"] = cxx_std_value - cmake.definitions["MSVC_ENABLE_ALL_WARNINGS"] = False - cmake.definitions["MSVC_USE_STATIC_RUNTIME"] = "MT" in msvc_runtime_flag(self) cmake.configure() - return cmake - - - def build(self): - for patch in self.conan_data.get("patches", {}).get(self.version, []): - tools.patch(**patch) - cmake = self._configure_cmake() cmake.build() def package(self): - self.copy(pattern="LICENSE", dst="licenses", src=self._source_subfolder) - cmake = self._configure_cmake() + copy(self, pattern="LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + cmake = CMake(self) cmake.install() - files.rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) - files.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, "lib", "pkgconfig")) def package_info(self): self.cpp_info.set_property("cmake_file_name", "folly") - self.cpp_info.set_property("cmake_target_name", "Folly::folly") + self.cpp_info.set_property("cmake_target_name", "folly::folly") self.cpp_info.set_property("pkg_config_name", "libfolly") - # TODO: back to global scope in conan v2 once cmake_find_package_* generators removed - if Version(self.version) == "2019.10.21.00": - self.cpp_info.components["libfolly"].libs = [ - "follybenchmark", - "folly_test_util", - "folly" - ] - elif Version(self.version) >= "2020.08.10.00": - if self.settings.os == "Linux": - self.cpp_info.components["libfolly"].libs = [ - "folly_exception_counter", - "folly_exception_tracer", - "folly_exception_tracer_base", - "folly_test_util", - "follybenchmark", - "folly" - ] - else: - self.cpp_info.components["libfolly"].libs = [ - "folly_test_util", - "follybenchmark", - "folly" - ] - - self.cpp_info.components["libfolly"].requires = [ - "boost::boost", - "bzip2::bzip2", + self.cpp_info.components["libfolly"].set_property("cmake_target_name", "Folly::folly") + self.cpp_info.components["libfolly"].set_property("pkg_config_name", "libfolly") + self.cpp_info.components["libfolly"].libs = ["folly"] + self.cpp_info.components["libfolly"].requires = ["fmt::fmt"] + self._required_boost_conan_components + [ "double-conversion::double-conversion", "gflags::gflags", "glog::glog", "libevent::libevent", "lz4::lz4", "openssl::openssl", + "bzip2::bzip2", "snappy::snappy", "zlib::zlib", "zstd::zstd", "libsodium::libsodium", - "xz_utils::xz_utils" + "xz_utils::xz_utils", ] if not is_msvc(self): self.cpp_info.components["libfolly"].requires.append("libdwarf::libdwarf") - if self.settings.os == "Linux": + if self.settings.os in ["Linux", "FreeBSD"]: self.cpp_info.components["libfolly"].requires.extend(["libiberty::libiberty", "libunwind::libunwind"]) + if self.settings.os == "Linux": + self.cpp_info.components["libfolly"].requires.append("liburing::liburing") self.cpp_info.components["libfolly"].system_libs.extend(["pthread", "dl", "rt"]) - - if Version(self.version) >= "2020.08.10.00": - self.cpp_info.components["libfolly"].requires.append("fmt::fmt") - if self.settings.os == "Linux": - self.cpp_info.components["libfolly"].defines.extend(["FOLLY_HAVE_ELF", "FOLLY_HAVE_DWARF"]) - + self.cpp_info.components["libfolly"].defines.extend(["FOLLY_HAVE_ELF", "FOLLY_HAVE_DWARF"]) elif self.settings.os == "Windows": self.cpp_info.components["libfolly"].system_libs.extend(["ws2_32", "iphlpapi", "crypt32"]) - if (self.settings.os == "Linux" and self.settings.compiler == "clang" and - self.settings.compiler.libcxx == "libstdc++") or \ - (self.settings.os == "Macos" and self.settings.compiler == "apple-clang" and - Version(self.settings.compiler.version.value) == "9.0" and self.settings.compiler.libcxx == "libc++"): + if self.settings.get_safe("compiler.libcxx") == "libstdc++" or \ + (self.settings.compiler == "apple-clang" and Version(self.settings.compiler.version.value) == "9.0" and \ + self.settings.get_safe("compiler.libcxx") == "libc++"): self.cpp_info.components["libfolly"].system_libs.append("atomic") - if self.settings.os == "Macos" and self.settings.compiler == "apple-clang" and Version(self.settings.compiler.version.value) >= "11.0": + if self.settings.compiler == "apple-clang" and Version(self.settings.compiler.version.value) >= "11.0": self.cpp_info.components["libfolly"].system_libs.append("c++abi") - if self.options.get_safe("use_sse4_2") and str(self.settings.arch) in ['x86', 'x86_64']: - self.cpp_info.components["libfolly"].defines = ["FOLLY_SSE=4", "FOLLY_SSE_MINOR=2"] - - # TODO: to remove in conan v2 once cmake_find_package_* & pkg_config generators removed - self.cpp_info.filenames["cmake_find_package"] = "folly" - self.cpp_info.filenames["cmake_find_package_multi"] = "folly" - self.cpp_info.names["cmake_find_package"] = "Folly" - self.cpp_info.names["cmake_find_package_multi"] = "Folly" - self.cpp_info.names["pkg_config"] = "libfolly" - self.cpp_info.components["libfolly"].names["cmake_find_package"] = "folly" - self.cpp_info.components["libfolly"].names["cmake_find_package_multi"] = "folly" - self.cpp_info.components["libfolly"].set_property("cmake_target_name", "Folly::folly") - self.cpp_info.components["libfolly"].set_property("pkg_config_name", "libfolly") - - if Version(self.version) >= "2019.10.21.00": - self.cpp_info.components["follybenchmark"].set_property("cmake_target_name", "Folly::follybenchmark") - self.cpp_info.components["follybenchmark"].set_property("pkg_config_name", "libfollybenchmark") - self.cpp_info.components["follybenchmark"].libs = ["follybenchmark"] - self.cpp_info.components["follybenchmark"].requires = ["libfolly"] + self.cpp_info.components["follybenchmark"].set_property("cmake_target_name", "Folly::follybenchmark") + self.cpp_info.components["follybenchmark"].set_property("pkg_config_name", "libfollybenchmark") + self.cpp_info.components["follybenchmark"].libs = ["follybenchmark"] + self.cpp_info.components["follybenchmark"].requires = ["libfolly"] - self.cpp_info.components["folly_test_util"].set_property("cmake_target_name", "Folly::folly_test_util") - self.cpp_info.components["folly_test_util"].set_property("pkg_config_name", "libfolly_test_util") - self.cpp_info.components["folly_test_util"].libs = ["folly_test_util"] - self.cpp_info.components["folly_test_util"].requires = ["libfolly"] + self.cpp_info.components["folly_test_util"].set_property("cmake_target_name", "Folly::folly_test_util") + self.cpp_info.components["folly_test_util"].set_property("pkg_config_name", "libfolly_test_util") + self.cpp_info.components["folly_test_util"].libs = ["folly_test_util"] + self.cpp_info.components["folly_test_util"].requires = ["libfolly"] - if Version(self.version) >= "2020.08.10.00" and self.settings.os == "Linux": + if self.settings.os in ["Linux", "FreeBSD"]: self.cpp_info.components["folly_exception_tracer_base"].set_property("cmake_target_name", "Folly::folly_exception_tracer_base") self.cpp_info.components["folly_exception_tracer_base"].set_property("pkg_config_name", "libfolly_exception_tracer_base") self.cpp_info.components["folly_exception_tracer_base"].libs = ["folly_exception_tracer_base"] @@ -305,3 +292,26 @@ def package_info(self): self.cpp_info.components["folly_exception_counter"].set_property("pkg_config_name", "libfolly_exception_counter") self.cpp_info.components["folly_exception_counter"].libs = ["folly_exception_counter"] self.cpp_info.components["folly_exception_counter"].requires = ["folly_exception_tracer"] + + # TODO: to remove in conan v2 once cmake_find_package_* & pkg_config generators removed + self.cpp_info.filenames["cmake_find_package"] = "folly" + self.cpp_info.filenames["cmake_find_package_multi"] = "folly" + self.cpp_info.names["cmake_find_package"] = "Folly" + self.cpp_info.names["cmake_find_package_multi"] = "Folly" + self.cpp_info.components["libfolly"].names["cmake_find_package"] = "folly" + self.cpp_info.components["libfolly"].names["cmake_find_package_multi"] = "folly" + + # TODO: to remove in conan v2 once cmake_find_package_* & pkg_config generators removed + self.cpp_info.components["follybenchmark"].names["cmake_find_package"] = "follybenchmark" + self.cpp_info.components["follybenchmark"].names["cmake_find_package_multi"] = "follybenchmark" + self.cpp_info.components["folly_test_util"].names["cmake_find_package"] = "folly_test_util" + self.cpp_info.components["folly_test_util"].names["cmake_find_package_multi"] = "folly_test_util" + + if self.settings.os in ["Linux", "FreeBSD"]: + # TODO: to remove in conan v2 once cmake_find_package_* & pkg_config generators removed + self.cpp_info.components["folly_exception_tracer_base"].names["cmake_find_package"] = "folly_exception_tracer_base" + self.cpp_info.components["folly_exception_tracer_base"].names["cmake_find_package_multi"] = "folly_exception_tracer_base" + self.cpp_info.components["folly_exception_tracer"].names["cmake_find_package"] = "folly_exception_tracer" + self.cpp_info.components["folly_exception_tracer"].names["cmake_find_package_multi"] = "folly_exception_tracer" + self.cpp_info.components["folly_exception_counter"].names["cmake_find_package"] = "folly_exception_counter" + self.cpp_info.components["folly_exception_counter"].names["cmake_find_package_multi"] = "folly_exception_counter" diff --git a/recipes/folly/all/patches/0001-find-packages.patch b/recipes/folly/all/patches/0001-find-packages.patch deleted file mode 100644 index 4cee77cd34c1c..0000000000000 --- a/recipes/folly/all/patches/0001-find-packages.patch +++ /dev/null @@ -1,93 +0,0 @@ -diff --git a/CMake/FindLibsodium.cmake b/CMake/FindLibsodium.cmake -index 18d4d0c..2b3cd2a 100644 ---- a/CMake/FindLibsodium.cmake -+++ b/CMake/FindLibsodium.cmake -@@ -15,7 +15,7 @@ - find_path(LIBSODIUM_INCLUDE_DIR NAMES sodium.h) - mark_as_advanced(LIBSODIUM_INCLUDE_DIR) - --find_library(LIBSODIUM_LIBRARY NAMES sodium) -+find_library(LIBSODIUM_LIBRARY NAMES sodium libsodium PATHS ${CONAN_LIBSODIUM_ROOT}) - mark_as_advanced(LIBSODIUM_LIBRARY) - - include(FindPackageHandleStandardArgs) -diff --git a/CMake/folly-deps.cmake b/CMake/folly-deps.cmake -index 048e1cd..da3ab8e 100644 ---- a/CMake/folly-deps.cmake -+++ b/CMake/folly-deps.cmake -@@ -36,19 +36,19 @@ find_package(DoubleConversion MODULE REQUIRED) - list(APPEND FOLLY_LINK_LIBRARIES ${DOUBLE_CONVERSION_LIBRARY}) - list(APPEND FOLLY_INCLUDE_DIRECTORIES ${DOUBLE_CONVERSION_INCLUDE_DIR}) - --find_package(Gflags MODULE) --set(FOLLY_HAVE_LIBGFLAGS ${LIBGFLAGS_FOUND}) --list(APPEND FOLLY_LINK_LIBRARIES ${LIBGFLAGS_LIBRARY}) --list(APPEND FOLLY_INCLUDE_DIRECTORIES ${LIBGFLAGS_INCLUDE_DIR}) --list(APPEND CMAKE_REQUIRED_LIBRARIES ${LIBGFLAGS_LIBRARY}) --list(APPEND CMAKE_REQUIRED_INCLUDES ${LIBGFLAGS_INCLUDE_DIR}) -- --find_package(Glog MODULE) -+find_package(gflags MODULE REQUIRED) -+set(FOLLY_HAVE_LIBGFLAGS ${GFLAGS_FOUND}) -+list(APPEND FOLLY_LINK_LIBRARIES ${CONAN_LIBS_GFLAGS}) -+list(APPEND FOLLY_INCLUDE_DIRECTORIES ${CONAN_INCLUDE_DIRS_GFLAGS}) -+list(APPEND CMAKE_REQUIRED_LIBRARIES ${gflags_LIBRARY}) -+list(APPEND CMAKE_REQUIRED_INCLUDES ${gflags_INCLUDE_DIR}) -+ -+find_package(glog MODULE) - set(FOLLY_HAVE_LIBGLOG ${GLOG_FOUND}) - list(APPEND FOLLY_LINK_LIBRARIES ${GLOG_LIBRARY}) - list(APPEND FOLLY_INCLUDE_DIRECTORIES ${GLOG_INCLUDE_DIR}) - --find_package(LibEvent MODULE REQUIRED) -+find_package(Libevent MODULE REQUIRED) - list(APPEND FOLLY_LINK_LIBRARIES ${LIBEVENT_LIB}) - list(APPEND FOLLY_INCLUDE_DIRECTORIES ${LIBEVENT_INCLUDE_DIR}) - -diff --git a/build/fbcode_builder/CMake/FindGflags.cmake b/build/fbcode_builder/CMake/FindGflags.cmake -index 246ceac..385605e 100644 ---- a/build/fbcode_builder/CMake/FindGflags.cmake -+++ b/build/fbcode_builder/CMake/FindGflags.cmake -@@ -48,8 +48,13 @@ if (gflags_FOUND) - else() - FIND_PATH(LIBGFLAGS_INCLUDE_DIR gflags/gflags.h) - -- FIND_LIBRARY(LIBGFLAGS_LIBRARY_DEBUG NAMES gflagsd gflags_staticd) -- FIND_LIBRARY(LIBGFLAGS_LIBRARY_RELEASE NAMES gflags gflags_static) -+ if(CMAKE_SYSTEM_NAME STREQUAL "Windows") -+ FIND_LIBRARY(LIBGFLAGS_LIBRARY_DEBUG NAMES gflagsd gflags_nothreads_staticd gflags_nothreads_static_debug PATHS ${CONAN_GFLAGS_ROOT}) -+ FIND_LIBRARY(LIBGFLAGS_LIBRARY_RELEASE NAMES gflags gflags_nothreads_static PATHS ${CONAN_GFLAGS_ROOT}) -+ else() -+ FIND_LIBRARY(LIBGFLAGS_LIBRARY_DEBUG NAMES gflags gflags_nothreads_debug PATHS ${CONAN_GFLAGS_ROOT}) -+ FIND_LIBRARY(LIBGFLAGS_LIBRARY_RELEASE NAMES gflags_nothreads gflags PATHS ${CONAN_GFLAGS_ROOT}) -+ endif() - - INCLUDE(SelectLibraryConfigurations) - SELECT_LIBRARY_CONFIGURATIONS(LIBGFLAGS) -diff --git a/build/fbcode_builder/CMake/FindGlog.cmake b/build/fbcode_builder/CMake/FindGlog.cmake -index a589b2e..15aef75 100644 ---- a/build/fbcode_builder/CMake/FindGlog.cmake -+++ b/build/fbcode_builder/CMake/FindGlog.cmake -@@ -8,8 +8,7 @@ - - include(FindPackageHandleStandardArgs) - --find_library(GLOG_LIBRARY glog -- PATHS ${GLOG_LIBRARYDIR}) -+find_library(GLOG_LIBRARY glog glogd PATHS ${CONAN_GLOG_ROOT}) - - find_path(GLOG_INCLUDE_DIR glog/logging.h - PATHS ${GLOG_INCLUDEDIR}) -diff --git a/build/fbcode_builder/CMake/FindLibEvent.cmake b/build/fbcode_builder/CMake/FindLibEvent.cmake -index dd11ebd..9ef0807 100644 ---- a/build/fbcode_builder/CMake/FindLibEvent.cmake -+++ b/build/fbcode_builder/CMake/FindLibEvent.cmake -@@ -50,7 +50,7 @@ if (TARGET event) - endif() - else() - find_path(LIBEVENT_INCLUDE_DIR event.h PATHS ${LibEvent_INCLUDE_PATHS}) -- find_library(LIBEVENT_LIB NAMES event PATHS ${LibEvent_LIB_PATHS}) -+ find_library(LIBEVENT_LIB NAMES event libevent PATHS ${CONAN_LIBEVENT_ROOT}) - - if (LIBEVENT_LIB AND LIBEVENT_INCLUDE_DIR) - set(LibEvent_FOUND TRUE) diff --git a/recipes/folly/all/patches/0002-compiler-flags.patch b/recipes/folly/all/patches/0002-compiler-flags.patch deleted file mode 100644 index b9213ff6d4895..0000000000000 --- a/recipes/folly/all/patches/0002-compiler-flags.patch +++ /dev/null @@ -1,24 +0,0 @@ -diff --git a/CMake/FollyCompilerUnix.cmake b/CMake/FollyCompilerUnix.cmake -index 7fba75f..019d30f 100644 ---- a/CMake/FollyCompilerUnix.cmake -+++ b/CMake/FollyCompilerUnix.cmake -@@ -28,9 +28,9 @@ set( - ) - mark_as_advanced(CXX_STD) - --set(CMAKE_CXX_FLAGS_COMMON "-g -Wall -Wextra") -+set(CMAKE_CXX_FLAGS_COMMON "-Wall -Wextra") - set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} ${CMAKE_CXX_FLAGS_COMMON}") --set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} ${CMAKE_CXX_FLAGS_COMMON} -O3") -+set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} ${CMAKE_CXX_FLAGS_COMMON}") - - # Note that CMAKE_REQUIRED_FLAGS must be a string, not a list - set(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} -std=${CXX_STD}") -@@ -44,7 +44,6 @@ function(apply_folly_compile_options_to_target THETARGET) - ) - target_compile_options(${THETARGET} - PRIVATE -- -g - -std=${CXX_STD} - -finput-charset=UTF-8 - -fsigned-char diff --git a/recipes/folly/all/patches/0003-boost-shared-ptr.patch b/recipes/folly/all/patches/0003-boost-shared-ptr.patch deleted file mode 100644 index 7608d6b2e9e2b..0000000000000 --- a/recipes/folly/all/patches/0003-boost-shared-ptr.patch +++ /dev/null @@ -1,24 +0,0 @@ -diff --git a/folly/portability/PThread.cpp b/folly/portability/PThread.cpp -index f8cd6d4..0908668 100644 ---- a/folly/portability/PThread.cpp -+++ b/folly/portability/PThread.cpp -@@ -18,7 +18,9 @@ - - #if !FOLLY_HAVE_PTHREAD && defined(_WIN32) - #include // @manual -- -+#include -+#include -+#include - #include - - #include -@@ -683,7 +685,7 @@ int pthread_setspecific(pthread_key_t key, const void* value) { - // function, which we don't want to do. - boost::detail::set_tss_data( - realKey, -- boost::shared_ptr(), -+ 0,0, - const_cast(value), - false); - return 0; diff --git a/recipes/folly/all/patches/0004-disable-posix-names.patch b/recipes/folly/all/patches/0004-disable-posix-names.patch deleted file mode 100644 index 9efd4e24140e1..0000000000000 --- a/recipes/folly/all/patches/0004-disable-posix-names.patch +++ /dev/null @@ -1,27 +0,0 @@ -diff --git a/folly/portability/Windows.h b/folly/portability/Windows.h -index f7990ca..b22fac5 100644 ---- a/folly/portability/Windows.h -+++ b/folly/portability/Windows.h -@@ -26,16 +26,12 @@ - // These have to be this way because we define our own versions - // of close(), because the normal Windows versions don't handle - // sockets at all. --#ifndef __STDC__ --/* nolint */ --#define __STDC__ 1 --#include // @manual nolint --#include // @manual nolint --#undef __STDC__ --#else --#include // @manual nolint --#include // @manual nolint --#endif -+#include -+#pragma push_macro("_CRT_INTERNAL_NONSTDC_NAMES") -+#define _CRT_INTERNAL_NONSTDC_NAMES 0 -+#include -+#include -+#pragma pop_macro("_CRT_INTERNAL_NONSTDC_NAMES") - - #if defined(min) || defined(max) - #error Windows.h needs to be included by this header, or else NOMINMAX needs \ diff --git a/recipes/folly/all/patches/0005-include-atomic.patch b/recipes/folly/all/patches/0005-include-atomic.patch deleted file mode 100644 index 0eb9382e49a9d..0000000000000 --- a/recipes/folly/all/patches/0005-include-atomic.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/folly/portability/PThread.cpp b/folly/portability/PThread.cpp -index 2891c4c..7c98975 100644 ---- a/folly/portability/PThread.cpp -+++ b/folly/portability/PThread.cpp -@@ -30,6 +30,7 @@ - #include - #include - #include -+#include - - #include - #include diff --git a/recipes/folly/all/patches/0006-duplicate-hash.patch b/recipes/folly/all/patches/0006-duplicate-hash.patch deleted file mode 100644 index f8905d003157e..0000000000000 --- a/recipes/folly/all/patches/0006-duplicate-hash.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/folly/hash/Hash.h b/folly/hash/Hash.h -index 33fa553..4266cf1 100644 ---- a/folly/hash/Hash.h -+++ b/folly/hash/Hash.h -@@ -730,7 +730,7 @@ struct TupleHasher<0, Ts...> { - - // Custom hash functions. - namespace std { --#if FOLLY_SUPPLY_MISSING_INT128_TRAITS -+#if 0 - template <> - struct hash<__int128> : folly::detail::integral_hasher<__int128> {}; - diff --git a/recipes/folly/all/patches/0007-allow-builtins.patch b/recipes/folly/all/patches/0007-allow-builtins.patch deleted file mode 100644 index de09722f02acc..0000000000000 --- a/recipes/folly/all/patches/0007-allow-builtins.patch +++ /dev/null @@ -1,128 +0,0 @@ -diff --git a/folly/portability/Builtins.h b/folly/portability/Builtins.h -index 971cb8819..e68de4456 100644 ---- a/folly/portability/Builtins.h -+++ b/folly/portability/Builtins.h -@@ -41,7 +41,6 @@ FOLLY_ALWAYS_INLINE void __builtin___clear_cache(char* begin, char* end) { - } - } - --#if !defined(_MSC_VER) || (_MSC_VER < 1923) - FOLLY_ALWAYS_INLINE int __builtin_clz(unsigned int x) { - unsigned long index; - return int(_BitScanReverse(&index, (unsigned long)x) ? 31 - index : 32); -@@ -93,7 +92,6 @@ FOLLY_ALWAYS_INLINE int __builtin_ctzll(unsigned long long x) { - return int(_BitScanForward64(&index, x) ? index : 64); - } - #endif --#endif // !defined(_MSC_VER) || (_MSC_VER < 1923) - - FOLLY_ALWAYS_INLINE int __builtin_ffs(int x) { - unsigned long index; -@@ -119,15 +117,12 @@ FOLLY_ALWAYS_INLINE int __builtin_popcount(unsigned int x) { - return int(__popcnt(x)); - } - --#if !defined(_MSC_VER) || (_MSC_VER < 1923) - FOLLY_ALWAYS_INLINE int __builtin_popcountl(unsigned long x) { - static_assert(sizeof(x) == 4, ""); - return int(__popcnt(x)); - } --#endif // !defined(_MSC_VER) || (_MSC_VER < 1923) - #endif - --#if !defined(_MSC_VER) || (_MSC_VER < 1923) - #if defined(_M_IX86) - FOLLY_ALWAYS_INLINE int __builtin_popcountll(unsigned long long x) { - return int(__popcnt((unsigned int)(x >> 32))) + -@@ -138,7 +133,6 @@ FOLLY_ALWAYS_INLINE int __builtin_popcountll(unsigned long long x) { - return int(__popcnt64(x)); - } - #endif --#endif // !defined(_MSC_VER) || (_MSC_VER < 1923) - - FOLLY_ALWAYS_INLINE void* __builtin_return_address(unsigned int frame) { - // I really hope frame is zero... --- - -diff --git a/folly/portability/Builtins.h b/folly/portability/Builtins.h -index e68de4456..30caf4003 100644 ---- a/folly/portability/Builtins.h -+++ b/folly/portability/Builtins.h -@@ -16,7 +16,7 @@ - - #pragma once - --#if defined(_WIN32) && !defined(__clang__) -+#if defined(_WIN32) && !defined(__MINGW32__) && !defined(__clang__) - #include - #include - #include --- -see https://github.com/facebook/folly/issues/1412 -diff --git a/folly/portability/Builtins.h b/folly/portability/Builtins.h -index 30caf4003..e8ef97266 100644 ---- a/folly/portability/Builtins.h -+++ b/folly/portability/Builtins.h -@@ -22,6 +22,14 @@ - #include - #include - -+// MSVC had added support for __builtin_clz etc. in 16.3 (1923) but it will be -+// removed in 16.8 (1928). -+#if (_MSC_VER >= 1923) && (_MSC_VER < 1928) -+#define FOLLY_DETAILFOLLY_DETAIL_MSC_BUILTIN_SUPPORT 1 -+#else -+#define FOLLY_DETAILFOLLY_DETAIL_MSC_BUILTIN_SUPPORT 0 -+#endif -+ - namespace folly { - namespace portability { - namespace detail { -@@ -41,6 +49,7 @@ FOLLY_ALWAYS_INLINE void __builtin___clear_cache(char* begin, char* end) { - } - } - -+#if !defined(_MSC_VER) || !defined(FOLLY_DETAIL_MSC_BUILTIN_SUPPORT) - FOLLY_ALWAYS_INLINE int __builtin_clz(unsigned int x) { - unsigned long index; - return int(_BitScanReverse(&index, (unsigned long)x) ? 31 - index : 32); -@@ -92,6 +101,7 @@ FOLLY_ALWAYS_INLINE int __builtin_ctzll(unsigned long long x) { - return int(_BitScanForward64(&index, x) ? index : 64); - } - #endif -+#endif // !defined(_MSC_VER) || !defined(FOLLY_DETAIL_MSC_BUILTIN_SUPPORT) - - FOLLY_ALWAYS_INLINE int __builtin_ffs(int x) { - unsigned long index; -@@ -117,12 +127,15 @@ FOLLY_ALWAYS_INLINE int __builtin_popcount(unsigned int x) { - return int(__popcnt(x)); - } - -+#if !defined(_MSC_VER) || !defined(FOLLY_DETAIL_MSC_BUILTIN_SUPPORT) - FOLLY_ALWAYS_INLINE int __builtin_popcountl(unsigned long x) { - static_assert(sizeof(x) == 4, ""); - return int(__popcnt(x)); - } -+#endif // !defined(_MSC_VER) || !defined(FOLLY_DETAIL_MSC_BUILTIN_SUPPORT) - #endif - -+#if !defined(_MSC_VER) || !defined(FOLLY_DETAIL_MSC_BUILTIN_SUPPORT) - #if defined(_M_IX86) - FOLLY_ALWAYS_INLINE int __builtin_popcountll(unsigned long long x) { - return int(__popcnt((unsigned int)(x >> 32))) + -@@ -133,6 +146,7 @@ FOLLY_ALWAYS_INLINE int __builtin_popcountll(unsigned long long x) { - return int(__popcnt64(x)); - } - #endif -+#endif // !defined(_MSC_VER) || !defined(FOLLY_DETAIL_MSC_BUILTIN_SUPPORT) - - FOLLY_ALWAYS_INLINE void* __builtin_return_address(unsigned int frame) { - // I really hope frame is zero... -@@ -141,3 +155,5 @@ FOLLY_ALWAYS_INLINE void* __builtin_return_address(unsigned int frame) { - return _ReturnAddress(); - } - #endif -+ -+#undef FOLLY_DETAIL_MSC_BUILTIN_SUPPORT --- - diff --git a/recipes/folly/all/patches/0008-find-packages.patch b/recipes/folly/all/patches/0008-find-packages.patch deleted file mode 100644 index 3329a68425e3b..0000000000000 --- a/recipes/folly/all/patches/0008-find-packages.patch +++ /dev/null @@ -1,73 +0,0 @@ -diff --git a/CMake/folly-deps.cmake b/CMake/folly-deps.cmake -index 3169b972d52..23dc6d509b1 100644 ---- a/CMake/folly-deps.cmake -+++ b/CMake/folly-deps.cmake -@@ -46,11 +46,11 @@ find_package(Boost 1.51.0 MODULE - list(APPEND FOLLY_LINK_LIBRARIES ${Boost_LIBRARIES}) - list(APPEND FOLLY_INCLUDE_DIRECTORIES ${Boost_INCLUDE_DIRS}) - --find_package(DoubleConversion MODULE REQUIRED) -+find_package(double-conversion MODULE REQUIRED) - list(APPEND FOLLY_LINK_LIBRARIES ${DOUBLE_CONVERSION_LIBRARY}) - list(APPEND FOLLY_INCLUDE_DIRECTORIES ${DOUBLE_CONVERSION_INCLUDE_DIR}) - --find_package(Gflags MODULE) -+find_package(gflags MODULE) - set(FOLLY_HAVE_LIBGFLAGS ${LIBGFLAGS_FOUND}) - if(LIBGFLAGS_FOUND) - list(APPEND FOLLY_LINK_LIBRARIES ${LIBGFLAGS_LIBRARY}) -@@ -59,12 +59,12 @@ if(LIBGFLAGS_FOUND) - list(APPEND CMAKE_REQUIRED_INCLUDES ${LIBGFLAGS_INCLUDE_DIR}) - endif() - --find_package(Glog MODULE) -+find_package(glog MODULE) - set(FOLLY_HAVE_LIBGLOG ${GLOG_FOUND}) - list(APPEND FOLLY_LINK_LIBRARIES ${GLOG_LIBRARY}) - list(APPEND FOLLY_INCLUDE_DIRECTORIES ${GLOG_INCLUDE_DIR}) - --find_package(LibEvent MODULE REQUIRED) -+find_package(Libevent MODULE REQUIRED) - list(APPEND FOLLY_LINK_LIBRARIES ${LIBEVENT_LIB}) - list(APPEND FOLLY_INCLUDE_DIRECTORIES ${LIBEVENT_INCLUDE_DIR}) - -@@ -96,14 +96,14 @@ if (LIBLZMA_FOUND) - list(APPEND FOLLY_LINK_LIBRARIES ${LIBLZMA_LIBRARIES}) - endif() - --find_package(LZ4 MODULE) -+find_package(lz4 MODULE) - set(FOLLY_HAVE_LIBLZ4 ${LZ4_FOUND}) - if (LZ4_FOUND) - list(APPEND FOLLY_INCLUDE_DIRECTORIES ${LZ4_INCLUDE_DIR}) - list(APPEND FOLLY_LINK_LIBRARIES ${LZ4_LIBRARY}) - endif() - --find_package(Zstd MODULE) -+find_package(zstd MODULE) - set(FOLLY_HAVE_LIBZSTD ${ZSTD_FOUND}) - if(ZSTD_FOUND) - list(APPEND FOLLY_INCLUDE_DIRECTORIES ${ZSTD_INCLUDE_DIR}) -@@ -117,11 +117,11 @@ if (SNAPPY_FOUND) - list(APPEND FOLLY_LINK_LIBRARIES ${SNAPPY_LIBRARY}) - endif() - --find_package(LibDwarf) -+find_package(libdwarf) - list(APPEND FOLLY_LINK_LIBRARIES ${LIBDWARF_LIBRARIES}) - list(APPEND FOLLY_INCLUDE_DIRECTORIES ${LIBDWARF_INCLUDE_DIRS}) - --find_package(Libiberty) -+find_package(libiberty) - list(APPEND FOLLY_LINK_LIBRARIES ${LIBIBERTY_LIBRARIES}) - list(APPEND FOLLY_INCLUDE_DIRECTORIES ${LIBIBERTY_INCLUDE_DIRS}) - -@@ -133,7 +133,7 @@ find_package(LibUring) - list(APPEND FOLLY_LINK_LIBRARIES ${LIBURING_LIBRARIES}) - list(APPEND FOLLY_INCLUDE_DIRECTORIES ${LIBURING_INCLUDE_DIRS}) - --find_package(Libsodium) -+find_package(libsodium) - list(APPEND FOLLY_LINK_LIBRARIES ${LIBSODIUM_LIBRARIES}) - list(APPEND FOLLY_INCLUDE_DIRECTORIES ${LIBSODIUM_INCLUDE_DIRS}) - diff --git a/recipes/folly/all/patches/0009-ill-formed-atomic-copy.patch b/recipes/folly/all/patches/0009-ill-formed-atomic-copy.patch deleted file mode 100644 index 58f95224f3873..0000000000000 --- a/recipes/folly/all/patches/0009-ill-formed-atomic-copy.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/folly/fibers/SemaphoreBase.cpp b/folly/fibers/SemaphoreBase.cpp -index 06e9ecc7111..77e2da75c18 100644 ---- a/folly/fibers/SemaphoreBase.cpp -+++ b/folly/fibers/SemaphoreBase.cpp -@@ -170,7 +170,7 @@ namespace { - class FutureWaiter final : public fibers::Baton::Waiter { - public: - explicit FutureWaiter(int64_t tokens) -- : semaphoreWaiter(SemaphoreBase::Waiter(tokens)) { -+ : semaphoreWaiter(tokens) { - semaphoreWaiter.baton.setWaiter(*this); - } - diff --git a/recipes/folly/all/patches/0010-duplicate-hash.patch b/recipes/folly/all/patches/0010-duplicate-hash.patch deleted file mode 100644 index 69268c6acf6f6..0000000000000 --- a/recipes/folly/all/patches/0010-duplicate-hash.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/folly/hash/Hash.h b/folly/hash/Hash.h -index a8a50e8e8dc..d7a3da8e61f 100644 ---- a/folly/hash/Hash.h -+++ b/folly/hash/Hash.h -@@ -733,7 +733,7 @@ struct TupleHasher<0, Ts...> { - - // Custom hash functions. - namespace std { --#if FOLLY_SUPPLY_MISSING_INT128_TRAITS -+#if 0 - template <> - struct hash<__int128> : folly::detail::integral_hasher<__int128> {}; - diff --git a/recipes/folly/all/patches/0011-disable-logger-example.patch b/recipes/folly/all/patches/0011-disable-logger-example.patch deleted file mode 100644 index fa20905367fb1..0000000000000 --- a/recipes/folly/all/patches/0011-disable-logger-example.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/folly/CMakeLists.txt b/folly/CMakeLists.txt -index 08de7daf20f..cdc1f03bf46 100644 ---- a/folly/CMakeLists.txt -+++ b/folly/CMakeLists.txt -@@ -27,7 +27,6 @@ install( - ) - - add_subdirectory(experimental/exception_tracer) --add_subdirectory(logging/example) - - if (PYTHON_EXTENSIONS) - # Create tree of symbolic links in structure required for successful diff --git a/recipes/folly/all/patches/0012-compiler-flags.patch b/recipes/folly/all/patches/0012-compiler-flags.patch deleted file mode 100644 index 358500a1800cd..0000000000000 --- a/recipes/folly/all/patches/0012-compiler-flags.patch +++ /dev/null @@ -1,24 +0,0 @@ -diff --git a/CMake/FollyCompilerUnix.cmake b/CMake/FollyCompilerUnix.cmake -index 8dcaf141a3a..200fe8d3798 100644 ---- a/CMake/FollyCompilerUnix.cmake -+++ b/CMake/FollyCompilerUnix.cmake -@@ -28,9 +28,9 @@ set( - ) - mark_as_advanced(CXX_STD) - --set(CMAKE_CXX_FLAGS_COMMON "-g -Wall -Wextra") -+set(CMAKE_CXX_FLAGS_COMMON "-Wall -Wextra") - set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} ${CMAKE_CXX_FLAGS_COMMON}") --set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} ${CMAKE_CXX_FLAGS_COMMON} -O3") -+set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} ${CMAKE_CXX_FLAGS_COMMON}") - - # Note that CMAKE_REQUIRED_FLAGS must be a string, not a list - set(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} -std=${CXX_STD}") -@@ -43,7 +43,6 @@ function(apply_folly_compile_options_to_target THETARGET) - ) - target_compile_options(${THETARGET} - PRIVATE -- -g - -std=${CXX_STD} - -finput-charset=UTF-8 - -fsigned-char diff --git a/recipes/folly/all/patches/0013-include-bit.patch b/recipes/folly/all/patches/0013-include-bit.patch deleted file mode 100644 index 1a8ac249a146b..0000000000000 --- a/recipes/folly/all/patches/0013-include-bit.patch +++ /dev/null @@ -1,13 +0,0 @@ ---- a/folly/lang/Bits.h -+++ b/folly/lang/Bits.h -@@ -64,6 +64,10 @@ - #include - #include - -+#if __has_include() && __cpp_lib_bit_cast -+#include -+#endif -+ - namespace folly { - - #if __cpp_lib_bit_cast diff --git a/recipes/folly/all/patches/0014-find-librt.patch b/recipes/folly/all/patches/0014-find-librt.patch deleted file mode 100644 index 90a1f0f7b9ada..0000000000000 --- a/recipes/folly/all/patches/0014-find-librt.patch +++ /dev/null @@ -1,18 +0,0 @@ -diff --git a/CMake/FollyConfigChecks.cmake b/CMake/FollyConfigChecks.cmake -index 6b8b308c7..908d72d51 100644 ---- a/CMake/FollyConfigChecks.cmake -+++ b/CMake/FollyConfigChecks.cmake -@@ -83,6 +83,13 @@ string(REGEX REPLACE - CMAKE_REQUIRED_FLAGS - "${CMAKE_REQUIRED_FLAGS}") - -+if (CMAKE_SYSTEM_NAME STREQUAL "Linux") -+ find_library(LIBRT rt) -+ if (LIBRT) -+ list(APPEND CMAKE_REQUIRED_LIBRARIES "rt") -+ endif() -+endif() -+ - check_symbol_exists(pthread_atfork pthread.h FOLLY_HAVE_PTHREAD_ATFORK) - - # Unfortunately check_symbol_exists() does not work for memrchr(): diff --git a/recipes/folly/all/patches/0015-benchmark-format-macros.patch b/recipes/folly/all/patches/0015-benchmark-format-macros.patch deleted file mode 100644 index 14f8b2088a1b3..0000000000000 --- a/recipes/folly/all/patches/0015-benchmark-format-macros.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff --git a/folly/Benchmark.cpp b/folly/Benchmark.cpp -index 389ee46a1..390b7674b 100644 ---- a/folly/Benchmark.cpp -+++ b/folly/Benchmark.cpp -@@ -16,6 +16,10 @@ - - // @author Andrei Alexandrescu (andrei.alexandrescu@fb.com) - -+#ifndef __STDC_FORMAT_MACROS -+#define __STDC_FORMAT_MACROS 1 -+#endif -+ - #include - - #include diff --git a/recipes/folly/all/patches/0016-find-packages.patch b/recipes/folly/all/patches/0016-find-packages.patch deleted file mode 100644 index c6cd14fad52c9..0000000000000 --- a/recipes/folly/all/patches/0016-find-packages.patch +++ /dev/null @@ -1,80 +0,0 @@ -diff --git a/CMake/folly-deps.cmake b/CMake/folly-deps.cmake -index 9c9d9ea60..e78611542 100644 ---- a/CMake/folly-deps.cmake -+++ b/CMake/folly-deps.cmake -@@ -48,25 +48,25 @@ find_package(Boost 1.51.0 MODULE - list(APPEND FOLLY_LINK_LIBRARIES ${Boost_LIBRARIES}) - list(APPEND FOLLY_INCLUDE_DIRECTORIES ${Boost_INCLUDE_DIRS}) - --find_package(DoubleConversion MODULE REQUIRED) -+find_package(double-conversion MODULE REQUIRED) - list(APPEND FOLLY_LINK_LIBRARIES ${DOUBLE_CONVERSION_LIBRARY}) - list(APPEND FOLLY_INCLUDE_DIRECTORIES ${DOUBLE_CONVERSION_INCLUDE_DIR}) - --find_package(Gflags MODULE) --set(FOLLY_HAVE_LIBGFLAGS ${LIBGFLAGS_FOUND}) --if(LIBGFLAGS_FOUND) -- list(APPEND FOLLY_LINK_LIBRARIES ${LIBGFLAGS_LIBRARY}) -- list(APPEND FOLLY_INCLUDE_DIRECTORIES ${LIBGFLAGS_INCLUDE_DIR}) -- set(FOLLY_LIBGFLAGS_LIBRARY ${LIBGFLAGS_LIBRARY}) -- set(FOLLY_LIBGFLAGS_INCLUDE ${LIBGFLAGS_INCLUDE_DIR}) -+find_package(gflags MODULE) -+set(FOLLY_HAVE_LIBGFLAGS ${gflags_FOUND}) -+if(gflags_FOUND) -+ list(APPEND FOLLY_LINK_LIBRARIES ${gflags_LIBRARIES}) -+ list(APPEND FOLLY_INCLUDE_DIRECTORIES ${gflags_INCLUDE_DIRS}) -+ set(FOLLY_LIBGFLAGS_LIBRARY ${gflags_LIBRARIES}) -+ set(FOLLY_LIBGFLAGS_INCLUDE ${gflags_INCLUDE_DIRS}) - endif() - --find_package(Glog MODULE) -+find_package(glog MODULE) - set(FOLLY_HAVE_LIBGLOG ${GLOG_FOUND}) - list(APPEND FOLLY_LINK_LIBRARIES ${GLOG_LIBRARY}) - list(APPEND FOLLY_INCLUDE_DIRECTORIES ${GLOG_INCLUDE_DIR}) - --find_package(LibEvent MODULE REQUIRED) -+find_package(Libevent MODULE REQUIRED) - list(APPEND FOLLY_LINK_LIBRARIES ${LIBEVENT_LIB}) - list(APPEND FOLLY_INCLUDE_DIRECTORIES ${LIBEVENT_INCLUDE_DIR}) - -@@ -104,14 +104,14 @@ if (LIBLZMA_FOUND) - list(APPEND FOLLY_LINK_LIBRARIES ${LIBLZMA_LIBRARIES}) - endif() - --find_package(LZ4 MODULE) -+find_package(lz4 MODULE) - set(FOLLY_HAVE_LIBLZ4 ${LZ4_FOUND}) - if (LZ4_FOUND) - list(APPEND FOLLY_INCLUDE_DIRECTORIES ${LZ4_INCLUDE_DIR}) - list(APPEND FOLLY_LINK_LIBRARIES ${LZ4_LIBRARY}) - endif() - --find_package(Zstd MODULE) -+find_package(zstd MODULE) - set(FOLLY_HAVE_LIBZSTD ${ZSTD_FOUND}) - if(ZSTD_FOUND) - list(APPEND FOLLY_INCLUDE_DIRECTORIES ${ZSTD_INCLUDE_DIR}) -@@ -125,11 +125,11 @@ if (SNAPPY_FOUND) - list(APPEND FOLLY_LINK_LIBRARIES ${SNAPPY_LIBRARY}) - endif() - --find_package(LibDwarf) -+find_package(libdwarf) - list(APPEND FOLLY_LINK_LIBRARIES ${LIBDWARF_LIBRARIES}) - list(APPEND FOLLY_INCLUDE_DIRECTORIES ${LIBDWARF_INCLUDE_DIRS}) - --find_package(Libiberty) -+find_package(libiberty) - list(APPEND FOLLY_LINK_LIBRARIES ${LIBIBERTY_LIBRARIES}) - list(APPEND FOLLY_INCLUDE_DIRECTORIES ${LIBIBERTY_INCLUDE_DIRS}) - -@@ -141,7 +141,7 @@ find_package(LibUring) - list(APPEND FOLLY_LINK_LIBRARIES ${LIBURING_LIBRARIES}) - list(APPEND FOLLY_INCLUDE_DIRECTORIES ${LIBURING_INCLUDE_DIRS}) - --find_package(Libsodium) -+find_package(libsodium) - list(APPEND FOLLY_LINK_LIBRARIES ${LIBSODIUM_LIBRARIES}) - list(APPEND FOLLY_INCLUDE_DIRECTORIES ${LIBSODIUM_INCLUDE_DIRS}) - diff --git a/recipes/folly/all/patches/0017-compiler-flags.patch b/recipes/folly/all/patches/0017-compiler-flags.patch deleted file mode 100644 index 1290e801ba4ba..0000000000000 --- a/recipes/folly/all/patches/0017-compiler-flags.patch +++ /dev/null @@ -1,24 +0,0 @@ -diff --git a/CMake/FollyCompilerUnix.cmake b/CMake/FollyCompilerUnix.cmake -index 8dcaf14..200fe8d 100644 ---- a/CMake/FollyCompilerUnix.cmake -+++ b/CMake/FollyCompilerUnix.cmake -@@ -28,9 +28,9 @@ set( - ) - mark_as_advanced(CXX_STD) - --set(CMAKE_CXX_FLAGS_COMMON "-g -Wall -Wextra") -+set(CMAKE_CXX_FLAGS_COMMON "-Wall -Wextra") - set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} ${CMAKE_CXX_FLAGS_COMMON}") --set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} ${CMAKE_CXX_FLAGS_COMMON} -O3") -+set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} ${CMAKE_CXX_FLAGS_COMMON}") - - # Note that CMAKE_REQUIRED_FLAGS must be a string, not a list - set(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} -std=${CXX_STD}") -@@ -43,7 +43,6 @@ function(apply_folly_compile_options_to_target THETARGET) - ) - target_compile_options(${THETARGET} - PRIVATE -- -g - -std=${CXX_STD} - -finput-charset=UTF-8 - -fsigned-char diff --git a/recipes/folly/all/patches/0018-find-glog.patch b/recipes/folly/all/patches/0018-find-glog.patch deleted file mode 100644 index b2d17ad455a7b..0000000000000 --- a/recipes/folly/all/patches/0018-find-glog.patch +++ /dev/null @@ -1,16 +0,0 @@ -diff --git a/build/fbcode_builder/CMake/FindGlog.cmake b/build/fbcode_builder/CMake/FindGlog.cmake -index 752647c..aa2fa1c 100644 ---- a/build/fbcode_builder/CMake/FindGlog.cmake -+++ b/build/fbcode_builder/CMake/FindGlog.cmake -@@ -10,9 +10,9 @@ include(FindPackageHandleStandardArgs) - include(SelectLibraryConfigurations) - - find_library(GLOG_LIBRARY_RELEASE glog -- PATHS ${GLOG_LIBRARYDIR}) -+ PATHS ${CONAN_GLOG_ROOT}) - find_library(GLOG_LIBRARY_DEBUG glogd -- PATHS ${GLOG_LIBRARYDIR}) -+ PATHS ${CONAN_GLOG_ROOT}) - - find_path(GLOG_INCLUDE_DIR glog/logging.h - PATHS ${GLOG_INCLUDEDIR}) diff --git a/recipes/folly/all/patches/0019-exclude-example.patch b/recipes/folly/all/patches/0019-exclude-example.patch deleted file mode 100644 index d2afb310ff8a0..0000000000000 --- a/recipes/folly/all/patches/0019-exclude-example.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/folly/CMakeLists.txt b/folly/CMakeLists.txt -index 883f27c..2d2086f 100644 ---- a/folly/CMakeLists.txt -+++ b/folly/CMakeLists.txt -@@ -28,7 +28,6 @@ install( - ) - - add_subdirectory(experimental/exception_tracer) --add_subdirectory(logging/example) - - if (PYTHON_EXTENSIONS) - # Create tree of symbolic links in structure required for successful diff --git a/recipes/folly/all/patches/0020-include-ssizet.patch b/recipes/folly/all/patches/0020-include-ssizet.patch deleted file mode 100644 index 0575fecd13e84..0000000000000 --- a/recipes/folly/all/patches/0020-include-ssizet.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/folly/executors/ExecutorWithPriority.h b/folly/executors/ExecutorWithPriority.h -index b95a6c4..18b8110 100644 ---- a/folly/executors/ExecutorWithPriority.h -+++ b/folly/executors/ExecutorWithPriority.h -@@ -18,6 +18,7 @@ - - #include - #include -+#include - - namespace folly { - diff --git a/recipes/folly/all/patches/0021-typedef-clockid.patch b/recipes/folly/all/patches/0021-typedef-clockid.patch deleted file mode 100644 index fb46c057d58ce..0000000000000 --- a/recipes/folly/all/patches/0021-typedef-clockid.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/folly/portability/Time.h b/folly/portability/Time.h -index 994a09e5d70..e4f0d101ca9 100644 ---- a/folly/portability/Time.h -+++ b/folly/portability/Time.h -@@ -49,7 +49,6 @@ - #define CLOCK_PROCESS_CPUTIME_ID 2 - #define CLOCK_THREAD_CPUTIME_ID 3 - --typedef uint8_t clockid_t; - extern "C" int clock_gettime(clockid_t clk_id, struct timespec* ts); - extern "C" int clock_getres(clockid_t clk_id, struct timespec* ts); - #endif diff --git a/recipes/folly/all/patches/0022-fix-windows-minmax.patch b/recipes/folly/all/patches/0022-fix-windows-minmax.patch deleted file mode 100644 index 1fc69a43a83e5..0000000000000 --- a/recipes/folly/all/patches/0022-fix-windows-minmax.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/CMake/FollyCompilerMSVC.cmake b/CMake/FollyCompilerMSVC.cmake -index ec2ce1a1d..16deda71c 100644 ---- a/CMake/FollyCompilerMSVC.cmake -+++ b/CMake/FollyCompilerMSVC.cmake -@@ -289,6 +289,7 @@ function(apply_folly_compile_options_to_target THETARGET) - # And the extra defines: - target_compile_definitions(${THETARGET} - PUBLIC -+ NOMINMAX - _CRT_NONSTDC_NO_WARNINGS # Don't deprecate posix names of functions. - _CRT_SECURE_NO_WARNINGS # Don't deprecate the non _s versions of various standard library functions, because safety is for chumps. - _SCL_SECURE_NO_WARNINGS # Don't deprecate the non _s versions of various standard library functions, because safety is for chumps. diff --git a/recipes/folly/all/test_package/CMakeLists.txt b/recipes/folly/all/test_package/CMakeLists.txt index 6a9df4ea0b752..82796f7de6547 100644 --- a/recipes/folly/all/test_package/CMakeLists.txt +++ b/recipes/folly/all/test_package/CMakeLists.txt @@ -4,13 +4,5 @@ project(test_package CXX) find_package(folly REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} - Folly::folly - Folly::follybenchmark) - - -if (${FOLLY_VERSION} VERSION_LESS "2021.07.20.00") - set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD 14) -else() - set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD 17) -endif() +target_link_libraries(${PROJECT_NAME} PRIVATE Folly::folly) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) diff --git a/recipes/folly/all/test_package/conanfile.py b/recipes/folly/all/test_package/conanfile.py index 63889d5258fa5..7aa104bd186ed 100644 --- a/recipes/folly/all/test_package/conanfile.py +++ b/recipes/folly/all/test_package/conanfile.py @@ -1,21 +1,19 @@ import os from conan import ConanFile -from conan.tools.cmake import CMake, CMakeToolchain +from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout from conan.tools.build import can_run -from conan.tools.cmake import cmake_layout -required_conan_version = ">=1.43.0" class TestPackageConan(ConanFile): settings = "os", "compiler", "build_type", "arch" generators = "CMakeDeps", "VirtualRunEnv" + test_type = "explicit" def requirements(self): self.requires(self.tested_reference_str) def generate(self): tc = CMakeToolchain(self) - tc.variables["FOLLY_VERSION"] = self.dependencies["folly"].ref.version tc.generate() def layout(self): @@ -28,4 +26,4 @@ def build(self): def test(self): if can_run(self): - self.run(os.path.join(self.cpp.build.bindirs[0], "test_package"), env="conanrun") + self.run(os.path.join(self.cpp.build.bindir, "test_package"), env="conanrun") diff --git a/recipes/folly/all/test_package/test_package.cpp b/recipes/folly/all/test_package/test_package.cpp index cc522b8b0280d..247e44f76e0fd 100644 --- a/recipes/folly/all/test_package/test_package.cpp +++ b/recipes/folly/all/test_package/test_package.cpp @@ -1,29 +1,12 @@ #include #include -#include + #include -#include -#include -#include -#include -#if FOLLY_HAVE_ELF -#include -#endif +#include -static void print_uri(const folly::fbstring& value) { - const folly::Uri uri(value); - std::cout << "The authority from " << value << " is " << uri.authority() << std::endl; -} int main() { - folly::ThreadedExecutor executor; - folly::Promise promise; - folly::Future future = promise.getSemiFuture().via(&executor); - folly::Future unit = std::move(future).thenValue(print_uri); - promise.setValue("https://github.com/bincrafters"); - std::move(unit).get(); -#if FOLLY_HAVE_ELF - folly::symbolizer::ElfFile elffile; -#endif + folly::fbstring address{"127.0.0.1"}; + folly::IPAddress::validate(address); return EXIT_SUCCESS; } diff --git a/recipes/folly/all/test_v1_package/CMakeLists.txt b/recipes/folly/all/test_v1_package/CMakeLists.txt index f8cc697ab67d2..c2866c350e271 100644 --- a/recipes/folly/all/test_v1_package/CMakeLists.txt +++ b/recipes/folly/all/test_v1_package/CMakeLists.txt @@ -4,14 +4,5 @@ project(test_package CXX) include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) conan_basic_setup(TARGETS) -find_package(folly CONFIG REQUIRED) - -add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} Folly::folly) - - -if (${FOLLY_VERSION} VERSION_LESS "2021.07.20.00") - set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD 14) -else() - set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD 17) -endif() +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package + ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/folly/all/test_v1_package/conanfile.py b/recipes/folly/all/test_v1_package/conanfile.py index 8b8cfae4c1882..49a3a66ea5bad 100644 --- a/recipes/folly/all/test_v1_package/conanfile.py +++ b/recipes/folly/all/test_v1_package/conanfile.py @@ -8,11 +8,10 @@ class TestPackageConan(ConanFile): def build(self): cmake = CMake(self) - cmake.definitions["FOLLY_VERSION"] = self.deps_cpp_info["folly"].version cmake.configure() cmake.build() def test(self): if not tools.cross_building(self): bin_path = os.path.join("bin", "test_package") - self.run(command=bin_path, run_environment=True) + self.run(bin_path, run_environment=True) diff --git a/recipes/folly/all/test_v1_package/test_package.cpp b/recipes/folly/all/test_v1_package/test_package.cpp deleted file mode 100644 index cc522b8b0280d..0000000000000 --- a/recipes/folly/all/test_v1_package/test_package.cpp +++ /dev/null @@ -1,29 +0,0 @@ -#include -#include -#include -#include -#include -#include -#include -#include -#if FOLLY_HAVE_ELF -#include -#endif - -static void print_uri(const folly::fbstring& value) { - const folly::Uri uri(value); - std::cout << "The authority from " << value << " is " << uri.authority() << std::endl; -} - -int main() { - folly::ThreadedExecutor executor; - folly::Promise promise; - folly::Future future = promise.getSemiFuture().via(&executor); - folly::Future unit = std::move(future).thenValue(print_uri); - promise.setValue("https://github.com/bincrafters"); - std::move(unit).get(); -#if FOLLY_HAVE_ELF - folly::symbolizer::ElfFile elffile; -#endif - return EXIT_SUCCESS; -} diff --git a/recipes/folly/config.yml b/recipes/folly/config.yml index 6a14a274c3fe9..e799fbeee0433 100644 --- a/recipes/folly/config.yml +++ b/recipes/folly/config.yml @@ -1,7 +1,3 @@ versions: - "2019.10.21.00": - folder: all - "2020.08.10.00": - folder: all - "2022.01.31.00": - folder: all + "2024.08.12.00": + folder: all From 26a0325c101015d0fa1ba13dfa71564df0bb94d0 Mon Sep 17 00:00:00 2001 From: Oliver Kuckertz Date: Thu, 22 Aug 2024 12:11:40 +0200 Subject: [PATCH 396/641] (#25004) opencv/4.x: fix building for iOS --- recipes/opencv/4.x/conanfile.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/recipes/opencv/4.x/conanfile.py b/recipes/opencv/4.x/conanfile.py index 71d9b650ddc69..491ff108378e7 100644 --- a/recipes/opencv/4.x/conanfile.py +++ b/recipes/opencv/4.x/conanfile.py @@ -319,10 +319,13 @@ def config_options(self): else: del self.options.with_ffmpeg - if "arm" not in self.settings.arch: - del self.options.neon if not self._has_with_jpeg2000_option: del self.options.with_jpeg2000 + elif Version(self.version) < "4.3.0": + self.options.with_jpeg2000 = "jasper" + + if "arm" not in self.settings.arch: + del self.options.neon if not self._has_with_tiff_option: del self.options.with_tiff if not self._has_superres_option: @@ -359,9 +362,6 @@ def config_options(self): if not self._has_with_wayland_option: self.options.with_gtk = True - if Version(self.version) < "4.3.0": - self.options.with_jpeg2000 = "jasper" - @property def _opencv_modules(self): def imageformats_deps(): @@ -1215,7 +1215,7 @@ def validate(self): raise ConanInvalidConfiguration( "viz module can't be enabled yet. It requires VTK which is not available in conan-center." ) - if self.options.with_jpeg2000 == "openjpeg" and Version(self.version) < "4.3.0": + if self.options.get_safe("with_jpeg2000") == "openjpeg" and Version(self.version) < "4.3.0": raise ConanInvalidConfiguration("openjpeg is not available for OpenCV before 4.3.0") From 3c02bbbd21224bbf3d362a3d00e2f1103d80be0b Mon Sep 17 00:00:00 2001 From: Luis Caro Campos <3535649+jcar87@users.noreply.github.com> Date: Thu, 22 Aug 2024 11:42:18 +0100 Subject: [PATCH 397/641] (#25014) xz-utils: support armv8 and clang-cl on Windows * xz-utils: support armv8 and clang-cl on Windows * xz-utils: guard replacement with conditional --- recipes/xz_utils/all/conanfile.py | 25 ++++++++++++++++++++----- 1 file changed, 20 insertions(+), 5 deletions(-) diff --git a/recipes/xz_utils/all/conanfile.py b/recipes/xz_utils/all/conanfile.py index 388fe0cf2e851..212eb51f593cc 100644 --- a/recipes/xz_utils/all/conanfile.py +++ b/recipes/xz_utils/all/conanfile.py @@ -50,6 +50,13 @@ def _effective_msbuild_type(self): @property def _msbuild_target(self): return "liblzma_dll" if self.options.shared else "liblzma" + + @property + def _use_msbuild(self): + assume_clang_cl = (self.settings.os == "Windows" + and self.settings.compiler == "clang" + and self.settings.get_safe("compiler.runtime") is not None) + return is_msvc(self) or assume_clang_cl def export_sources(self): export_conandata_patches(self) @@ -68,7 +75,7 @@ def layout(self): basic_layout(self, src_folder="src") def build_requirements(self): - if self._settings_build.os == "Windows" and not is_msvc(self): + if self._settings_build.os == "Windows" and not self._use_msbuild: self.win_bash = True if not self.conf.get("tools.microsoft.bash:path", check_type=str): self.tool_requires("msys2/cci.latest") @@ -77,7 +84,7 @@ def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): - if is_msvc(self): + if self._use_msbuild: tc = MSBuildToolchain(self) tc.configuration = self._effective_msbuild_type tc.generate() @@ -124,16 +131,24 @@ def _build_msvc(self): "", f"", ) + + if self.settings.arch == "armv8": + replace_in_file(self, vcxproj_file, "x64", "ARM64") + + solution_file = os.path.join(build_script_folder, "xz_win.sln") + if self.settings.arch == "armv8": + replace_in_file(self, solution_file, "x64", "ARM64") + #============================== msbuild = MSBuild(self) msbuild.build_type = self._effective_msbuild_type msbuild.platform = "Win32" if self.settings.arch == "x86" else msbuild.platform - msbuild.build(os.path.join(build_script_folder, "xz_win.sln"), targets=[self._msbuild_target]) + msbuild.build(os.path.join(build_script_folder, solution_file), targets=[self._msbuild_target]) def build(self): apply_conandata_patches(self) - if is_msvc(self): + if self._use_msbuild: self._build_msvc() else: autotools = Autotools(self) @@ -142,7 +157,7 @@ def build(self): def package(self): copy(self, "COPYING", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) - if is_msvc(self): + if self._use_msbuild: inc_dir = os.path.join(self.source_folder, "src", "liblzma", "api") copy(self, "*.h", src=inc_dir, dst=os.path.join(self.package_folder, "include")) output_dir = os.path.join(self.source_folder, "windows") From 5fb1c3bf83ae717144eaf4876ebff535e15cb07b Mon Sep 17 00:00:00 2001 From: Uilian Ries Date: Thu, 22 Aug 2024 13:22:05 +0200 Subject: [PATCH 398/641] (#19958) [ComputeLibrary] Add new package for ARM-software/ComputeLibrary * Add ComputeLibrary Signed-off-by: Uilian Ries * Fix Macos build Signed-off-by: Uilian Ries * Add version 23.02.1 Signed-off-by: Uilian Ries * Fix package sha-256 Signed-off-by: Uilian Ries * add gemm_tunner=0 Signed-off-by: Uilian Ries * do not enforce toolchain prefix Signed-off-by: Uilian Ries * Add multi_isa option Signed-off-by: Uilian Ries * restrict mac cross-building Signed-off-by: Uilian Ries * remove unused import Signed-off-by: Uilian Ries * fix settings build Signed-off-by: Uilian Ries * Improve mac restriction Signed-off-by: Uilian Ries * Support gcc 6 actually Signed-off-by: Uilian Ries --------- Signed-off-by: Uilian Ries --- recipes/compute_library/all/conandata.yml | 7 + recipes/compute_library/all/conanfile.py | 149 ++++++++++++++++++ .../all/test_package/CMakeLists.txt | 8 + .../all/test_package/conanfile.py | 26 +++ .../all/test_package/test_package.cpp | 11 ++ recipes/compute_library/config.yml | 5 + 6 files changed, 206 insertions(+) create mode 100644 recipes/compute_library/all/conandata.yml create mode 100644 recipes/compute_library/all/conanfile.py create mode 100644 recipes/compute_library/all/test_package/CMakeLists.txt create mode 100644 recipes/compute_library/all/test_package/conanfile.py create mode 100644 recipes/compute_library/all/test_package/test_package.cpp create mode 100644 recipes/compute_library/config.yml diff --git a/recipes/compute_library/all/conandata.yml b/recipes/compute_library/all/conandata.yml new file mode 100644 index 0000000000000..3b952c4dbb5e0 --- /dev/null +++ b/recipes/compute_library/all/conandata.yml @@ -0,0 +1,7 @@ +sources: + "23.08": + url: "https://github.com/ARM-software/ComputeLibrary/archive/refs/tags/v23.08.tar.gz" + sha256: "62f514a555409d4401e5250b290cdf8cf1676e4eb775e5bd61ea6a740a8ce24f" + "23.02.1": + url: "https://github.com/ARM-software/ComputeLibrary/archive/refs/tags/v23.02.1.tar.gz" + sha256: "c3a443e26539f866969242e690cf0651ef629149741ee18732f954c734da6763" diff --git a/recipes/compute_library/all/conanfile.py b/recipes/compute_library/all/conanfile.py new file mode 100644 index 0000000000000..6becfaaa8f1bb --- /dev/null +++ b/recipes/compute_library/all/conanfile.py @@ -0,0 +1,149 @@ +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.files import get, copy, rm, chdir +from conan.tools.build import check_min_cppstd, cross_building, build_jobs +from conan.tools.scm import Version +from conan.tools.env import VirtualBuildEnv +from conan.tools.gnu import AutotoolsDeps, AutotoolsToolchain +from conan.tools.layout import basic_layout +import os + + +required_conan_version = ">=1.53.0" + + +class ComputeLibraryConan(ConanFile): + name = "compute_library" + description = "The Compute Library is a set of computer vision and machine learning functions optimized for both Arm CPUs and GPUs using SIMD technologies" + license = "MIT" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/ARM-software/ComputeLibrary" + topics = ("android", "linux", "machine-learning", "arm", "computer-vision", "neural-network") + package_type = "library" + settings = "os", "arch", "compiler", "build_type" + options = { + "shared": [True, False], + "enable_openmp": [True, False], + "enable_opencl": [True, False], + "enable_neon": [True, False], + "enable_multi_isa": [True, False], + } + default_options = { + "shared": False, + "enable_openmp": False, + "enable_opencl": True, + "enable_neon": True, + "enable_multi_isa": False, + } + + @property + def _min_cppstd(self): + return 14 + + @property + def _compilers_minimum_version(self): + return { + "gcc": "6", + "clang": "5", + "apple-clang": "5.1", + } + + def config_options(self): + # INFO: Neon option is reserved to arm architecture + if "arm" not in str(self.settings.arch): + del self.options.enable_neon + # INFO: OpenMP option only works with g++, according to the documentation + if self.settings.compiler == "clang": + del self.options.enable_openmp + # INFO: OpenCL fails to build with MacOS + if self.settings.os == "Macos": + del self.options.enable_opencl + + def configure(self): + if self.options.shared: + self.options.rm_safe("fPIC") + + def layout(self): + basic_layout(self, src_folder="src") + + def build_requirements(self): + self.tool_requires("scons/4.3.0") + + def requirements(self): + if self.options.get_safe("enable_opencl"): + self.requires("opencl-headers/2023.04.17") + + def validate(self): + if self.settings.compiler.cppstd: + check_min_cppstd(self, self._min_cppstd) + minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) + if minimum_version and Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration(f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support.") + # INFO: https://github.com/ARM-software/ComputeLibrary#supported-systems + supported_os = ["Android", "Linux", "OpenBSD", "Macos", "Tizen", "Windows"] + if str(self.settings.os) not in supported_os: + raise ConanInvalidConfiguration(f"{self.ref} does not support {self.settings.os}. It is only supported on {supported_os}.") + if self.settings.os == "Windows": + if cross_building(self): + # INFO: https://arm-software.github.io/ComputeLibrary/latest/how_to_build.xhtml#S1_6_windows_host + raise ConanInvalidConfiguration(f"Using scons directly from the Windows command line is known to cause problems. Please, try native native build on Windows ARM or cross-build on Linux Ubuntu.") + if "arm" in str(self.settings.arch): + # INFO: https://arm-software.github.io/ComputeLibrary/latest/how_to_build.xhtml#S1_6_3_WoA + self.output.warn("Native builds on Windows are experimental and some features from the library interacting with the OS are missing.") + if "x86" in str(self.settings.arch): + raise ConanInvalidConfiguration(f"{self.ref} does not support native builds on Windows x86/x86_64. It is only supported on Windows ARM.") + if "arm" not in str(self.settings.arch) and "x86" not in str(self.settings.arch): + # INFO: https://github.com/ARM-software/ComputeLibrary#supported-architecturestechnologies + raise ConanInvalidConfiguration(f"{self.ref} does not support {self.settings.arch}. It is only supported on arm and x86.") + if "x86" in str(self.settings.arch) and self.settings.os != "Macos" and not self.options.get_safe("enable_opencl", False): + raise ConanInvalidConfiguration(f"{self.ref} can be built for x86_64 targets only with enable_neon=False and enable_opencl=True.") + if self.settings.os == "Linux" and self.settings.compiler == "clang": + # INFO: https://arm-software.github.io/ComputeLibrary/latest/how_to_build.xhtml#S1_2_linux + raise ConanInvalidConfiguration(f"{self.ref} does not support Linux with clang. It is only supported on Linux with gcc.") + if "armv8" not in str(self.settings.arch) and self.options.enable_multi_isa: + raise ConanInvalidConfiguration(f"{self.ref} does not support multi_isa option for {self.settings.arch}. It is only supported on armv8.") + if self.settings.arch == "armv8" and self.settings_build.arch == "x86_64" and self.settings.os == "Macos" and self.settings.compiler == "apple-clang": + raise ConanInvalidConfiguration(f"Mac Intel is not supported for armv8-a. Please, use Mac M1 as native build.") + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = AutotoolsToolchain(self) + tc.generate() + tc = AutotoolsDeps(self) + tc.generate() + tc = VirtualBuildEnv(self) + tc.generate(scope="build") + + def build(self): + # INFO: Using scons to build the library we don't have control over shared/static and install step, it is done all together always + # INFO: https://arm-software.github.io/ComputeLibrary/latest/how_to_build.xhtml + yes_no = lambda v: "1" if v else "0" + debug = yes_no(self.settings.build_type == "Debug") + build_os = str(self.settings.os).lower() + arch = {"armv8": "armv8a", "x86": "x86_32", "armv7": "armv7a", "armv7hf": "armv7a-hf"}.get(str(self.settings.arch), str(self.settings.arch)) + neon = yes_no(self.options.get_safe("enable_neon")) + opencl = yes_no(self.options.get_safe("enable_opencl", False)) + openmp = yes_no(self.options.get_safe("enable_openmp")) + multi_isa = yes_no(self.options.enable_multi_isa) + build = "cross_compile" if cross_building(self) else "native" + with chdir(self, self.source_folder): + self.run(f"scons Werror=0 validation_tests=0 examples=0 gemm_tuner=0 multi_isa={multi_isa} openmp={openmp} debug={debug} neon={neon} opencl={opencl} os={build_os} arch={arch} build={build} build_dir={self.build_folder} install_dir={self.package_folder} -j{build_jobs(self)} toolchain_prefix=''", env="conanbuild") + + def package(self): + copy(self, pattern="LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + # INFO: Artifacts are installed during build step, so we just need to remove what we don't want + rm(self, "*.bazel", self.package_folder, recursive=True) + rm(self, "*.cpp", self.package_folder, recursive=True) + if self.options.shared: + rm(self, "*.a", os.path.join(self.package_folder, "lib")) + else: + rm(self, "*.so*", os.path.join(self.package_folder, "lib")) + rm(self, "*.dylib*", os.path.join(self.package_folder, "lib")) + + def package_info(self): + suffix = "" if self.options.shared else "-static" + self.cpp_info.libs = [f"arm_compute{suffix}", f"arm_compute_core{suffix}", f"arm_compute_graph{suffix}"] + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.system_libs = ["m", "pthread"] diff --git a/recipes/compute_library/all/test_package/CMakeLists.txt b/recipes/compute_library/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..4c1184efde1e9 --- /dev/null +++ b/recipes/compute_library/all/test_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package CXX) + +find_package(compute_library REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE compute_library::compute_library) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_14) diff --git a/recipes/compute_library/all/test_package/conanfile.py b/recipes/compute_library/all/test_package/conanfile.py new file mode 100644 index 0000000000000..ef5d7042163ec --- /dev/null +++ b/recipes/compute_library/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/compute_library/all/test_package/test_package.cpp b/recipes/compute_library/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..2457b9908b8ac --- /dev/null +++ b/recipes/compute_library/all/test_package/test_package.cpp @@ -0,0 +1,11 @@ +#include +#include +#include "arm_compute/core/Version.h" + + +int main(void) { + std::cout << "ComputeLibrary information:" << std::endl; + std::cout << arm_compute::build_information() << std::endl; + + return EXIT_SUCCESS; +} diff --git a/recipes/compute_library/config.yml b/recipes/compute_library/config.yml new file mode 100644 index 0000000000000..118236bce990b --- /dev/null +++ b/recipes/compute_library/config.yml @@ -0,0 +1,5 @@ +versions: + "23.08": + folder: all + "23.02.1": + folder: all From 7e34b4c1879fb117a9292ae02ebf88e8d9679d77 Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 22 Aug 2024 20:49:31 +0900 Subject: [PATCH 399/641] (#24615) qcbor: add new version 1.4.1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * qcbor: add version 1.4 * update 1.4.1 * disable shared build on Windows * fix space chars * rm shared option in configure() * shared option should also be removed in config_options * Fix my own bug --------- Co-authored-by: Abril Rincón Blanco --- recipes/qcbor/all/conandata.yml | 7 +++++ recipes/qcbor/all/conanfile.py | 10 ++++--- .../all/patches/1.0-0001-fix-cmake.patch | 6 +---- .../all/patches/1.1-0001-fix-cmake.patch | 7 +---- .../all/patches/1.2-0001-fix-cmake.patch | 8 ++---- .../all/patches/1.4.1-0001-fix-cmake.patch | 26 +++++++++++++++++++ recipes/qcbor/config.yml | 2 ++ 7 files changed, 46 insertions(+), 20 deletions(-) create mode 100644 recipes/qcbor/all/patches/1.4.1-0001-fix-cmake.patch diff --git a/recipes/qcbor/all/conandata.yml b/recipes/qcbor/all/conandata.yml index 50bed9fddeba6..4df224b3ac475 100644 --- a/recipes/qcbor/all/conandata.yml +++ b/recipes/qcbor/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.4.1": + url: "https://github.com/laurencelundblade/QCBOR/archive/refs/tags/v1.4.1.tar.gz" + sha256: "c7ef031b60b23bf8ede47c66c9713982bba2608668b144280a65665bfcc94470" "1.3": url: "https://github.com/laurencelundblade/QCBOR/archive/refs/tags/v1.3.tar.gz" sha256: "5acd3f3e7b19aad074813736a8776e71859d57c4dec9bfb85cd1dc6c219c8033" @@ -12,6 +15,10 @@ sources: url: "https://github.com/laurencelundblade/QCBOR/archive/refs/tags/v1.0.tar.gz" sha256: "961a46eb5a599cc040bfce4f4fade4427e046f1748f37ba4ebbc097fb9cdf1d3" patches: + "1.4.1": + - patch_file: "patches/1.4.1-0001-fix-cmake.patch" + patch_description: "disable fix fPIC and add installation" + patch_type: "conan" "1.3": - patch_file: "patches/1.2-0001-fix-cmake.patch" patch_description: "disable fix fPIC and add installation" diff --git a/recipes/qcbor/all/conanfile.py b/recipes/qcbor/all/conanfile.py index 7d87de4445169..6c8cca49e3526 100644 --- a/recipes/qcbor/all/conanfile.py +++ b/recipes/qcbor/all/conanfile.py @@ -15,6 +15,7 @@ class QCBORConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/laurencelundblade/QCBOR" topics = ("serialization", "cbor", "rfc-7049", "rfc-8949") + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -38,20 +39,23 @@ def config_options(self): del self.options.disable_float def configure(self): - if self.options.shared: + if self.settings.os == "Windows": + self.package_type = "static-library" + del self.options.shared + if self.options.get_safe("shared"): self.options.rm_safe("fPIC") self.settings.rm_safe("compiler.libcxx") self.settings.rm_safe("compiler.cppstd") - def layout(self): cmake_layout(self, src_folder="src") def source(self): - get(self, **self.conan_data["sources"][self.version], destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): tc = CMakeToolchain(self) + tc.variables["BUILD_QCBOR_TEST"] = False if Version(self.version) >= "1.2": tc.variables["QCBOR_OPT_DISABLE_FLOAT_HW_USE"] = self.options.disable_float in ["HW_USE", "PREFERRED", "ALL"] tc.variables["QCBOR_OPT_DISABLE_FLOAT_PREFERRED"] = self.options.disable_float in ["PREFERRED", "ALL"] diff --git a/recipes/qcbor/all/patches/1.0-0001-fix-cmake.patch b/recipes/qcbor/all/patches/1.0-0001-fix-cmake.patch index d5f6fcb7e4dba..87fc6cae3601f 100644 --- a/recipes/qcbor/all/patches/1.0-0001-fix-cmake.patch +++ b/recipes/qcbor/all/patches/1.0-0001-fix-cmake.patch @@ -2,14 +2,10 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt index 8a5bcd0..744662e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -17,3 +17,18 @@ set(SOURCE +@@ -17,3 +17,14 @@ set(SOURCE ) add_library(qcbor ${SOURCE}) -+set_target_properties(qcbor PROPERTIES -+ WINDOWS_EXPORT_ALL_SYMBOLS ON -+) -+ +find_library(LIBM m) +target_link_libraries(qcbor PRIVATE $<$:${LIBM}>) + diff --git a/recipes/qcbor/all/patches/1.1-0001-fix-cmake.patch b/recipes/qcbor/all/patches/1.1-0001-fix-cmake.patch index e5969488c2420..ca95e01302dce 100644 --- a/recipes/qcbor/all/patches/1.1-0001-fix-cmake.patch +++ b/recipes/qcbor/all/patches/1.1-0001-fix-cmake.patch @@ -2,15 +2,10 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt index f0b67b9..4b00b8b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -17,3 +17,19 @@ set(SOURCE +@@ -17,3 +17,14 @@ set(SOURCE add_library(qcbor ${SOURCE}) target_include_directories(qcbor PUBLIC inc) -+ -+set_target_properties(qcbor PROPERTIES -+ WINDOWS_EXPORT_ALL_SYMBOLS ON -+) -+ +find_library(LIBM m) +target_link_libraries(qcbor PRIVATE $<$:${LIBM}>) + diff --git a/recipes/qcbor/all/patches/1.2-0001-fix-cmake.patch b/recipes/qcbor/all/patches/1.2-0001-fix-cmake.patch index 8b659e24ca0a3..f50844b0bec9a 100644 --- a/recipes/qcbor/all/patches/1.2-0001-fix-cmake.patch +++ b/recipes/qcbor/all/patches/1.2-0001-fix-cmake.patch @@ -2,7 +2,7 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt index 486946c..4234a59 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -58,10 +58,14 @@ target_compile_definitions(qcbor +@@ -58,10 +58,10 @@ target_compile_definitions(qcbor $<$:USEFULBUF_DISABLE_ALL_FLOAT> ) @@ -11,14 +11,10 @@ index 486946c..4234a59 100644 target_compile_options(qcbor PRIVATE -Os -fPIC) endif() -+set_target_properties(qcbor PROPERTIES -+ WINDOWS_EXPORT_ALL_SYMBOLS ON -+) -+ # The math library is needed for floating-point support. # To avoid need for it #define QCBOR_DISABLE_FLOAT_HW_USE if (CMAKE_C_COMPILER_ID STREQUAL "GNU") -@@ -75,3 +79,12 @@ endif() +@@ -75,3 +75,12 @@ endif() if (NOT BUILD_QCBOR_TEST STREQUAL "OFF") add_subdirectory(test) endif() diff --git a/recipes/qcbor/all/patches/1.4.1-0001-fix-cmake.patch b/recipes/qcbor/all/patches/1.4.1-0001-fix-cmake.patch new file mode 100644 index 0000000000000..81b3950d82ca7 --- /dev/null +++ b/recipes/qcbor/all/patches/1.4.1-0001-fix-cmake.patch @@ -0,0 +1,26 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index e4aa83f..4878a31 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -58,10 +58,10 @@ target_compile_definitions(qcbor + $<$:USEFULBUF_DISABLE_ALL_FLOAT> + ) + +-if (BUILD_SHARED_LIBS) ++if (0) + target_compile_options(qcbor PRIVATE -Os -fPIC) + endif() + + # The math library is needed for floating-point support. + # To avoid need for it #define QCBOR_DISABLE_FLOAT_HW_USE + if (CMAKE_C_COMPILER_ID STREQUAL "GNU") +@@ -88,6 +88,9 @@ set_target_properties( + include(GNUInstallDirs) + install( + TARGETS qcbor ++ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} ++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} + PUBLIC_HEADER DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/qcbor" + ) + diff --git a/recipes/qcbor/config.yml b/recipes/qcbor/config.yml index 2bbd629f9a807..92a8a4234a53e 100644 --- a/recipes/qcbor/config.yml +++ b/recipes/qcbor/config.yml @@ -1,4 +1,6 @@ versions: + "1.4.1": + folder: all "1.3": folder: all "1.2": From 67676a2b33e737b2ac7d292a7035a76c359d1cab Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 22 Aug 2024 21:50:56 +0900 Subject: [PATCH 400/641] (#24661) benchmark: add new versions 1.9.0 and 1.8.5 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * benchmark: add version 1.8.5 * relax _min_cppstd() Co-authored-by: Martin Valgur * Let conan decide the cppstd, properly model min_cppstd * Add version 1.9.0 * CXX_STANDARD was not hardcoded before 1.7.1 --------- Co-authored-by: Martin Valgur Co-authored-by: Abril Rincón Blanco --- recipes/benchmark/all/conandata.yml | 7 +++++ recipes/benchmark/all/conanfile.py | 43 +++++++++++++++++++++++++++-- recipes/benchmark/config.yml | 4 +++ 3 files changed, 52 insertions(+), 2 deletions(-) diff --git a/recipes/benchmark/all/conandata.yml b/recipes/benchmark/all/conandata.yml index 102609d9c75c2..fac51279a430d 100644 --- a/recipes/benchmark/all/conandata.yml +++ b/recipes/benchmark/all/conandata.yml @@ -1,4 +1,11 @@ sources: + "1.9.0": + url: "https://github.com/google/benchmark/archive/refs/tags/v1.9.0.tar.gz" + sha256: "35a77f46cc782b16fac8d3b107fbfbb37dcd645f7c28eee19f3b8e0758b48994" + "1.8.5": + url: "https://github.com/google/benchmark/archive/refs/tags/v1.8.5.tar.gz" + sha256: "d26789a2b46d8808a48a4556ee58ccc7c497fcd4c0af9b90197674a81e04798a" + # keep 1.8.4, the last release for c++11 "1.8.4": url: "https://github.com/google/benchmark/archive/refs/tags/v1.8.4.tar.gz" sha256: "3e7059b6b11fb1bbe28e33e02519398ca94c1818874ebed18e504dc6f709be45" diff --git a/recipes/benchmark/all/conanfile.py b/recipes/benchmark/all/conanfile.py index 65bfbc736fc66..ff99379d8d400 100644 --- a/recipes/benchmark/all/conanfile.py +++ b/recipes/benchmark/all/conanfile.py @@ -1,8 +1,8 @@ from conan import ConanFile from conan.errors import ConanInvalidConfiguration -from conan.tools.build import cross_building +from conan.tools.build import cross_building, check_min_cppstd from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout -from conan.tools.files import copy, get, rmdir +from conan.tools.files import copy, get, rmdir, replace_in_file from conan.tools.microsoft import is_msvc, check_min_vs from conan.tools.scm import Version import os @@ -35,6 +35,26 @@ class BenchmarkConan(ConanFile): "enable_libpfm": False, } + @property + def _min_cppstd(self): + if Version(self.version) >= "1.8.5": + return 14 + if is_msvc(self): + return 14 + return 11 + + @property + def _compilers_minimum_version(self): + return { + "14": { + "apple-clang": "10", + "clang": "7", + "gcc": "7", + "msvc": "191", + "Visual Studio": "15", + } + }.get(self._min_cppstd, {}) + def config_options(self): if self.settings.os == "Windows": del self.options.fPIC @@ -49,6 +69,14 @@ def layout(self): cmake_layout(self, src_folder="src") def validate(self): + if self.settings.compiler.cppstd: + check_min_cppstd(self, self._min_cppstd) + minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) + if minimum_version and Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration( + f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." + ) + check_min_vs(self, "190") if Version(self.version) < "1.7.0" and is_msvc(self) and self.options.shared: raise ConanInvalidConfiguration(f"{self.ref} doesn't support msvc shared builds") @@ -71,6 +99,8 @@ def generate(self): tc.variables["BENCHMARK_ENABLE_LTO"] = self.options.enable_lto tc.variables["BENCHMARK_ENABLE_EXCEPTIONS"] = self.options.enable_exceptions tc.variables["BENCHMARK_ENABLE_LIBPFM"] = self.options.get_safe("enable_libpfm", False) + if not self.settings.compiler.cppstd: + tc.cache_variables["CMAKE_CXX_STANDARD"] = self._min_cppstd if Version(self.version) >= "1.6.1": tc.variables["BENCHMARK_ENABLE_WERROR"] = False tc.variables["BENCHMARK_FORCE_WERROR"] = False @@ -83,8 +113,17 @@ def generate(self): else: tc.variables["BENCHMARK_USE_LIBCXX"] = False tc.generate() + + def _patch_sources(self): + if Version(self.version) > "1.7.0": + replace_in_file(self, + os.path.join(self.source_folder, "CMakeLists.txt"), + "set(CMAKE_CXX_STANDARD", + "#" + ) def build(self): + self._patch_sources() cmake = CMake(self) cmake.configure() cmake.build() diff --git a/recipes/benchmark/config.yml b/recipes/benchmark/config.yml index 13430070c7797..f5694a4c32d21 100644 --- a/recipes/benchmark/config.yml +++ b/recipes/benchmark/config.yml @@ -1,4 +1,8 @@ versions: + "1.9.0": + folder: all + "1.8.5": + folder: all "1.8.4": folder: all "1.8.3": From 5217c759937cae20e765436887912da937f60a46 Mon Sep 17 00:00:00 2001 From: tbeu Date: Thu, 22 Aug 2024 15:53:56 +0200 Subject: [PATCH 401/641] (#24950) hdf5; Fix broken URL --- recipes/hdf5/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/hdf5/all/conanfile.py b/recipes/hdf5/all/conanfile.py index 5a2f1eb605129..578e4cc1795c2 100644 --- a/recipes/hdf5/all/conanfile.py +++ b/recipes/hdf5/all/conanfile.py @@ -17,7 +17,7 @@ class Hdf5Conan(ConanFile): description = "HDF5 is a data model, library, and file format for storing and managing data." license = "BSD-3-Clause" topics = "hdf", "data" - homepage = "https://portal.hdfgroup.org/display/HDF5/HDF5" + homepage = "https://www.hdfgroup.org/solutions/hdf5/" url = "https://github.com/conan-io/conan-center-index" package_type = "library" settings = "os", "arch", "compiler", "build_type" From e0940b24eb35d027b19d489c9bbf124179806302 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Thu, 22 Aug 2024 17:29:34 +0300 Subject: [PATCH 402/641] (#24631) geographiclib: add v2.4 --- recipes/geographiclib/all/conandata.yml | 3 ++ recipes/geographiclib/all/conanfile.py | 66 +++++++++++++++++-------- recipes/geographiclib/config.yml | 2 + 3 files changed, 50 insertions(+), 21 deletions(-) diff --git a/recipes/geographiclib/all/conandata.yml b/recipes/geographiclib/all/conandata.yml index 1f35984a98249..6f7b35b699b25 100644 --- a/recipes/geographiclib/all/conandata.yml +++ b/recipes/geographiclib/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.4": + url: "https://github.com/geographiclib/geographiclib/archive/refs/tags/v2.4.tar.gz" + sha256: "aa7edc6d86fcc297be6e6d6d53ddb6e622a46ef36fe9317335cac91bf471b5a9" "2.3": url: "https://github.com/geographiclib/geographiclib/archive/refs/tags/v2.3.tar.gz" sha256: "18131077061ef8be14064f073f6dba2897a138519733803af807f861a01976c1" diff --git a/recipes/geographiclib/all/conanfile.py b/recipes/geographiclib/all/conanfile.py index 9f1c405b1f7f1..62fa23933a44e 100644 --- a/recipes/geographiclib/all/conanfile.py +++ b/recipes/geographiclib/all/conanfile.py @@ -2,6 +2,7 @@ from conan.errors import ConanInvalidConfiguration from conan.tools.build import check_min_cppstd from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout +from conan.tools.env import VirtualBuildEnv from conan.tools.files import ( apply_conandata_patches, copy, export_conandata_patches, get, replace_in_file, rm, rmdir, collect_libs @@ -35,6 +36,35 @@ class GeographiclibConan(ConanFile): "tools": True, } + @property + def _min_cppstd(self): + if Version(self.version) >= "2.4": + return 14 + if Version(self.version) >= "1.51": + return 11 + return None + + @property + def _compilers_minimum_version(self): + if self._min_cppstd == 11: + # Minimum compiler version having C++11 math functions + return { + "apple-clang": "3.3", + "gcc": "4.9", + "clang": "6", + "Visual Studio": "14", # guess + "msvc": "190", + } + elif self._min_cppstd == 14: + return { + "gcc": "7", + "clang": "6", + "Visual Studio": "16", + "msvc": "192", + "apple-clang": "14", + } + return {} + def export_sources(self): export_conandata_patches(self) @@ -49,36 +79,28 @@ def configure(self): def layout(self): cmake_layout(self, src_folder="src") - @property - def _compilers_minimum_version(self): - # Minimum compiler version having C++11 math functions - return { - "apple-clang": "3.3", - "gcc": "4.9", - "clang": "6", - "Visual Studio": "14", # guess - "msvc": "190", - } - def validate(self): - if Version(self.version) >= "1.51": - if self.settings.compiler.get_safe("cppstd"): - check_min_cppstd(self, 11) + if self.settings.compiler.get_safe("cppstd") and self._min_cppstd: + check_min_cppstd(self, self._min_cppstd) - def loose_lt_semver(v1, v2): - return all(int(p1) < int(p2) for p1, p2 in zip(str(v1).split("."), str(v2).split("."))) + def loose_lt_semver(v1, v2): + return all(int(p1) < int(p2) for p1, p2 in zip(str(v1).split("."), str(v2).split("."))) - minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) - if minimum_version and loose_lt_semver(str(self.settings.compiler.version), minimum_version): - raise ConanInvalidConfiguration( - f"{self.ref} requires C++11 math functions, which your compiler does not support." - ) + minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) + if minimum_version and loose_lt_semver(str(self.settings.compiler.version), minimum_version): + raise ConanInvalidConfiguration( + f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." + ) if self.options.precision not in ["float", "double"]: # FIXME: add support for extended, quadruple and variable precisions # (may require external libs: boost multiprecision for quadruple, mpfr for variable) raise ConanInvalidConfiguration("extended, quadruple and variable precisions not yet supported in this recipe") + def build_requirements(self): + if Version(self.version) >= "2.4": + self.tool_requires("cmake/[>=3.16 <4]") + def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) @@ -98,6 +120,8 @@ def generate(self): tc.variables["GEOGRAPHICLIB_PRECISION"] = self._cmake_option_precision tc.generate() + VirtualBuildEnv(self).generate() + def _patch_sources(self): apply_conandata_patches(self) cmakelists = os.path.join(self.source_folder, "CMakeLists.txt") diff --git a/recipes/geographiclib/config.yml b/recipes/geographiclib/config.yml index 23b0bc998f804..2557b05844a79 100644 --- a/recipes/geographiclib/config.yml +++ b/recipes/geographiclib/config.yml @@ -1,4 +1,6 @@ versions: + "2.4": + folder: all "2.3": folder: all "1.52": From 1271114800e1c886125a63d4be7aa49fe837d735 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Francisco=20Ram=C3=ADrez?= Date: Thu, 22 Aug 2024 22:21:59 +0200 Subject: [PATCH 403/641] (#25021) [bugfix] tensorflow-lite and gcc-13 --- recipes/tensorflow-lite/all/conandata.yml | 8 ++++++++ .../2.10.0-0004-use-add-stdint-for-int-types.patch | 12 ++++++++++++ .../2.12.0-0004-use-add-stdint-for-int-types.patch | 12 ++++++++++++ 3 files changed, 32 insertions(+) create mode 100644 recipes/tensorflow-lite/all/patches/2.10.0-0004-use-add-stdint-for-int-types.patch create mode 100644 recipes/tensorflow-lite/all/patches/2.12.0-0004-use-add-stdint-for-int-types.patch diff --git a/recipes/tensorflow-lite/all/conandata.yml b/recipes/tensorflow-lite/all/conandata.yml index bc007fbaf2a68..ab25e5805cf91 100644 --- a/recipes/tensorflow-lite/all/conandata.yml +++ b/recipes/tensorflow-lite/all/conandata.yml @@ -30,6 +30,10 @@ patches: - patch_file: "patches/2.12.0-0003-use-cci-dependencies.patch" patch_description: "Dependency compatibility: Patch CMakeLists.txt, updating package names, target names, etc" patch_type: "conan" + - patch_file: "patches/2.12.0-0004-use-add-stdint-for-int-types.patch" + patch_description: "Add stdint.h for int types in internal::Spectrogram" + patch_type: "bugfix" + patch_source: "https://github.com/tensorflow/tensorflow/pull/60299" "2.10.0": - patch_file: "patches/2.10.0-0001-remove_simple_memory_arena_debug_dump.patch" patch_description: "Shared build fails on Windows with error LNK2005. Resolve the conflict by removing the conflicting implementation for now." @@ -39,3 +43,7 @@ patches: - patch_file: "patches/2.10.0-0003-use-cci-dependencies.patch" patch_description: "Dependency compatibility: Patch CMakeLists.txt, updating package names, target names, etc" patch_type: "conan" + - patch_file: "patches/2.10.0-0004-use-add-stdint-for-int-types.patch" + patch_description: "Add stdint.h for int types in internal::Spectrogram" + patch_type: "bugfix" + patch_source: "https://github.com/tensorflow/tensorflow/pull/60299" diff --git a/recipes/tensorflow-lite/all/patches/2.10.0-0004-use-add-stdint-for-int-types.patch b/recipes/tensorflow-lite/all/patches/2.10.0-0004-use-add-stdint-for-int-types.patch new file mode 100644 index 0000000000000..b57b09d18bd58 --- /dev/null +++ b/recipes/tensorflow-lite/all/patches/2.10.0-0004-use-add-stdint-for-int-types.patch @@ -0,0 +1,12 @@ +diff --git a/tensorflow/lite/kernels/internal/spectrogram.cc b/tensorflow/lite/kernels/internal/spectrogram.cc +index a832962a..919eebeb 100644 +--- a/tensorflow/lite/kernels/internal/spectrogram.cc ++++ b/tensorflow/lite/kernels/internal/spectrogram.cc +@@ -17,6 +17,7 @@ limitations under the License. + + #include + #include ++#include + + #include "third_party/fft2d/fft.h" + diff --git a/recipes/tensorflow-lite/all/patches/2.12.0-0004-use-add-stdint-for-int-types.patch b/recipes/tensorflow-lite/all/patches/2.12.0-0004-use-add-stdint-for-int-types.patch new file mode 100644 index 0000000000000..b57b09d18bd58 --- /dev/null +++ b/recipes/tensorflow-lite/all/patches/2.12.0-0004-use-add-stdint-for-int-types.patch @@ -0,0 +1,12 @@ +diff --git a/tensorflow/lite/kernels/internal/spectrogram.cc b/tensorflow/lite/kernels/internal/spectrogram.cc +index a832962a..919eebeb 100644 +--- a/tensorflow/lite/kernels/internal/spectrogram.cc ++++ b/tensorflow/lite/kernels/internal/spectrogram.cc +@@ -17,6 +17,7 @@ limitations under the License. + + #include + #include ++#include + + #include "third_party/fft2d/fft.h" + From 3c0ef8d560175888162a7b1ceac22d90abd0e691 Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 23 Aug 2024 05:51:01 +0900 Subject: [PATCH 404/641] (#24992) sqlcipher: add version 4.6.1 * sqlcipher: add version 4.6.1 * revert 4.6.0 --- recipes/sqlcipher/all/conandata.yml | 7 + .../all/patches/Makefile.in-v4.5.7.patch | 18 -- .../all/patches/Makefile.in-v4.6.1.patch | 27 +++ .../all/patches/Makefile.msc-v4.6.1.patch | 160 ++++++++++++++++++ recipes/sqlcipher/config.yml | 2 + 5 files changed, 196 insertions(+), 18 deletions(-) create mode 100644 recipes/sqlcipher/all/patches/Makefile.in-v4.6.1.patch create mode 100644 recipes/sqlcipher/all/patches/Makefile.msc-v4.6.1.patch diff --git a/recipes/sqlcipher/all/conandata.yml b/recipes/sqlcipher/all/conandata.yml index 3d9822ef95d64..5d877e92e6fb1 100644 --- a/recipes/sqlcipher/all/conandata.yml +++ b/recipes/sqlcipher/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "4.6.1": + url: "https://github.com/sqlcipher/sqlcipher/archive/v4.6.1.zip" + sha256: "93a7475183d47e2d33f85aefa7518e8730796f103612d36ae191ae56209104e0" "4.6.0": url: "https://github.com/sqlcipher/sqlcipher/archive/v4.6.0.zip" sha256: "2d41ba2bf09c74a488f546551f65f0fa8517413307a0509dd2c87d66df6bff95" @@ -27,6 +30,10 @@ sources: url: "https://github.com/sqlcipher/sqlcipher/archive/v4.3.0.zip" sha256: "41e1408465488e9c478ca5b7c5f8410405a10caa73b82db60ac115a76c563c05" patches: + "4.6.1": + - patch_file: patches/Makefile.in-v4.6.1.patch + - patch_file: patches/Makefile.msc-v4.6.1.patch + - patch_file: patches/fix_configure-v4.5.7.patch "4.6.0": - patch_file: patches/Makefile.in-v4.5.7.patch - patch_file: patches/Makefile.msc-v4.5.7.patch diff --git a/recipes/sqlcipher/all/patches/Makefile.in-v4.5.7.patch b/recipes/sqlcipher/all/patches/Makefile.in-v4.5.7.patch index 63b0b52972962..8c0ff8f52c2da 100644 --- a/recipes/sqlcipher/all/patches/Makefile.in-v4.5.7.patch +++ b/recipes/sqlcipher/all/patches/Makefile.in-v4.5.7.patch @@ -12,15 +12,6 @@ index ce2617c..77242fc 100644 Makefile: $(TOP)/Makefile.in ./config.status -@@ -1367,7 +1366,7 @@ fulltestonly: $(TESTPROGS) fuzztest - # Fuzz testing - # - # WARNING: When the "fuzztest" target is run by the testrunner.tcl script, --# it does not actually run this code. Instead, it schedules equivalent -+# it does not actually run this code. Instead, it schedules equivalent - # commands. Therefore, if this target is updated, then code in - # testrunner_data.tcl (search for "trd_fuzztest_data") must also be updated. - # @@ -1579,9 +1578,8 @@ lib_install: libsqlcipher.la $(INSTALL) -d $(DESTDIR)$(libdir) $(LTINSTALL) libsqlcipher.la $(DESTDIR)$(libdir) @@ -32,12 +23,3 @@ index ce2617c..77242fc 100644 $(INSTALL) -d $(DESTDIR)$(includedir) $(INSTALL) -m 0644 sqlite3.h $(DESTDIR)$(includedir) $(INSTALL) -m 0644 $(TOP)/src/sqlite3ext.h $(DESTDIR)$(includedir) -@@ -1596,7 +1594,7 @@ tcl_install: lib_install libtclsqlite3.la pkgIndex.tcl - rm -f $(DESTDIR)$(TCLLIBDIR)/libtclsqlite3.la $(DESTDIR)$(TCLLIBDIR)/libtclsqlite3.a - $(INSTALL) -m 0644 pkgIndex.tcl $(DESTDIR)$(TCLLIBDIR) - --clean: -+clean: - rm -f *.lo *.la *.o sqlcipher$(TEXE) libsqlcipher.la - rm -f sqlite3.h opcodes.* - rm -rf .libs .deps diff --git a/recipes/sqlcipher/all/patches/Makefile.in-v4.6.1.patch b/recipes/sqlcipher/all/patches/Makefile.in-v4.6.1.patch new file mode 100644 index 0000000000000..318c717c81e5a --- /dev/null +++ b/recipes/sqlcipher/all/patches/Makefile.in-v4.6.1.patch @@ -0,0 +1,27 @@ +diff --git a/Makefile.in b/Makefile.in +index 8431c25..2c1d4fd 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -676,8 +676,8 @@ SQLITE3_SHELL_TARGET = $(SQLITE3_SHELL_TARGET_@HAVE_WASI_SDK@) + # This is the default Makefile target. The objects listed here + # are what get build when you type just "make" with no arguments. + # +-all: sqlite3.h libsqlcipher.la $(SQLITE3_SHELL_TARGET) \ +- $(HAVE_TCL:1=libtclsqlite3.la) ++all: sqlite3.h libsqlcipher.la ++ + + Makefile: $(TOP)/Makefile.in + ./config.status +@@ -1578,9 +1578,9 @@ lib_install: libsqlcipher.la + $(INSTALL) -d $(DESTDIR)$(libdir) + $(LTINSTALL) libsqlcipher.la $(DESTDIR)$(libdir) + +-install: sqlcipher$(TEXE) lib_install sqlite3.h sqlcipher.pc ${HAVE_TCL:1=tcl_install} ++install: lib_install sqlite3.h sqlcipher.pc + $(INSTALL) -d $(DESTDIR)$(bindir) +- $(LTINSTALL) sqlcipher$(TEXE) $(DESTDIR)$(bindir) ++# $(LTINSTALL) sqlcipher$(TEXE) $(DESTDIR)$(bindir) + $(INSTALL) -d $(DESTDIR)$(includedir) + $(INSTALL) -m 0644 sqlite3.h $(DESTDIR)$(includedir) + $(INSTALL) -m 0644 $(TOP)/src/sqlite3ext.h $(DESTDIR)$(includedir) diff --git a/recipes/sqlcipher/all/patches/Makefile.msc-v4.6.1.patch b/recipes/sqlcipher/all/patches/Makefile.msc-v4.6.1.patch new file mode 100644 index 0000000000000..7edea48493167 --- /dev/null +++ b/recipes/sqlcipher/all/patches/Makefile.msc-v4.6.1.patch @@ -0,0 +1,160 @@ +diff --git a/Makefile.msc b/Makefile.msc +index d46cee1..899ce6a 100644 +--- a/Makefile.msc ++++ b/Makefile.msc +@@ -306,9 +306,9 @@ SQLITE3H = sqlite3.h + # + !IFNDEF SQLITE3DLL + !IF $(FOR_WIN10)!=0 +-SQLITE3DLL = winsqlite3.dll ++SQLITE3DLL = sqlcipher.dll + !ELSE +-SQLITE3DLL = sqlite3.dll ++SQLITE3DLL = sqlcipher.dll + !ENDIF + !ENDIF + +@@ -316,9 +316,9 @@ SQLITE3DLL = sqlite3.dll + # + !IFNDEF SQLITE3LIB + !IF $(FOR_WIN10)!=0 +-SQLITE3LIB = winsqlite3.lib ++SQLITE3LIB = sqlcipher.lib + !ELSE +-SQLITE3LIB = sqlite3.lib ++SQLITE3LIB = sqlcipher.lib + !ENDIF + !ENDIF + +@@ -703,7 +703,7 @@ SHELL_CORE_SRC = $(SQLITE3C) + SHELL_CORE_DEP = $(SQLITE3DLL) + # <> + !ELSEIF $(USE_AMALGAMATION)==0 +-SHELL_CORE_DEP = libsqlite3.lib ++SHELL_CORE_DEP = sqlcipher.lib + # <> + !ELSE + SHELL_CORE_DEP = +@@ -726,7 +726,7 @@ TESTFIXTURE_DEP = zlib $(TESTFIXTURE_DEP) + SHELL_CORE_LIB = $(SQLITE3LIB) + # <> + !ELSEIF $(USE_AMALGAMATION)==0 +-SHELL_CORE_LIB = libsqlite3.lib ++SHELL_CORE_LIB = sqlcipher.lib + # <> + !ELSE + SHELL_CORE_LIB = +@@ -761,8 +761,9 @@ RCC = $(RCC) -DWINAPI_FAMILY=WINAPI_FAMILY_APP + # C compiler options for the Windows 10 platform (needs MSVC 2015). + # + !IF $(FOR_WIN10)!=0 +-TCC = $(TCC) /d2guard4 -D_ARM_WINAPI_PARTITION_DESKTOP_SDK_AVAILABLE +-BCC = $(BCC) /d2guard4 -D_ARM_WINAPI_PARTITION_DESKTOP_SDK_AVAILABLE ++# /d2guard4 requires /guard:cf to be present as well, but it doesn't work with /Zi (Debug builds) ++TCC = $(TCC) -D_ARM_WINAPI_PARTITION_DESKTOP_SDK_AVAILABLE ++BCC = $(BCC) -D_ARM_WINAPI_PARTITION_DESKTOP_SDK_AVAILABLE + !ENDIF + + # Also, we need to dynamically link to the correct MSVC runtime +@@ -1046,8 +1047,9 @@ TLIBS = + # default to file, 2 to default to memory, and 3 to force temporary + # tables to always be in memory. + # +-TCC = $(TCC) -DSQLITE_TEMP_STORE=1 +-RCC = $(RCC) -DSQLITE_TEMP_STORE=1 ++# Allow overriding the value ++TCC = $(TCC) -DSQLITE_TEMP_STORE=$(SQLITE_TEMP_STORE) ++RCC = $(RCC) -DSQLITE_TEMP_STORE=$(SQLITE_TEMP_STORE) + + # Enable/disable loadable extensions, and other optional features + # based on configuration. (-DSQLITE_OMIT*, -DSQLITE_ENABLE*). +@@ -1213,14 +1215,15 @@ LTLINKOPTS = $(LTLINKOPTS) "/LIBPATH:$(WP81LIBPATH)" + !ENDIF + LTLINKOPTS = $(LTLINKOPTS) /DYNAMICBASE + LTLINKOPTS = $(LTLINKOPTS) WindowsPhoneCore.lib RuntimeObject.lib PhoneAppModelHost.lib +-LTLINKOPTS = $(LTLINKOPTS) /NODEFAULTLIB:kernel32.lib /NODEFAULTLIB:ole32.lib ++# Remove /NODEFAULTLIB:kernel32.lib, required by OpenSSL + !ENDIF + + # When compiling for UWP or the Windows 10 platform, some extra linker + # options are also required. + # + !IF $(FOR_UWP)!=0 || $(FOR_WIN10)!=0 +-LTLINKOPTS = $(LTLINKOPTS) /DYNAMICBASE /NODEFAULTLIB:kernel32.lib ++# Remove /NODEFAULTLIB:kernel32.lib, required by OpenSSL ++LTLINKOPTS = $(LTLINKOPTS) /DYNAMICBASE + LTLINKOPTS = $(LTLINKOPTS) mincore.lib + !IFDEF PSDKLIBPATH + LTLINKOPTS = $(LTLINKOPTS) "/LIBPATH:$(PSDKLIBPATH)" +@@ -1275,7 +1278,7 @@ LTLIBS = $(LTLIBS) $(LIBICU) + # + LIBOBJS0 = vdbe.lo parse.lo alter.lo analyze.lo attach.lo auth.lo \ + backup.lo bitvec.lo btmutex.lo btree.lo build.lo \ +- callback.lo complete.lo ctime.lo \ ++ callback.lo complete.lo crypto.lo crypto_impl.lo crypto_openssl.lo ctime.lo \ + date.lo dbpage.lo dbstat.lo delete.lo \ + expr.lo fault.lo fkey.lo \ + fts3.lo fts3_aux.lo fts3_expr.lo fts3_hash.lo fts3_icu.lo \ +@@ -1786,7 +1789,7 @@ ALL_TCL_TARGETS = + # This is the default Makefile target. The objects listed here + # are what get build when you type just "make" with no arguments. + # +-core: dll libsqlite3.lib shell ++core: dll sqlcipher.lib shell + + # Targets that require the Tcl library. + # +@@ -1805,11 +1808,12 @@ dll: $(SQLITE3DLL) + shell: $(SQLITE3EXE) + + # <> +-libsqlite3.lib: $(LIBOBJ) +- $(LTLIB) $(LTLIBOPTS) /OUT:$@ $(LIBOBJ) $(TLIBS) ++# LTLIBPATHS is required to find the openssl/libressl libs ++sqlcipher.lib: $(LIBOBJ) ++ $(LTLIB) $(LTLIBPATHS) $(LTLIBOPTS) /OUT:$@ $(LIBOBJ) $(TLIBS) + +-libtclsqlite3.lib: tclsqlite.lo libsqlite3.lib +- $(LTLIB) $(LTLIBOPTS) $(TCLLIBPATHS) $(LTLIBPATHS) /OUT:$@ tclsqlite.lo libsqlite3.lib $(LIBTCLSTUB) $(TLIBS) ++libtclsqlite3.lib: tclsqlite.lo sqlcipher.lib ++ $(LTLIB) $(LTLIBOPTS) $(TCLLIBPATHS) $(LTLIBPATHS) /OUT:$@ tclsqlite.lo sqlcipher.lib $(LIBTCLSTUB) $(TLIBS) + + tclsqlite3.def: tclsqlite.lo + echo EXPORTS > tclsqlite3.def +@@ -1831,9 +1835,9 @@ $(SQLITE3DLL): $(LIBOBJ) $(LIBRESOBJS) $(CORE_LINK_DEP) + $(LD) $(LDFLAGS) $(LTLINKOPTS) $(LTLIBPATHS) /DLL $(CORE_LINK_OPTS) /OUT:$@ $(LIBOBJ) $(LIBRESOBJS) $(LTLIBS) $(TLIBS) + + # <> +-sqlite3.def: libsqlite3.lib ++sqlite3.def: sqlcipher.lib + echo EXPORTS > sqlite3.def +- dumpbin /all libsqlite3.lib \ ++ dumpbin /all sqlcipher.lib \ + | $(TCLSH_CMD) $(TOP)\tool\replace.tcl include "^\s+1 _?(sqlite3(?:session|changeset|changegroup|rebaser|rbu)?_[^@]*)(?:@\d+)?$$" \1 \ + | sort >> sqlite3.def + # <> +@@ -2020,6 +2024,15 @@ callback.lo: $(TOP)\src\callback.c $(HDR) + complete.lo: $(TOP)\src\complete.c $(HDR) + $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\complete.c + ++crypto.lo: $(TOP)\src\crypto.c $(HDR) ++ $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\crypto.c ++ ++crypto_impl.lo: $(TOP)\src\crypto_impl.c $(HDR) ++ $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\crypto_impl.c ++ ++crypto_openssl.lo: $(TOP)\src\crypto_openssl.c $(HDR) ++ $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\crypto_openssl.c ++ + ctime.lo: $(TOP)\src\ctime.c $(HDR) + $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\ctime.c + +@@ -2444,7 +2457,7 @@ sqlite3rbu.lo: $(TOP)\ext\rbu\sqlite3rbu.c $(HDR) $(EXTHDR) + # Rules to build the 'testfixture' application. + # + # If using the amalgamation, use sqlite3.c directly to build the test +-# fixture. Otherwise link against libsqlite3.lib. (This distinction is ++# fixture. Otherwise link against sqlcipher.lib. (This distinction is + # necessary because the test fixture requires non-API symbols which are + # hidden when the library is built via the amalgamation). + # diff --git a/recipes/sqlcipher/config.yml b/recipes/sqlcipher/config.yml index 05e71e5640551..b3abcbf305759 100644 --- a/recipes/sqlcipher/config.yml +++ b/recipes/sqlcipher/config.yml @@ -1,4 +1,6 @@ versions: + "4.6.1": + folder: all "4.6.0": folder: all "4.5.7": From 7d72c881302a682fc3d022df6c2daf770796a6a4 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Fri, 23 Aug 2024 00:50:47 +0300 Subject: [PATCH 405/641] (#25023) assimp: add v5.4.2 --- recipes/assimp/5.x/conandata.yml | 3 +++ recipes/assimp/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/assimp/5.x/conandata.yml b/recipes/assimp/5.x/conandata.yml index 503614eeac72a..e267d49bf4f17 100644 --- a/recipes/assimp/5.x/conandata.yml +++ b/recipes/assimp/5.x/conandata.yml @@ -1,4 +1,7 @@ sources: + "5.4.2": + url: "https://github.com/assimp/assimp/archive/refs/tags/v5.4.2.tar.gz" + sha256: "7414861a7b038e407b510e8b8c9e58d5bf8ca76c9dfe07a01d20af388ec5086a" "5.4.1": url: "https://github.com/assimp/assimp/archive/refs/tags/v5.4.1.tar.gz" sha256: "a1bf71c4eb851ca336bba301730cd072b366403e98e3739d6a024f6313b8f954" diff --git a/recipes/assimp/config.yml b/recipes/assimp/config.yml index e3725a7b77888..e0bd8dc212a2c 100644 --- a/recipes/assimp/config.yml +++ b/recipes/assimp/config.yml @@ -1,4 +1,6 @@ versions: + "5.4.2": + folder: "5.x" "5.4.1": folder: "5.x" "5.3.1": From 4df7142660345ce4a0cc073e958df283a32133e7 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Fri, 23 Aug 2024 09:52:54 +0200 Subject: [PATCH 406/641] (#23135) itk: security, conflicts, use libpng version range, bump deps MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * itk: use libpng version range, bump deps * itk: bump deps fix conflict with opencv fix using vulnerable version of expat * bump expat * use version range for expat * Validate out macos compilation for old versions, see https://discourse.itk.org/t/error-building-v5-1-1-for-mac-big-sur-11-2-3/3959 --------- Co-authored-by: Abril Rincón Blanco --- recipes/itk/all/conanfile.py | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/recipes/itk/all/conanfile.py b/recipes/itk/all/conanfile.py index c9a9ded1e49f4..61b826eb365a1 100644 --- a/recipes/itk/all/conanfile.py +++ b/recipes/itk/all/conanfile.py @@ -69,14 +69,14 @@ def requirements(self): #self.requires("dcmtk/3.6.7") self.requires("double-conversion/3.3.0") self.requires("eigen/3.4.0") - self.requires("expat/2.5.0") + self.requires("expat/[>=2.6.2 <3]") self.requires("fftw/3.3.10") - self.requires("gdcm/3.0.21") - self.requires("hdf5/1.14.1") + self.requires("gdcm/3.0.23") + self.requires("hdf5/1.14.3") self.requires("libjpeg/9e") - self.requires("libpng/1.6.40") - self.requires("libtiff/4.5.1") - self.requires("openjpeg/2.5.0") + self.requires("libpng/[>=1.6 <2]") + self.requires("libtiff/4.6.0") + self.requires("openjpeg/2.5.2") self.requires("onetbb/2021.9.0") self.requires("zlib/[>=1.2.11 <2]") @@ -93,6 +93,9 @@ def validate(self): raise ConanInvalidConfiguration( f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." ) + if Version(self.version) < "5.2" and self.settings.os == "Macos": + raise ConanInvalidConfiguration(f"{self.ref} fails to compile in {self.settings.os}, fixed in 5.2.0") + def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) From 98a1ab254294298ce3ced5b001f3f4ad004fa080 Mon Sep 17 00:00:00 2001 From: Jordan Williams Date: Fri, 23 Aug 2024 04:10:01 -0500 Subject: [PATCH 407/641] (#24716) boost-ext-ut: Add version 2.1.0 * boost-ext-ut: Add version 2.1.0 * fix: Clang + libstdc++ error --------- Co-authored-by: Ernesto de Gracia Herranz --- recipes/boost-ext-ut/all/conandata.yml | 3 +++ recipes/boost-ext-ut/all/conanfile.py | 5 +++++ recipes/boost-ext-ut/config.yml | 2 ++ 3 files changed, 10 insertions(+) diff --git a/recipes/boost-ext-ut/all/conandata.yml b/recipes/boost-ext-ut/all/conandata.yml index 6a4836cd7d3f2..81761a3dd0a75 100644 --- a/recipes/boost-ext-ut/all/conandata.yml +++ b/recipes/boost-ext-ut/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.1.0": + url: "https://github.com/boost-ext/ut/archive/v2.1.0.tar.gz" + sha256: "1c9c35c039ad3a9795a278447db6da0a4ec1a1d223bf7d64687ad28f673b7ae8" "2.0.1": url: "https://github.com/boost-ext/ut/archive/v2.0.1.tar.gz" sha256: "1e43be17045a881c95cedc843d72fe9c1e53239b02ed179c1e39e041ebcd7dad" diff --git a/recipes/boost-ext-ut/all/conanfile.py b/recipes/boost-ext-ut/all/conanfile.py index a73d7aef01853..87082efe83c5e 100644 --- a/recipes/boost-ext-ut/all/conanfile.py +++ b/recipes/boost-ext-ut/all/conanfile.py @@ -52,6 +52,11 @@ def layout(self): cmake_layout(self, src_folder="src") def validate(self): + if (Version(self.version) == "2.1.0" and self.settings.os == "Linux" and self.settings.compiler == "clang" and + 12 <= Version(self.settings.compiler.version) <= 16 and "libstdc++" in self.settings.compiler.libcxx): + # https://github.com/boost-ext/ut/issues/637 + raise ConanInvalidConfiguration(f"{self.ref} does support Clang + libstdc++. Use -s compiler.libcxx=libc++ or Clang >16.") + if self.settings.compiler.get_safe("cppstd"): check_min_cppstd(self, self._minimum_cpp_standard) if Version(self.version) <= "1.1.8" and is_msvc(self): diff --git a/recipes/boost-ext-ut/config.yml b/recipes/boost-ext-ut/config.yml index c1e4e8bebed11..61e709f7dc6a2 100644 --- a/recipes/boost-ext-ut/config.yml +++ b/recipes/boost-ext-ut/config.yml @@ -1,4 +1,6 @@ versions: + "2.1.0": + folder: "all" "2.0.1": folder: "all" "2.0.0": From 8558a42f6abe710064ca75873b9dce0f95ee3372 Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Fri, 23 Aug 2024 10:21:55 +0100 Subject: [PATCH 408/641] (#24983) [bot] Update authorized users list (2024-08-19) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Add/remove users to Access Request * Waiting list --------- Co-authored-by: conan-center-bot Co-authored-by: Abril Rincón Blanco --- .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 12e1d64f21fe2..a11a5bb171587 100644 --- a/.c3i/authorized_users.yml +++ b/.c3i/authorized_users.yml @@ -1406,3 +1406,4 @@ authorized_users: - dcoburnMEDITECH - mattangus - arnaudmathias +- hankhsu1996 diff --git a/.c3i/waitlist_users.yml b/.c3i/waitlist_users.yml index f1bce7d2ec734..ba4e9a78c0fc8 100644 --- a/.c3i/waitlist_users.yml +++ b/.c3i/waitlist_users.yml @@ -7,3 +7,4 @@ waitlist_users: - wer14 - connor-i-clark - NeXuS4Developer +- sabapathim From a0cbfb5d6c6d4a693d20dfd3b922eb24321e8d6d Mon Sep 17 00:00:00 2001 From: Beartama <8091245+uyha@users.noreply.github.com> Date: Fri, 23 Aug 2024 12:10:31 +0200 Subject: [PATCH 409/641] (#24747) sdbus-cpp: setting the correct variable for newer version --- recipes/sdbus-cpp/all/conandata.yml | 3 +++ recipes/sdbus-cpp/all/conanfile.py | 5 ++++- ...fix-expat-casing-and-library-linkage.patch | 22 +++++++++++++++++++ 3 files changed, 29 insertions(+), 1 deletion(-) create mode 100644 recipes/sdbus-cpp/all/patches/0003-fix-expat-casing-and-library-linkage.patch diff --git a/recipes/sdbus-cpp/all/conandata.yml b/recipes/sdbus-cpp/all/conandata.yml index c7ec57d1ada42..ad223afb6b24c 100644 --- a/recipes/sdbus-cpp/all/conandata.yml +++ b/recipes/sdbus-cpp/all/conandata.yml @@ -35,3 +35,6 @@ patches: patch_description: "fix build error by adding missing headers" patch_type: "bugfix" patch_source: "https://github.com/Kistler-Group/sdbus-cpp/commit/fb008445b15b452f461c34667f4991f5ce06e481" + "2.0.0": + - patch_file: "patches/0003-fix-expat-casing-and-library-linkage.patch" + patch_type: "conan" diff --git a/recipes/sdbus-cpp/all/conanfile.py b/recipes/sdbus-cpp/all/conanfile.py index 4f55c042c482c..7733d1b0759bc 100644 --- a/recipes/sdbus-cpp/all/conanfile.py +++ b/recipes/sdbus-cpp/all/conanfile.py @@ -106,7 +106,10 @@ def source(self): def generate(self): tc = CMakeToolchain(self) - tc.variables["BUILD_CODE_GEN"] = self.options.with_code_gen + if Version(self.version) >= "2.0.0": + tc.variables["SDBUSCPP_BUILD_CODEGEN"] = self.options.with_code_gen + else: + tc.variables["BUILD_CODE_GEN"] = self.options.with_code_gen tc.variables["BUILD_DOC"] = False tc.variables["BUILD_TESTS"] = False tc.variables["BUILD_LIBSYSTEMD"] = False diff --git a/recipes/sdbus-cpp/all/patches/0003-fix-expat-casing-and-library-linkage.patch b/recipes/sdbus-cpp/all/patches/0003-fix-expat-casing-and-library-linkage.patch new file mode 100644 index 0000000000000..6fcd6cd1fd255 --- /dev/null +++ b/recipes/sdbus-cpp/all/patches/0003-fix-expat-casing-and-library-linkage.patch @@ -0,0 +1,22 @@ +diff --git a/tools/CMakeLists.txt b/tools/CMakeLists.txt +index c025e36..ef3f6ce 100644 +--- a/tools/CMakeLists.txt ++++ b/tools/CMakeLists.txt +@@ -12,7 +12,7 @@ include(GNUInstallDirs) + # PERFORMING CHECKS + #------------------------------- + +-find_package(EXPAT REQUIRED) ++find_package(expat REQUIRED) + + #------------------------------- + # SOURCE FILES CONFIGURATION +@@ -42,7 +42,7 @@ set(CMAKE_CXX_STANDARD 14) + #---------------------------------- + + add_executable(sdbus-c++-xml2cpp ${SDBUSCPP_XML2CPP_SRCS}) +-target_link_libraries (sdbus-c++-xml2cpp ${EXPAT_LIBRARIES}) ++target_link_libraries (sdbus-c++-xml2cpp expat::expat) + target_include_directories(sdbus-c++-xml2cpp PRIVATE ${EXPAT_INCLUDE_DIRS}) + + #---------------------------------- From 57d73ad9c8657c506c7a7bd6ab0a66a3abb2cdea Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 23 Aug 2024 19:28:53 +0900 Subject: [PATCH 410/641] (#24541) msdf-atlas-gen: add version 1.3 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * msdf-atlas-gen: add version 1.3.0 * update artery-fonr-format to 1.1 * force to use loadpng in 1.3 * don't use lodepng in 1.3 * fix version name * require libpng * rmdir lib/cmake * set MSDF_ATLAS_DYNAMIC_RUNTIME * Remove virtualenv launches * Remove autogenerated files --------- Co-authored-by: Abril Rincón Blanco --- recipes/msdf-atlas-gen/all/conandata.yml | 9 +++- recipes/msdf-atlas-gen/all/conanfile.py | 47 +++++++++++++------ ...cmake.patch => 1.2.2-0001-fix-cmake.patch} | 25 +++++++--- .../all/patches/1.3.0-0001-fix-cmake.patch | 23 +++++++++ recipes/msdf-atlas-gen/config.yml | 2 + 5 files changed, 83 insertions(+), 23 deletions(-) rename recipes/msdf-atlas-gen/all/patches/{0001-fix-cmake.patch => 1.2.2-0001-fix-cmake.patch} (71%) create mode 100644 recipes/msdf-atlas-gen/all/patches/1.3.0-0001-fix-cmake.patch diff --git a/recipes/msdf-atlas-gen/all/conandata.yml b/recipes/msdf-atlas-gen/all/conandata.yml index 1c3664b5df564..3ce2299e54ce1 100644 --- a/recipes/msdf-atlas-gen/all/conandata.yml +++ b/recipes/msdf-atlas-gen/all/conandata.yml @@ -1,9 +1,16 @@ sources: + "1.3": + url: "https://github.com/Chlumsky/msdf-atlas-gen/archive/refs/tags/v1.3.tar.gz" + sha256: "5d3d58e8bc92836baf23ce3a80ef79cc4c2d022fb86b7f160b11cc06cd62fe78" "1.2.2": url: "https://github.com/Chlumsky/msdf-atlas-gen/archive/refs/tags/v1.2.2.tar.gz" sha256: "7D2EA46F66E21AB9A205BF7703D520F209B9A035EE13CBB266A3B8322F62FA28" patches: + "1.3": + - patch_file: "patches/1.3.0-0001-fix-cmake.patch" + patch_description: "Fix CMakeLists.txt to get libraries from Conan and install in bin dir" + patch_type: "conan" "1.2.2": - - patch_file: "patches/0001-fix-cmake.patch" + - patch_file: "patches/1.2.2-0001-fix-cmake.patch" patch_description: "Fix CMakeLists.txt to get libraries from Conan and install in bin dir" patch_type: "conan" diff --git a/recipes/msdf-atlas-gen/all/conanfile.py b/recipes/msdf-atlas-gen/all/conanfile.py index 51daed7b1f501..d26eb8ef19f91 100644 --- a/recipes/msdf-atlas-gen/all/conanfile.py +++ b/recipes/msdf-atlas-gen/all/conanfile.py @@ -1,27 +1,27 @@ +import os + from conan import ConanFile -from conan.tools.files import get, copy, apply_conandata_patches, export_conandata_patches +from conan.tools.files import get, copy, apply_conandata_patches, export_conandata_patches, rmdir from conan.tools.build import check_min_cppstd from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout -import os - +from conan.tools.scm import Version +from conan.tools.microsoft import is_msvc required_conan_version = ">=1.53.0" class MsdfAtlasGenConan(ConanFile): name = "msdf-atlas-gen" + description = "MSDF font atlas generator" license = "MIT" - homepage = "https://github.com/Chlumsky/msdf-atlas-gen" url = "https://github.com/conan-io/conan-center-index" - description = "MSDF font atlas generator" + homepage = "https://github.com/Chlumsky/msdf-atlas-gen" topics = ("msdf-atlas-gen", "msdf", "font", "atlas") - settings = "os", "arch", "compiler", "build_type" package_type = "application" + settings = "os", "arch", "compiler", "build_type" - def requirements(self): - self.requires("artery-font-format/1.0") - self.requires("msdfgen/1.9.1") - self.requires("lodepng/cci.20200615") + def export_sources(self): + export_conandata_patches(self) def layout(self): cmake_layout(self, src_folder="src") @@ -30,25 +30,41 @@ def validate_build(self): if self.settings.compiler.get_safe("cppstd"): check_min_cppstd(self, 11) + def requirements(self): + if Version(self.version) < "1.3": + self.requires("msdfgen/1.9.1") + self.requires("artery-font-format/1.0") + self.requires("lodepng/cci.20200615") + else: + self.requires("msdfgen/1.12") + self.requires("artery-font-format/1.1") + self.requires("libpng/[>=1.6 <2]") + def package_id(self): del self.info.settings.compiler del self.info.settings.build_type - def export_sources(self): - export_conandata_patches(self) - def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) - apply_conandata_patches(self) def generate(self): tc = CMakeToolchain(self) - tc.variables["MSDF_ATLAS_GEN_BUILD_STANDALONE"] = True + tc.cache_variables["MSDF_ATLAS_GEN_BUILD_STANDALONE"] = True + tc.cache_variables["MSDF_ATLAS_USE_VCPKG"] = False + tc.cache_variables["MSDF_ATLAS_USE_SKIA"] = False + tc.cache_variables["MSDF_ATLAS_NO_ARTERY_FONT"] = False + tc.cache_variables["MSDF_ATLAS_MSDFGEN_EXTERNAL"] = True + tc.cache_variables["MSDF_ATLAS_INSTALL"] = True + if Version(self.version) >= "1.3": + tc.preprocessor_definitions["MSDFGEN_USE_LIBPNG"] = 1 + if is_msvc(self): + tc.cache_variables["MSDF_ATLAS_DYNAMIC_RUNTIME"] = "dynamic" in str(self.settings.compiler.runtime) or "MD" in str(self.settings.compiler.runtime) tc.generate() tc = CMakeDeps(self) tc.generate() def build(self): + apply_conandata_patches(self) cmake = CMake(self) cmake.configure() cmake.build() @@ -57,6 +73,7 @@ def package(self): copy(self, pattern="LICENSE.txt", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) cmake = CMake(self) cmake.install() + rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) def package_info(self): self.cpp_info.frameworkdirs = [] diff --git a/recipes/msdf-atlas-gen/all/patches/0001-fix-cmake.patch b/recipes/msdf-atlas-gen/all/patches/1.2.2-0001-fix-cmake.patch similarity index 71% rename from recipes/msdf-atlas-gen/all/patches/0001-fix-cmake.patch rename to recipes/msdf-atlas-gen/all/patches/1.2.2-0001-fix-cmake.patch index 356c6a09fe8be..f4f985352e174 100644 --- a/recipes/msdf-atlas-gen/all/patches/0001-fix-cmake.patch +++ b/recipes/msdf-atlas-gen/all/patches/1.2.2-0001-fix-cmake.patch @@ -1,19 +1,23 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index b1ec605..6b6277a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -7,9 +7,11 @@ +@@ -7,10 +7,11 @@ set(MSDFGEN_BUILD_MSDFGEN_STANDALONE OFF CACHE BOOL "Build the msdfgen standalon set(MSDFGEN_USE_OPENMP OFF CACHE INTERNAL "Build with OpenMP support for multithreaded code (disabled for atlas gen)" FORCE) set(MSDFGEN_USE_CPP11 ON CACHE INTERNAL "Build with C++11 enabled (always enabled for atlas gen)" FORCE) set(MSDFGEN_INSTALL OFF CACHE BOOL "Generate installation target for msdfgen") -add_subdirectory(msdfgen) - -+ +- ++# add_subdirectory(msdfgen) find_package(Threads REQUIRED) +- +find_package(msdfgen REQUIRED) +find_package(artery-font-format REQUIRED) - ++find_package(lodepng REQUIRED CONFIG) file(GLOB_RECURSE msdf-atlas-gen_HEADERS RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "msdf-atlas-gen/*.h" -@@ -24,19 +26,12 @@ + "msdf-atlas-gen/*.hpp" +@@ -24,19 +25,19 @@ file(GLOB_RECURSE msdf-atlas-gen_SOURCES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} add_library(msdf-atlas-gen ${msdf-atlas-gen_SOURCES} ${msdf-atlas-gen_HEADERS}) add_library(msdf-atlas-gen::msdf-atlas-gen ALIAS msdf-atlas-gen) set_target_properties(msdf-atlas-gen PROPERTIES PUBLIC_HEADER "${msdf-atlas-gen_HEADERS}") @@ -24,17 +28,24 @@ - ${CMAKE_CURRENT_SOURCE_DIR}/msdfgen/include # for lodepng.h - ${CMAKE_CURRENT_SOURCE_DIR}/artery-font-format -) ++# target_include_directories(msdf-atlas-gen ++# INTERFACE ++# $ ++# PRIVATE ++# ${CMAKE_CURRENT_SOURCE_DIR}/msdfgen/include # for lodepng.h ++# ${CMAKE_CURRENT_SOURCE_DIR}/artery-font-format ++# ) if (MSVC) target_compile_definitions(msdf-atlas-gen PUBLIC _CRT_SECURE_NO_WARNINGS) endif() target_compile_features(msdf-atlas-gen PUBLIC cxx_std_11) -target_link_libraries(msdf-atlas-gen PUBLIC Threads::Threads msdfgen::msdfgen msdfgen::msdfgen-ext) -+target_link_libraries(msdf-atlas-gen PUBLIC Threads::Threads msdfgen::msdfgen msdfgen::msdfgen-ext artery-font-format::artery-font-format) ++target_link_libraries(msdf-atlas-gen PUBLIC Threads::Threads msdfgen::msdfgen msdfgen::msdfgen-ext artery-font-format::artery-font-format lodepng::lodepng) # TODO make these public in msdfgen so that this doesn't have to be repeated here if(FREETYPE_WITH_PNG) -@@ -58,3 +53,5 @@ +@@ -58,3 +59,5 @@ if(MSDF_ATLAS_GEN_BUILD_STANDALONE) target_compile_features(msdf-atlas-gen-standalone PUBLIC cxx_std_11) target_link_libraries(msdf-atlas-gen-standalone PUBLIC msdf-atlas-gen::msdf-atlas-gen) endif() diff --git a/recipes/msdf-atlas-gen/all/patches/1.3.0-0001-fix-cmake.patch b/recipes/msdf-atlas-gen/all/patches/1.3.0-0001-fix-cmake.patch new file mode 100644 index 0000000000000..80d3825982383 --- /dev/null +++ b/recipes/msdf-atlas-gen/all/patches/1.3.0-0001-fix-cmake.patch @@ -0,0 +1,23 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 5b7f6db..1936ca5 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -109,7 +109,8 @@ target_include_directories(msdf-atlas-gen INTERFACE + if(MSDF_ATLAS_NO_ARTERY_FONT) + target_compile_definitions(msdf-atlas-gen PUBLIC MSDF_ATLAS_NO_ARTERY_FONT) + else() +- target_include_directories(msdf-atlas-gen PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/artery-font-format) ++ find_package(artery-font-format REQUIRED CONFIG) ++ target_link_libraries(msdf-atlas-gen PRIVATE artery-font-format::artery-font-format) + endif() + set_property(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY VS_STARTUP_PROJECT msdf-atlas-gen) + +@@ -118,7 +119,7 @@ target_link_libraries(msdf-atlas-gen PRIVATE Threads::Threads) + if(NOT MSDFGEN_DISABLE_PNG) + target_link_libraries(msdf-atlas-gen PRIVATE PNG::PNG) + endif() +-target_link_libraries(msdf-atlas-gen PUBLIC msdfgen::msdfgen) ++target_link_libraries(msdf-atlas-gen PUBLIC msdfgen::msdfgen msdfgen::msdfgen-ext) + + if(BUILD_SHARED_LIBS AND WIN32) + target_compile_definitions(msdf-atlas-gen PRIVATE "MSDF_ATLAS_PUBLIC=__declspec(dllexport)") diff --git a/recipes/msdf-atlas-gen/config.yml b/recipes/msdf-atlas-gen/config.yml index af40d9653a378..297a337077654 100644 --- a/recipes/msdf-atlas-gen/config.yml +++ b/recipes/msdf-atlas-gen/config.yml @@ -1,3 +1,5 @@ versions: + "1.3": + folder: all "1.2.2": folder: all From cf1fb2ee1d70942dd36c067d2fa07d1a4e48ea0c Mon Sep 17 00:00:00 2001 From: Luiz Feldmann Date: Fri, 23 Aug 2024 07:49:24 -0300 Subject: [PATCH 411/641] (#24810) cigi-cl: new recipe * Add recipe for library CIGI-CL version 4.0.6a * PACKAGE LICENSE (KB-H012) DEFAULT PACKAGE LAYOUT (KB-H013) PC-FILES (KB-H020) * No support for Darwin due to use of non-portable pthreads extensions * Remove 'nullptr' * Fix: PC-FILES (KB-H020) * Apply suggestions from code review Co-authored-by: Uilian Ries * Simplifying the test package even more * No longer using 'rm' function * Rename package * Fix test_package non C++98 compliant * INVALID TOPICS (KB-H064): even names and acronyms should be formatted entirely in lowercase * Update invalid configuration message. --------- Co-authored-by: Uilian Ries --- recipes/cigi-ccl/all/conandata.yml | 5 + recipes/cigi-ccl/all/conanfile.py | 102 ++++++++++++++++++ .../cigi-ccl/all/test_package/CMakeLists.txt | 9 ++ .../cigi-ccl/all/test_package/conanfile.py | 25 +++++ .../all/test_package/test_package.cpp | 7 ++ recipes/cigi-ccl/config.yml | 3 + 6 files changed, 151 insertions(+) create mode 100644 recipes/cigi-ccl/all/conandata.yml create mode 100644 recipes/cigi-ccl/all/conanfile.py create mode 100644 recipes/cigi-ccl/all/test_package/CMakeLists.txt create mode 100644 recipes/cigi-ccl/all/test_package/conanfile.py create mode 100644 recipes/cigi-ccl/all/test_package/test_package.cpp create mode 100644 recipes/cigi-ccl/config.yml diff --git a/recipes/cigi-ccl/all/conandata.yml b/recipes/cigi-ccl/all/conandata.yml new file mode 100644 index 0000000000000..f77d32f6993f8 --- /dev/null +++ b/recipes/cigi-ccl/all/conandata.yml @@ -0,0 +1,5 @@ +sources: + "4.0.6a": + url: + - "https://master.dl.sourceforge.net/project/cigi/CIGI%20Class%20Library%20%28CCL%29/CCL%20Version%204.0.6a/ccl_4_0%20rev6a.zip" + sha256: "a55099c0418c663e572109bd62ed2f7b411c51af7b404212988e36360e8a13cc" diff --git a/recipes/cigi-ccl/all/conanfile.py b/recipes/cigi-ccl/all/conanfile.py new file mode 100644 index 0000000000000..5237537049f2f --- /dev/null +++ b/recipes/cigi-ccl/all/conanfile.py @@ -0,0 +1,102 @@ +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout +from conan.tools.files import copy, get, replace_in_file, rmdir +from conan.tools.microsoft import is_msvc, is_msvc_static_runtime +from conan.tools.apple import is_apple_os +import os + +required_conan_version = ">=1.53.0" + +class CigiClConan(ConanFile): + name = "cigi-ccl" + description = "Industry standard communication with compliant image generators" + license = "LGPL-2.1-only" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://cigi.sourceforge.io/product_ccl.php" + topics = ("simulation", "interface engines", "data visualization") + package_type = "library" + settings = "os", "arch", "compiler", "build_type" + options = { + "shared": [True, False], + "fPIC": [True, False], + } + default_options = { + "shared": False, + "fPIC": True, + } + + def config_options(self): + if self.settings.os == "Windows": + del self.options.fPIC + + def configure(self): + if self.options.shared: + self.options.rm_safe("fPIC") + + def layout(self): + cmake_layout(self, src_folder="src") + + def validate(self): + if is_apple_os(self): + # CigiOutgoingMsg.cpp:196:38: error: use of undeclared identifier 'PTHREAD_MUTEX_RECURSIVE_NP' + raise ConanInvalidConfiguration(f"{self.settings.os} Conan recipe is not supported on Apple. Contributions are welcome.") + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + + if is_msvc(self): + tc.variables["USE_MSVC_RUNTIME_LIBRARY_DLL"] = not is_msvc_static_runtime(self) + + tc.generate() + + def _patch_sources(self): + cmake_lists_fixes = { + # This old CMakeLists.txt had PROJECT() before CMAKE_MINIMUM_REQUIRED(); this order must be inverted + "CMAKE_MINIMUM_REQUIRED(VERSION 2.4.7)": "", + "PROJECT(ccl)": "CMAKE_MINIMUM_REQUIRED(VERSION 2.4.7)\nPROJECT(ccl)", + # Using backslash for path is being interpreted as invalid escape sequence in newer versions of CMake + "Header Files\\": "Header Files/", + "Source Files\\": "Source Files/", + # Incorrectly tries to install both the static and shared targets + "INSTALL(TARGETS cigicl-static cigicl-shared": f"INSTALL(TARGETS {'cigicl-shared' if self.options.shared else 'cigicl-static'}" + } + + for old, new in cmake_lists_fixes.items(): + replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), old, new) + + def build(self): + self._patch_sources() + cmake = CMake(self) + cmake.configure() + if self.options.shared: + cmake.build(target="cigicl-shared") + else: + cmake.build(target="cigicl-static") + + def package(self): + cmake = CMake(self) + cmake.install() + + copy(self, "license.html", self.source_folder, os.path.join(self.package_folder, "licenses")) + copy(self, "COPYING", self.source_folder, os.path.join(self.package_folder, "licenses")) + rmdir(self, os.path.join(self.package_folder, "share")) + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) + + def package_info(self): + self.cpp_info.set_property("pkg_config_name", "cigicl") + build_type_suffix = "" + if self.settings.build_type == "Debug" and self.settings.os == "Windows": + build_type_suffix = "D" + + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.system_libs.extend(["pthread", "m"]) + + if self.options.shared: + self.cpp_info.libs = ["ccl_dll" + build_type_suffix] + self.cpp_info.defines = ["CCL_DLL"] + else: + self.cpp_info.libs = ["ccl_lib" + build_type_suffix] diff --git a/recipes/cigi-ccl/all/test_package/CMakeLists.txt b/recipes/cigi-ccl/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..9ff9e1c44f12c --- /dev/null +++ b/recipes/cigi-ccl/all/test_package/CMakeLists.txt @@ -0,0 +1,9 @@ +cmake_minimum_required(VERSION 3.15) + +project(test_package LANGUAGES CXX) + +find_package(cigi-ccl REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) + +target_link_libraries(${PROJECT_NAME} PRIVATE cigi-ccl::cigi-ccl) diff --git a/recipes/cigi-ccl/all/test_package/conanfile.py b/recipes/cigi-ccl/all/test_package/conanfile.py new file mode 100644 index 0000000000000..f5cf204295e19 --- /dev/null +++ b/recipes/cigi-ccl/all/test_package/conanfile.py @@ -0,0 +1,25 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake +import os + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/cigi-ccl/all/test_package/test_package.cpp b/recipes/cigi-ccl/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..9a4a0a228de16 --- /dev/null +++ b/recipes/cigi-ccl/all/test_package/test_package.cpp @@ -0,0 +1,7 @@ +#include + +int main(void) { + CigiOutgoingMsg message; + message.CreateBuffer(); + return 0; +} diff --git a/recipes/cigi-ccl/config.yml b/recipes/cigi-ccl/config.yml new file mode 100644 index 0000000000000..f73e93e2624ef --- /dev/null +++ b/recipes/cigi-ccl/config.yml @@ -0,0 +1,3 @@ +versions: + "4.0.6a": + folder: all From cbb13a4b7a29ff42a201faae7392f7e87add92ed Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 23 Aug 2024 20:09:53 +0900 Subject: [PATCH 412/641] (#24864) angelscript: add version 2.37.0 * angelscript: add version 2.37.0 * link math lib --- recipes/angelscript/all/conandata.yml | 3 +++ recipes/angelscript/all/conanfile.py | 8 ++++---- recipes/angelscript/config.yml | 2 ++ 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/recipes/angelscript/all/conandata.yml b/recipes/angelscript/all/conandata.yml index edfe7e005b855..a5590460838fe 100644 --- a/recipes/angelscript/all/conandata.yml +++ b/recipes/angelscript/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.37.0": + url: "https://www.angelcode.com/angelscript/sdk/files/angelscript_2.37.0.zip" + sha256: "0c52d1688016a0b2484e9ca549471c4e295df060770c57840144c64815f54f10" "2.36.1": url: "https://www.angelcode.com/angelscript/sdk/files/angelscript_2.36.1.zip" sha256: "58bb749af9c7e386304705f4e6e627ae41dfe03e0b6a73c3d0d2e017c4fc948f" diff --git a/recipes/angelscript/all/conanfile.py b/recipes/angelscript/all/conanfile.py index 88cdd729c8bf1..0a17df3020929 100644 --- a/recipes/angelscript/all/conanfile.py +++ b/recipes/angelscript/all/conanfile.py @@ -10,13 +10,13 @@ class AngelScriptConan(ConanFile): name = "angelscript" - license = "Zlib" - homepage = "http://www.angelcode.com/angelscript" - url = "https://github.com/conan-io/conan-center-index" description = ( "An extremely flexible cross-platform scripting library designed to " "allow applications to extend their functionality through external scripts." ) + license = "Zlib" + url = "https://github.com/conan-io/conan-center-index" + homepage = "http://www.angelcode.com/angelscript" topics = ("angelcode", "embedded", "scripting", "language", "compiler", "interpreter") package_type = "library" @@ -90,7 +90,7 @@ def package_info(self): # TODO: back to global scope in conan v2 once cmake_find_package* generators removed self.cpp_info.components["_angelscript"].libs = [f"angelscript{postfix}"] if self.settings.os in ("Linux", "FreeBSD", "SunOS"): - self.cpp_info.components["_angelscript"].system_libs.append("pthread") + self.cpp_info.components["_angelscript"].system_libs.extend(["m", "pthread"]) # TODO: to remove in conan v2 once cmake_find_package* generators removed self.cpp_info.names["cmake_find_package"] = "Angelscript" diff --git a/recipes/angelscript/config.yml b/recipes/angelscript/config.yml index f3cbb4fedf454..621b347e7a383 100644 --- a/recipes/angelscript/config.yml +++ b/recipes/angelscript/config.yml @@ -1,4 +1,6 @@ versions: + "2.37.0": + folder: all "2.36.1": folder: all "2.36.0": From 27837f637a653a243957cb36d770408b3e515f11 Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 23 Aug 2024 20:50:19 +0900 Subject: [PATCH 413/641] (#25005) cpp-dump: add version 0.7.0 --- recipes/cpp-dump/all/conandata.yml | 3 +++ recipes/cpp-dump/all/conanfile.py | 38 ++++++++++++++++++++---------- recipes/cpp-dump/config.yml | 2 ++ 3 files changed, 31 insertions(+), 12 deletions(-) diff --git a/recipes/cpp-dump/all/conandata.yml b/recipes/cpp-dump/all/conandata.yml index e2ca2bfcf8c91..adaa64a423425 100644 --- a/recipes/cpp-dump/all/conandata.yml +++ b/recipes/cpp-dump/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.7.0": + url: "https://github.com/philip82148/cpp-dump/archive/refs/tags/v0.7.0.tar.gz" + sha256: "b27a0854a405aa10619f341f66e26a6c39dca1ad41a26dd4fa6d86ad6752c4f8" "0.6.0": url: "https://github.com/philip82148/cpp-dump/archive/refs/tags/v0.6.0.tar.gz" sha256: "22bc5fafa22ac7c1e99db8824fdabec4af6baabed0c8b7cc80a0205dfb550414" diff --git a/recipes/cpp-dump/all/conanfile.py b/recipes/cpp-dump/all/conanfile.py index b9f479f3b52af..36c04e6dd12c9 100644 --- a/recipes/cpp-dump/all/conanfile.py +++ b/recipes/cpp-dump/all/conanfile.py @@ -55,18 +55,32 @@ def source(self): def package(self): copy(self, pattern="LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) - copy( - self, - pattern="dump.hpp", - dst=os.path.join(self.package_folder, "include"), - src=self.source_folder, - ) - copy( - self, - pattern="*.hpp", - dst=os.path.join(self.package_folder, "include", "hpp"), - src=os.path.join(self.source_folder, "hpp"), - ) + if Version(self.version) < "0.7.0": + copy( + self, + pattern="dump.hpp", + dst=os.path.join(self.package_folder, "include"), + src=self.source_folder, + ) + copy( + self, + pattern="*.hpp", + dst=os.path.join(self.package_folder, "include", "hpp"), + src=os.path.join(self.source_folder, "hpp"), + ) + else: + copy( + self, + pattern="*dump.hpp", + dst=os.path.join(self.package_folder, "include"), + src=self.source_folder, + ) + copy( + self, + pattern="*.hpp", + dst=os.path.join(self.package_folder, "include", "cpp-dump"), + src=os.path.join(self.source_folder, "cpp-dump"), + ) def package_info(self): self.cpp_info.bindirs = [] diff --git a/recipes/cpp-dump/config.yml b/recipes/cpp-dump/config.yml index 33d7618432d30..d61439bae1bc3 100644 --- a/recipes/cpp-dump/config.yml +++ b/recipes/cpp-dump/config.yml @@ -1,4 +1,6 @@ versions: + "0.7.0": + folder: all "0.6.0": folder: all "0.5.0": From 167e8aa5fdf01bb633eae29e6848f42105c1a409 Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 23 Aug 2024 21:11:35 +0900 Subject: [PATCH 414/641] (#25007) s2n: add version 1.5.1 --- recipes/s2n/all/conandata.yml | 3 +++ recipes/s2n/all/conanfile.py | 4 ++-- recipes/s2n/config.yml | 2 ++ 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/recipes/s2n/all/conandata.yml b/recipes/s2n/all/conandata.yml index 0a51f6d241144..9610b0698a59d 100644 --- a/recipes/s2n/all/conandata.yml +++ b/recipes/s2n/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.5.1": + url: "https://github.com/aws/s2n-tls/archive/refs/tags/v1.5.1.tar.gz" + sha256: "d79710d6ef089097a3b84fc1e5cec2f08d1ec46e93b1d400df59fcfc859e15a3" "1.5.0": url: "https://github.com/aws/s2n-tls/archive/refs/tags/v1.5.0.tar.gz" sha256: "5e86d97d8f24653ef3dff3abe6165169f0ba59cdf52b5264987125bba070174d" diff --git a/recipes/s2n/all/conanfile.py b/recipes/s2n/all/conanfile.py index 34d4cbcae2b9f..a112b40965f87 100644 --- a/recipes/s2n/all/conanfile.py +++ b/recipes/s2n/all/conanfile.py @@ -11,10 +11,10 @@ class S2nConan(ConanFile): name = "s2n" description = "An implementation of the TLS/SSL protocols" - topics = ("aws", "amazon", "cloud", ) + license = "Apache-2.0" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/aws/s2n-tls" - license = "Apache-2.0" + topics = ("aws", "amazon", "cloud", ) package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { diff --git a/recipes/s2n/config.yml b/recipes/s2n/config.yml index 7577db328fedf..82f81d966dc96 100644 --- a/recipes/s2n/config.yml +++ b/recipes/s2n/config.yml @@ -1,4 +1,6 @@ versions: + "1.5.1": + folder: all "1.5.0": folder: all "1.4.16": From 7ffa9fa7b5aa2f94764fbe11b52a84cbe7350ea1 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 26 Aug 2024 18:51:43 +0900 Subject: [PATCH 415/641] (#25019) itlib: add version 1.11.2 --- 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 3ed398c5a2d7b..8191eb04d8685 100644 --- a/recipes/itlib/all/conandata.yml +++ b/recipes/itlib/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.11.2": + url: "https://github.com/iboB/itlib/archive/v1.11.2.tar.gz" + sha256: "bbf734f6084af77a1e886e54e4efadab491ada242f5858afa561353db6a0a03f" "1.11.1": url: "https://github.com/iboB/itlib/archive/v1.11.1.tar.gz" sha256: "2c60e02660ea63dfb7a39237e29b30a066670cef228d22e8d0908e1fff2fa7f1" diff --git a/recipes/itlib/config.yml b/recipes/itlib/config.yml index 63c4029aead7b..de11a9bcfecef 100644 --- a/recipes/itlib/config.yml +++ b/recipes/itlib/config.yml @@ -1,4 +1,6 @@ versions: + "1.11.2": + folder: all "1.11.1": folder: all "1.10.3": From d9b540972362c446dcfbbf9ac1facd4215895159 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 26 Aug 2024 19:30:01 +0900 Subject: [PATCH 416/641] (#25043) mgclient: add version 1.4.3 * mgclient: add version 1.4.3 * apply patch to 1.4.3 --- recipes/mgclient/all/conandata.yml | 7 +++++++ recipes/mgclient/config.yml | 2 ++ 2 files changed, 9 insertions(+) diff --git a/recipes/mgclient/all/conandata.yml b/recipes/mgclient/all/conandata.yml index a07869d5875d5..d3dddbce027d5 100644 --- a/recipes/mgclient/all/conandata.yml +++ b/recipes/mgclient/all/conandata.yml @@ -1,8 +1,15 @@ sources: + "1.4.3": + url: "https://github.com/memgraph/mgclient/archive/refs/tags/v1.4.3.tar.gz" + sha256: "f446b469532cd5154b8fb986ac57ca9880763e34c77e564d2c4c948989b0244e" "1.4.2": url: "https://github.com/memgraph/mgclient/archive/refs/tags/v1.4.2.tar.gz" sha256: "aa89422636b1e25b8f9f34453f331e15d32a5957a9b2381c3598fc3644dbc043" patches: + "1.4.3": + - patch_file: "patches/1.4.2-0001-static-shared.build.patch" + patch_description: "make static and shared build separated" + patch_type: "conan" "1.4.2": - patch_file: "patches/1.4.2-0001-static-shared.build.patch" patch_description: "make static and shared build separated" diff --git a/recipes/mgclient/config.yml b/recipes/mgclient/config.yml index ba127d382373b..af4203f05155e 100644 --- a/recipes/mgclient/config.yml +++ b/recipes/mgclient/config.yml @@ -1,3 +1,5 @@ versions: + "1.4.3": + folder: all "1.4.2": folder: all From b2fdcf14e0d659dcef55fc5ca42b52baa3f0b5a1 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 26 Aug 2024 19:50:33 +0900 Subject: [PATCH 417/641] (#25036) nghttp3: add version 1.5.0 --- recipes/nghttp3/all/conandata.yml | 3 +++ recipes/nghttp3/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/nghttp3/all/conandata.yml b/recipes/nghttp3/all/conandata.yml index 44b63e4bfe7f1..b52e9aae32e70 100644 --- a/recipes/nghttp3/all/conandata.yml +++ b/recipes/nghttp3/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.5.0": + url: "https://github.com/ngtcp2/nghttp3/releases/download/v1.5.0/nghttp3-1.5.0.tar.bz2" + sha256: "4d89a3b84dbe2c6e0fe1367a2082f23b3c6e3279536e2436aed1a3785f6716c5" "1.4.0": url: "https://github.com/ngtcp2/nghttp3/releases/download/v1.4.0/nghttp3-1.4.0.tar.bz2" sha256: "bf8fbb4242cff0feb10b3e0d02545a8ad9a71d932f877a57a592bfde62a26019" diff --git a/recipes/nghttp3/config.yml b/recipes/nghttp3/config.yml index f9cd212790c2d..53ac3abeac23c 100644 --- a/recipes/nghttp3/config.yml +++ b/recipes/nghttp3/config.yml @@ -1,4 +1,6 @@ versions: + "1.5.0": + folder: all "1.4.0": folder: all "1.3.0": From 9b5d5cb98ece11c9db9dd895fdc9259266b49bed Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 26 Aug 2024 20:09:42 +0900 Subject: [PATCH 418/641] (#25010) simdutf: add version 5.4.15 * simdutf: add version 5.3.11 * update 5.4.15 --- recipes/simdutf/all/conandata.yml | 3 +++ recipes/simdutf/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/simdutf/all/conandata.yml b/recipes/simdutf/all/conandata.yml index bf67e12fde31a..33d65c8affb8e 100644 --- a/recipes/simdutf/all/conandata.yml +++ b/recipes/simdutf/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "5.4.15": + url: "https://github.com/simdutf/simdutf/archive/v5.4.15.tar.gz" + sha256: "188a9516ee208659cab9a1e5063c1b8385d63d171c2381e9ce18af97936d9879" "5.3.7": url: "https://github.com/simdutf/simdutf/archive/v5.3.7.tar.gz" sha256: "731fb29c8c0b05c77b0a29dc37ab8eabe09533f000864a7c55e1ed2e1d33d1e7" diff --git a/recipes/simdutf/config.yml b/recipes/simdutf/config.yml index 0c503d9150b13..e9481de774965 100644 --- a/recipes/simdutf/config.yml +++ b/recipes/simdutf/config.yml @@ -1,4 +1,6 @@ versions: + "5.4.15": + folder: all "5.3.7": folder: all "5.3.5": From c943c1a983e9c4d9b55dea9b01b8faa07f82d167 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 26 Aug 2024 20:29:52 +0900 Subject: [PATCH 419/641] (#25033) luau: add version 0.640 --- 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 7e3584bc700c7..ef6921854b73e 100644 --- a/recipes/luau/all/conandata.yml +++ b/recipes/luau/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.640": + url: "https://github.com/Roblox/luau/archive/0.640.tar.gz" + sha256: "63ada3e4c8c17e5aff8964b16951bfd1b567329dd81c11ae1144b6e95f354762" "0.635": url: "https://github.com/Roblox/luau/archive/0.635.tar.gz" sha256: "b2ec66070bb53ab9c26e41608dd75c9672c942cf0738c4b965c5eb956a954910" diff --git a/recipes/luau/config.yml b/recipes/luau/config.yml index 3b3066260406f..a2ceac414c46b 100644 --- a/recipes/luau/config.yml +++ b/recipes/luau/config.yml @@ -1,4 +1,6 @@ versions: + "0.640": + folder: all "0.635": folder: all "0.630": From 10692365e2841f02b23c186990f79df0f7b80ca8 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 26 Aug 2024 20:50:11 +0900 Subject: [PATCH 420/641] (#25034) pybind11: add version 2.13.5 --- recipes/pybind11/all/conandata.yml | 3 +++ recipes/pybind11/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/pybind11/all/conandata.yml b/recipes/pybind11/all/conandata.yml index 6a19d95c4121a..5ff5ec72e5c37 100644 --- a/recipes/pybind11/all/conandata.yml +++ b/recipes/pybind11/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.13.5": + url: "https://github.com/pybind/pybind11/archive/v2.13.5.tar.gz" + sha256: "b1e209c42b3a9ed74da3e0b25a4f4cd478d89d5efbb48f04b277df427faf6252" "2.13.4": url: "https://github.com/pybind/pybind11/archive/v2.13.4.tar.gz" sha256: "efc901aa0aab439a3fea6efeaf930b5a349fb06394bf845c64ce15a9cf8f0240" diff --git a/recipes/pybind11/config.yml b/recipes/pybind11/config.yml index 5dea5c3b33816..2aa582761dc4a 100644 --- a/recipes/pybind11/config.yml +++ b/recipes/pybind11/config.yml @@ -1,4 +1,6 @@ versions: + "2.13.5": + folder: all "2.13.4": folder: all "2.13.2": From 9c2f9a315b41f36b2b6e51a66d917f02244b8435 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Mon, 26 Aug 2024 15:09:24 +0300 Subject: [PATCH 421/641] (#25047) openmesh: add v11.0 --- recipes/openmesh/all/conandata.yml | 5 +++++ recipes/openmesh/config.yml | 2 ++ 2 files changed, 7 insertions(+) diff --git a/recipes/openmesh/all/conandata.yml b/recipes/openmesh/all/conandata.yml index a2b42f64b8c89..118a4fc6160df 100644 --- a/recipes/openmesh/all/conandata.yml +++ b/recipes/openmesh/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "11.0": + url: "https://www.graphics.rwth-aachen.de/media/openmesh_static/Releases/11.0/OpenMesh-11.0.0.tar.bz2" + sha256: "9d22e65bdd6a125ac2043350a019ec4346ea83922cafdf47e125a03c16f6fa07" "10.0": url: "https://www.graphics.rwth-aachen.de/media/openmesh_static/Releases/10.0/OpenMesh-10.0.0.tar.bz2" sha256: "af22520a474bb6a3b355eb0867449c6b995126f97632d1ee5ff9c7ebd322fedb" @@ -9,6 +12,8 @@ sources: url: "https://www.graphics.rwth-aachen.de/media/openmesh_static/Releases/8.1/OpenMesh-8.1.tar.gz" sha256: "0953777f483d47ea9fa00c329838443a7a09dde8be77bf7de188001cb9e768a7" patches: + "11.0": + - patch_file: "patches/cmake-install_9.0.patch" "10.0": - patch_file: "patches/cmake-install_9.0.patch" - patch_file: "patches/restore-cxx11-compatibility.patch" diff --git a/recipes/openmesh/config.yml b/recipes/openmesh/config.yml index a5f8255a5ed2a..bc3b698019ee1 100644 --- a/recipes/openmesh/config.yml +++ b/recipes/openmesh/config.yml @@ -1,4 +1,6 @@ versions: + "11.0": + folder: all "10.0": folder: all "9.0": From 432f02a27a8865d3d5df22bbde26b5c2766427ad Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 26 Aug 2024 21:29:50 +0900 Subject: [PATCH 422/641] (#25006) stringzilla: add version 3.9.3 * stringzilla: add version 3.9.2 * update 3.9.3 --- recipes/stringzilla/all/conandata.yml | 3 +++ recipes/stringzilla/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/stringzilla/all/conandata.yml b/recipes/stringzilla/all/conandata.yml index cd5c3f15cc1f8..b44cb110d34b4 100644 --- a/recipes/stringzilla/all/conandata.yml +++ b/recipes/stringzilla/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.9.3": + url: "https://github.com/ashvardanian/StringZilla/archive/refs/tags/v3.9.3.tar.gz" + sha256: "7d24a2fc0e426a85eac0a2be965f64e0eee794d89a895c2b5dcb614b038af580" "3.9.0": url: "https://github.com/ashvardanian/StringZilla/archive/refs/tags/v3.9.0.tar.gz" sha256: "26d282b7d5ba307de7fa80c41821526babf6c6cb8e808253af8bff7664275d5c" diff --git a/recipes/stringzilla/config.yml b/recipes/stringzilla/config.yml index 7fe54b1bc4d9a..7b1e1a9b0e3f3 100644 --- a/recipes/stringzilla/config.yml +++ b/recipes/stringzilla/config.yml @@ -1,4 +1,6 @@ versions: + "3.9.3": + folder: all "3.9.0": folder: all "3.8.4": From 6759fe3292c0e30861ada7b4725ed7c27da7d98c Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Mon, 26 Aug 2024 17:31:36 +0300 Subject: [PATCH 423/641] (#25027) gstreamer: add v1.24.7, drop old versions * gstreamer: add v1.24.7, drop old versions * gstreamer: restore v1.19.1 --- recipes/gstreamer/all/conandata.yml | 14 ++++---------- recipes/gstreamer/all/conanfile.py | 11 +++++++---- recipes/gstreamer/config.yml | 8 ++------ 3 files changed, 13 insertions(+), 20 deletions(-) diff --git a/recipes/gstreamer/all/conandata.yml b/recipes/gstreamer/all/conandata.yml index b40d98596b59c..e9f1bbcb66bfb 100644 --- a/recipes/gstreamer/all/conandata.yml +++ b/recipes/gstreamer/all/conandata.yml @@ -1,10 +1,10 @@ sources: + "1.24.7": + url: "https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-1.24.7.tar.xz" + sha256: "c0e75b124c52bb7a0c3dcdb734b2ad260ea7286a8745cf2ea629d4c849e6a958" "1.22.6": url: "https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-1.22.6.tar.xz" sha256: "f500e6cfddff55908f937711fc26a0840de28a1e9ec49621c0b6f1adbd8f818e" - "1.22.3": - url: "https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-1.22.3.tar.xz" - sha256: "9ffeab95053f9f6995eb3b3da225e88f21c129cd60da002d3f795db70d6d5974" "1.20.6": url: "https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-1.20.6.tar.xz" sha256: "0545b030960680f71a95f9d39c95daae54b4d317d335e8f239d81138773c9b90" @@ -17,12 +17,6 @@ sources: "1.18.4": url: "https://gitlab.freedesktop.org/gstreamer/gstreamer/-/archive/1.18.4/gstreamer-1.18.4.tar.gz" sha256: "f0956c2056281f5909d030945a9896810e55084f29b6bcfc401b53e91ddf1c7f" - "1.18.3": - url: "https://gitlab.freedesktop.org/gstreamer/gstreamer/-/archive/1.18.3/gstreamer-1.18.3.tar.gz" - sha256: "d7e3917b5d3d9c3bd9bb70b7500314a5725377cff39bcd818df13c1fda0f60ba" - "1.18.0": - sha256: "f072da67b6dad9b4aecf2cb594aaaa66f86c22af9ba80503b90f957d47015ef8" - url: "https://gitlab.freedesktop.org/gstreamer/gstreamer/-/archive/1.18.0/gstreamer-1.18.0.tar.bz2" "1.16.2": - sha256: "dac037ab84d557f5d4e6e66e833f6bf8cf4f84671a311e0b2df99f9b30a9d693" url: "https://gitlab.freedesktop.org/gstreamer/gstreamer/-/archive/1.16.2/gstreamer-1.16.2.tar.bz2" + sha256: "dac037ab84d557f5d4e6e66e833f6bf8cf4f84671a311e0b2df99f9b30a9d693" diff --git a/recipes/gstreamer/all/conanfile.py b/recipes/gstreamer/all/conanfile.py index 5f3d9d604b6b9..71de230e0d57a 100644 --- a/recipes/gstreamer/all/conanfile.py +++ b/recipes/gstreamer/all/conanfile.py @@ -7,6 +7,7 @@ from conan.tools.layout import basic_layout from conan.tools.meson import Meson, MesonToolchain from conan.tools.microsoft import is_msvc, check_min_vs +from conan.tools.scm import Version import glob import os @@ -63,13 +64,13 @@ def validate(self): raise ConanInvalidConfiguration("shared GStreamer cannot link to static GLib") def build_requirements(self): - self.tool_requires("meson/1.3.0") + self.tool_requires("meson/[>=1.2.3 <2]") # There used to be an issue with glib being shared by default but its dependencies being static # No longer the case, but see: https://github.com/conan-io/conan-center-index/pull/13400#issuecomment-1551565573 for context if not self._is_legacy_one_profile: self.tool_requires("glib/") if not self.conf.get("tools.gnu:pkg_config", check_type=str): - self.tool_requires("pkgconf/2.1.0") + self.tool_requires("pkgconf/[>=2.2 <3]") if self.options.with_introspection: self.tool_requires("gobject-introspection/1.72.0") if self._settings_build.os == 'Windows': @@ -151,7 +152,7 @@ def package_info(self): self.cpp_info.components["gstreamer-1.0"].libs = ["gstreamer-1.0"] self.cpp_info.components["gstreamer-1.0"].includedirs = [os.path.join("include", "gstreamer-1.0")] if self.settings.os == "Linux": - self.cpp_info.components["gstreamer-1.0"].system_libs = ["m"] + self.cpp_info.components["gstreamer-1.0"].system_libs = ["m", "dl", "nsl"] self.cpp_info.components["gstreamer-1.0"].set_property("pkg_config_custom_content", pkgconfig_custom_content) self.cpp_info.components["gstreamer-base-1.0"].set_property("pkg_config_name", "gstreamer-base-1.0") @@ -173,6 +174,8 @@ def package_info(self): self.cpp_info.components["gstreamer-net-1.0"].set_property("pkg_config_name", "gstreamer-net-1.0") self.cpp_info.components["gstreamer-net-1.0"].names["pkg_config"] = "gstreamer-net-1.0" self.cpp_info.components["gstreamer-net-1.0"].requires = ["gstreamer-1.0", "glib::gio-2.0"] + if Version(self.version) >= "1.21.1" and self.settings.os != "Windows": + self.cpp_info.components["gstreamer-net-1.0"].requires.append("glib::gio-unix-2.0") self.cpp_info.components["gstreamer-net-1.0"].libs = ["gstnet-1.0"] self.cpp_info.components["gstreamer-net-1.0"].includedirs = [os.path.join("include", "gstreamer-1.0")] self.cpp_info.components["gstreamer-net-1.0"].set_property("pkg_config_custom_content", pkgconfig_custom_content) @@ -186,7 +189,7 @@ def package_info(self): self.cpp_info.components["gstreamer-check-1.0"].system_libs = ["rt", "m"] self.cpp_info.components["gstreamer-check-1.0"].set_property("pkg_config_custom_content", pkgconfig_custom_content) - # gstcoreelements and gstcoretracers are plugins which should be loaded dynamicaly, and not linked to directly + # gstcoreelements and gstcoretracers are plugins which should be loaded dynamically, and not linked to directly if not self.options.shared: self.cpp_info.components["gstcoreelements"].set_property("pkg_config_name", "gstcoreelements") self.cpp_info.components["gstcoreelements"].names["pkg_config"] = "gstcoreelements" diff --git a/recipes/gstreamer/config.yml b/recipes/gstreamer/config.yml index a3f838574c2f1..99cca4b40e56f 100644 --- a/recipes/gstreamer/config.yml +++ b/recipes/gstreamer/config.yml @@ -1,7 +1,7 @@ versions: - "1.22.6": + "1.24.7": folder: all - "1.22.3": + "1.22.6": folder: all "1.20.6": folder: all @@ -11,9 +11,5 @@ versions: folder: all "1.18.4": folder: all - "1.18.3": - folder: all - "1.18.0": - folder: all "1.16.2": folder: all From 7bbdfd238723bde5c62920fc01aab0ca616a31db Mon Sep 17 00:00:00 2001 From: Ilya Lavrenov Date: Mon, 26 Aug 2024 19:50:57 +0400 Subject: [PATCH 424/641] (#24993) [openvino] enable debug build * [openvino] enable debug build * openvino: debug is invalid in Conan Center CI --------- Co-authored-by: Luis Caro Campos <3535649+jcar87@users.noreply.github.com> --- recipes/openvino/all/conanfile.py | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/recipes/openvino/all/conanfile.py b/recipes/openvino/all/conanfile.py index 362f2e5a309dd..0a4c1e9f4440b 100644 --- a/recipes/openvino/all/conanfile.py +++ b/recipes/openvino/all/conanfile.py @@ -270,10 +270,9 @@ def validate_build(self): if self.settings.os == "Emscripten": raise ConanInvalidConfiguration(f"{self.ref} does not support Emscripten") - # TODO: resolve it later, since it is not critical for now - # Conan Center CI fails with our of memory error when building OpenVINO - if self.settings.build_type == "Debug": - raise ConanInvalidConfiguration(f"{self.ref} does not support Debug build type") + # Failing on Conan Center CI due to memory usage + if os.getenv("CONAN_CENTER_BUILD_SERVICE") and self.settings.build_type == "Debug": + raise ConanInvalidConfiguration(f"{self.ref} does not support Debug build type on Conan Center CI") def validate(self): if self.options.get_safe("enable_gpu") and not self.options.shared and self.options.enable_cpu: From 6b5e98a16836a71d416c1a9b1cf5a99e9be9d7b2 Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Mon, 26 Aug 2024 22:41:22 +0100 Subject: [PATCH 425/641] (#25056) [bot] Update list of references (prod-v2/ListPackages) Co-authored-by: conan-center-bot --- .c3i/conan_v2_ready_references.yml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/.c3i/conan_v2_ready_references.yml b/.c3i/conan_v2_ready_references.yml index 447a8e448c231..7ca5d46d50f3e 100644 --- a/.c3i/conan_v2_ready_references.yml +++ b/.c3i/conan_v2_ready_references.yml @@ -84,6 +84,7 @@ required_for_references: - aws-libfabric - aws-sdk-cpp - azure-sdk-for-cpp +- azure-storage-cpp - b2 - b64 - backport-cpp @@ -93,6 +94,7 @@ required_for_references: - bandit - base64 - basu +- battery-embed - bazel - bdwgc - bear @@ -180,6 +182,7 @@ required_for_references: - chipmunk2d - choc - chunkio +- cigi-ccl - cimg - circularbuffer - cista @@ -210,6 +213,7 @@ required_for_references: - coin-osi - coin-utils - commata +- compute_library - concurrencpp - concurrentqueue - console_bridge @@ -427,6 +431,7 @@ required_for_references: - fmi3 - fmt - fmtlog +- folly - fontconfig - foonathan-lexy - foonathan-memory @@ -757,6 +762,7 @@ required_for_references: - libmd - libmediainfo - libmemcached +- libmeshb - libmetalink - libmicrohttpd - libmikmod @@ -788,6 +794,7 @@ required_for_references: - libpfm4 - libphonenumber - libpng +- libpointmatcher - libpq - libpqxx - libproperties @@ -1265,6 +1272,7 @@ required_for_references: - readerwriterqueue - readline - readosm +- rebound - recastnavigation - reckless - rectanglebinpack @@ -1598,6 +1606,7 @@ required_for_references: - wslay - wt - wtl +- wxwidgets - wyhash - xapian-core - xbyak From 7266d08e0e9d6f95ae56630e8bcf31bae71628a3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Francisco=20Ram=C3=ADrez?= Date: Tue, 27 Aug 2024 08:42:32 +0200 Subject: [PATCH 426/641] (#25053) qt: Fixed Qt uses vulkan-headers from system --- recipes/qt/6.x.x/conanfile.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/recipes/qt/6.x.x/conanfile.py b/recipes/qt/6.x.x/conanfile.py index 24db2fd10d54e..508b43c683f44 100644 --- a/recipes/qt/6.x.x/conanfile.py +++ b/recipes/qt/6.x.x/conanfile.py @@ -562,6 +562,9 @@ def generate(self): if not self.options.with_zstd: tc.variables["CMAKE_DISABLE_FIND_PACKAGE_WrapZSTD"] = "ON" + if not self.options.get_safe("with_vulkan"): + tc.variables["CMAKE_DISABLE_FIND_PACKAGE_WrapVulkanHeaders"] = "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 From 861d3abb86d9bc902c8fb27fdf5d170930edd0c2 Mon Sep 17 00:00:00 2001 From: Uilian Ries Date: Thu, 29 Aug 2024 16:26:06 +0200 Subject: [PATCH 427/641] (#25031) [boost] Add version 1.86.0 * Add conan 1.86 in yaml files Signed-off-by: Uilian Ries * Add boost 1.86.0 dependencies Signed-off-by: Uilian Ries * Boost graph requires C++14 Signed-off-by: Uilian Ries * Apply iconv patch for Boost 1.86 Signed-off-by: Uilian Ries * Manage boost_stacktrace_from_exception Signed-off-by: Uilian Ries * boost_stacktrace_from_exception does not require backtrace Signed-off-by: Uilian Ries * stacktrace_from_exception requires stacktrace Signed-off-by: Uilian Ries * remove check_min_cppstd from imports Signed-off-by: Uilian Ries * stacktrace_from_exception_available depends on stacktrace option Signed-off-by: Uilian Ries --------- Signed-off-by: Uilian Ries --- recipes/boost/all/conandata.yml | 9 + recipes/boost/all/conanfile.py | 34 +- .../all/dependencies/dependencies-1.86.0.yml | 291 ++++++++++++++++++ recipes/boost/config.yml | 2 + 4 files changed, 333 insertions(+), 3 deletions(-) create mode 100644 recipes/boost/all/dependencies/dependencies-1.86.0.yml diff --git a/recipes/boost/all/conandata.yml b/recipes/boost/all/conandata.yml index b60976ce52867..9a49b404141c2 100644 --- a/recipes/boost/all/conandata.yml +++ b/recipes/boost/all/conandata.yml @@ -1,4 +1,9 @@ sources: + "1.86.0": + url: + - "https://boostorg.jfrog.io/artifactory/main/release/1.86.0/source/boost_1_86_0.tar.bz2" + - "https://sourceforge.net/projects/boost/files/boost/1.86.0/boost_1_86_0.tar.bz2" + sha256: "1bed88e40401b2cb7a1f76d4bab499e352fa4d0c5f31c0dbae64e24d34d7513b" "1.85.0": url: - "https://boostorg.jfrog.io/artifactory/main/release/1.85.0/source/boost_1_85_0.tar.bz2" @@ -73,6 +78,10 @@ sources: url: "https://boostorg.jfrog.io/artifactory/main/release/1.71.0/source/boost_1_71_0.tar.bz2" sha256: "d73a8da01e8bf8c7eda40b4c84915071a8c8a0df4a6734537ddde4a8580524ee" patches: + "1.86.0": + - patch_file: "patches/1.82.0-locale-iconv-library-option.patch" + patch_description: "Optional flag to specify iconv from either libc of libiconv" + patch_type: "conan" "1.85.0": - patch_file: "patches/1.82.0-locale-iconv-library-option.patch" patch_description: "Optional flag to specify iconv from either libc of libiconv" diff --git a/recipes/boost/all/conanfile.py b/recipes/boost/all/conanfile.py index 56d8d710c299b..1300dc4480ac6 100644 --- a/recipes/boost/all/conanfile.py +++ b/recipes/boost/all/conanfile.py @@ -1,7 +1,7 @@ from conan import ConanFile from conan.errors import ConanException, ConanInvalidConfiguration from conan.tools.apple import is_apple_os, to_apple_arch, XCRun -from conan.tools.build import build_jobs, check_min_cppstd, cross_building, valid_min_cppstd, supported_cppstd +from conan.tools.build import build_jobs, cross_building, valid_min_cppstd, supported_cppstd from conan.tools.env import VirtualBuildEnv from conan.tools.files import ( apply_conandata_patches, chdir, collect_libs, copy, export_conandata_patches, @@ -432,6 +432,8 @@ def config_options(self): self.options.without_url = True if Version(self.version) >= "1.85.0" and not self._has_cppstd_14_supported: self.options.without_math = True + if Version(self.version) >= "1.86.0" and not self._has_cppstd_14_supported: + self.options.without_graph = True # iconv is off by default on Windows and Solaris if self._is_windows_platform or self.settings.os == "SunOS": @@ -457,6 +459,14 @@ def disable_math(): except ConanException: pass + def disable_graph(): + super_modules = self._all_super_modules("graph") + for smod in super_modules: + try: + setattr(self.options, f"without_{smod}", True) + except ConanException: + pass + if Version(self.version) >= "1.76.0": # Starting from 1.76.0, Boost.Math requires a c++11 capable compiler # ==> disable it by default for older compilers or c++ standards @@ -565,6 +575,18 @@ def disable_cobalt(): elif not self._has_cppstd_14_supported: disable_math() + if Version(self.version) >= "1.86.0": + # Boost 1.86.0 updated more components that require C++14 and C++17 + # https://www.boost.org/users/history/version_1_86_0.html + if self.settings.compiler.get_safe("cppstd"): + if not valid_min_cppstd(self, 14): + disable_graph() + else: + min_compiler_version = self._min_compiler_version_default_cxx14 + if min_compiler_version is None: + self.output.warning("Assuming the compiler supports c++14 by default") + elif not self._has_cppstd_14_supported: + disable_graph() @property def _configure_options(self): @@ -587,8 +609,12 @@ def _stacktrace_addr2line_available(self): @property def _stacktrace_from_exception_available(self): - if Version(self.version) >= "1.85.0": + if Version(self.version) == "1.85.0": + # https://github.com/boostorg/stacktrace/blob/boost-1.85.0/build/Jamfile.v2#L143 return not self.options.header_only and not self.options.without_stacktrace and self.settings.os != "Windows" + elif Version(self.version) >= "1.86.0": + # https://github.com/boostorg/stacktrace/blob/boost-1.86.0/build/Jamfile.v2#L148 + return not self.options.header_only and not self.options.without_stacktrace and self.settings.arch == "x86_64" def configure(self): if self.options.header_only: @@ -1891,7 +1917,9 @@ def filter_transform_module_libraries(names): continue if name in ("boost_math_c99l", "boost_math_tr1l") and str(self.settings.arch).startswith("ppc"): continue - if name in ("boost_stacktrace_addr2line", "boost_stacktrace_backtrace", "boost_stacktrace_basic", "boost_stacktrace_from_exception",) and self.settings.os == "Windows": + if name in ("boost_stacktrace_addr2line", "boost_stacktrace_backtrace", "boost_stacktrace_basic") and self.settings.os == "Windows": + continue + if name == "boost_stacktrace_from_exception" and not self._stacktrace_from_exception_available: continue if name == "boost_stacktrace_addr2line" and not self._stacktrace_addr2line_available: continue diff --git a/recipes/boost/all/dependencies/dependencies-1.86.0.yml b/recipes/boost/all/dependencies/dependencies-1.86.0.yml new file mode 100644 index 0000000000000..e1e1e40afaac1 --- /dev/null +++ b/recipes/boost/all/dependencies/dependencies-1.86.0.yml @@ -0,0 +1,291 @@ +configure_options: +- atomic +- charconv +- chrono +- cobalt +- container +- context +- contract +- coroutine +- date_time +- exception +- fiber +- filesystem +- graph +- graph_parallel +- iostreams +- json +- locale +- log +- math +- mpi +- nowide +- program_options +- python +- random +- regex +- serialization +- stacktrace +- system +- test +- thread +- timer +- type_erasure +- url +- wave +dependencies: + atomic: [] + charconv: [] + chrono: + - system + cobalt: + - container + - system + container: [] + context: [] + contract: + - exception + - thread + coroutine: + - context + - exception + - system + date_time: [] + exception: [] + fiber: + - context + - filesystem + fiber_numa: + - fiber + filesystem: + - atomic + - system + graph: + - math + - random + - regex + - serialization + graph_parallel: + - filesystem + - graph + - mpi + - random + - serialization + iostreams: + - random + - regex + json: + - container + - system + locale: + - thread + log: + - atomic + - date_time + - exception + - filesystem + - random + - regex + - system + - thread + log_setup: + - log + math: [] + math_c99: + - math + math_c99f: + - math + math_c99l: + - math + math_tr1: + - math + math_tr1f: + - math + math_tr1l: + - math + mpi: + - graph + - serialization + mpi_python: + - mpi + - python + nowide: + - filesystem + numpy: + - python + prg_exec_monitor: + - test + program_options: [] + python: [] + random: + - system + regex: [] + serialization: [] + stacktrace: [] + stacktrace_addr2line: + - stacktrace + stacktrace_backtrace: + - stacktrace + stacktrace_basic: + - stacktrace + stacktrace_noop: + - stacktrace + stacktrace_windbg: + - stacktrace + stacktrace_windbg_cached: + - stacktrace + stacktrace_from_exception: + - stacktrace + system: [] + test: + - exception + test_exec_monitor: + - test + thread: + - atomic + - chrono + - container + - date_time + - exception + - system + timer: [] + type_erasure: + - thread + unit_test_framework: + - prg_exec_monitor + - test + - test_exec_monitor + url: + - system + wave: + - filesystem + - serialization + wserialization: + - serialization +libs: + atomic: + - boost_atomic + charconv: + - boost_charconv + chrono: + - boost_chrono + cobalt: + - boost_cobalt + container: + - boost_container + context: + - boost_context + contract: + - boost_contract + coroutine: + - boost_coroutine + date_time: + - boost_date_time + exception: + - boost_exception + fiber: + - boost_fiber + fiber_numa: + - boost_fiber_numa + filesystem: + - boost_filesystem + graph: + - boost_graph + graph_parallel: + - boost_graph_parallel + iostreams: + - boost_iostreams + json: + - boost_json + locale: + - boost_locale + log: + - boost_log + log_setup: + - boost_log_setup + math: [] + math_c99: + - boost_math_c99 + math_c99f: + - boost_math_c99f + math_c99l: + - boost_math_c99l + math_tr1: + - boost_math_tr1 + math_tr1f: + - boost_math_tr1f + math_tr1l: + - boost_math_tr1l + mpi: + - boost_mpi + mpi_python: + - boost_mpi_python + nowide: + - boost_nowide + numpy: + - boost_numpy{py_major}{py_minor} + prg_exec_monitor: + - boost_prg_exec_monitor + program_options: + - boost_program_options + python: + - boost_python{py_major}{py_minor} + random: + - boost_random + regex: + - boost_regex + serialization: + - boost_serialization + stacktrace: [] + stacktrace_addr2line: + - boost_stacktrace_addr2line + stacktrace_backtrace: + - boost_stacktrace_backtrace + stacktrace_basic: + - boost_stacktrace_basic + stacktrace_from_exception: + - boost_stacktrace_from_exception + stacktrace_noop: + - boost_stacktrace_noop + stacktrace_windbg: + - boost_stacktrace_windbg + stacktrace_windbg_cached: + - boost_stacktrace_windbg_cached + system: + - boost_system + test: [] + test_exec_monitor: + - boost_test_exec_monitor + thread: + - boost_thread + timer: + - boost_timer + type_erasure: + - boost_type_erasure + unit_test_framework: + - boost_unit_test_framework + url: + - boost_url + wave: + - boost_wave + wserialization: + - boost_wserialization +requirements: + iostreams: + - bzip2 + - lzma + - zlib + - zstd + locale: + - iconv + - icu + python: + - python + regex: + - icu + stacktrace: + - backtrace +static_only: +- boost_exception +- boost_test_exec_monitor +version: 1.86.0 diff --git a/recipes/boost/config.yml b/recipes/boost/config.yml index 3363c84d6a537..2cac249885115 100644 --- a/recipes/boost/config.yml +++ b/recipes/boost/config.yml @@ -1,4 +1,6 @@ versions: + "1.86.0": + folder: all "1.85.0": folder: all "1.84.0": From 915da092a66a7bad5d917ec09b0165b941bdaa97 Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 30 Aug 2024 00:31:02 +0900 Subject: [PATCH 428/641] (#24447) behaviortree.cpp: add new version 4.6.2 * behaviortree.cpp: add version 4.6.2 * Fix minitrace linkage for 4.6.2 Signed-off-by: Uilian Ries --------- Signed-off-by: Uilian Ries Co-authored-by: Ernesto de Gracia Herranz Co-authored-by: Uilian Ries --- recipes/behaviortree.cpp/all/conandata.yml | 8 +++++ recipes/behaviortree.cpp/all/conanfile.py | 7 +++- .../all/patches/001-minitrace.patch | 32 +++++++++++++++++++ recipes/behaviortree.cpp/config.yml | 2 ++ 4 files changed, 48 insertions(+), 1 deletion(-) create mode 100644 recipes/behaviortree.cpp/all/patches/001-minitrace.patch diff --git a/recipes/behaviortree.cpp/all/conandata.yml b/recipes/behaviortree.cpp/all/conandata.yml index 25beb0006c60f..38e09ddf41730 100644 --- a/recipes/behaviortree.cpp/all/conandata.yml +++ b/recipes/behaviortree.cpp/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "4.6.2": + url: "https://github.com/BehaviorTree/BehaviorTree.CPP/archive/refs/tags/4.6.2.tar.gz" + sha256: "b0e7e53b27feae894e2df3f3faadfdd49f2108ebccfb1bd7cc0d405ffc56cecd" "4.6.1": url: "https://github.com/BehaviorTree/BehaviorTree.CPP/archive/refs/tags/4.6.1.tar.gz" sha256: "a4e0dd92b200eedfbc6a16bebe613aeeb84b685416211b68fd097d21254f324b" @@ -17,3 +20,8 @@ sources: "3.7.0": url: "https://github.com/BehaviorTree/BehaviorTree.CPP/archive/refs/tags/3.7.0.tar.gz" sha256: "ab0d8ac1a0df4dd43cf45da8a784bab7fdedf711bd0e227f7ed071f79b0c7b5c" +patches: + "4.6.2": + - patch_file: "patches/001-minitrace.patch" + patch_description: "Consume minitrace from Conan" + patch_type: "conan" diff --git a/recipes/behaviortree.cpp/all/conanfile.py b/recipes/behaviortree.cpp/all/conanfile.py index 219b2a799c6c6..df11b679e6fcb 100644 --- a/recipes/behaviortree.cpp/all/conanfile.py +++ b/recipes/behaviortree.cpp/all/conanfile.py @@ -5,6 +5,7 @@ from conan.tools.build import check_min_cppstd, cross_building from conan.tools.scm import Version from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.files import export_conandata_patches, apply_conandata_patches import os @@ -74,6 +75,7 @@ def _minimum_compilers_version(self): } def export_sources(self): + export_conandata_patches(self) copy(self, "conan_deps.cmake", self.recipe_folder, os.path.join(self.export_sources_folder, "src")) def config_options(self): @@ -216,6 +218,7 @@ def generate(self): deps.generate() def _patch_sources(self): + apply_conandata_patches(self) cmakelists = os.path.join(self.source_folder, "CMakeLists.txt") # Let Conan handle -fPIC replace_in_file(self, cmakelists, "set(CMAKE_POSITION_INDEPENDENT_CODE ON)\n", "") @@ -226,7 +229,9 @@ def _patch_sources(self): # Unvendor minitrace if self._with_minitrace: rmdir(self, os.path.join(self.source_folder, "3rdparty", "minitrace")) - replace_in_file(self, cmakelists, "3rdparty/minitrace/minitrace.cpp", "") + if Version(self.version) < "4.6.2": + # INFO: Version 4.6.2 removed minitrace via patch file 001-minitrace.patch + replace_in_file(self, cmakelists, "3rdparty/minitrace/minitrace.cpp", "") replace_in_file(self, os.path.join(self.source_folder, "src", "loggers", "bt_minitrace_logger.cpp"), "minitrace/minitrace.h", "minitrace.h") # Unvendor tinyxml2 diff --git a/recipes/behaviortree.cpp/all/patches/001-minitrace.patch b/recipes/behaviortree.cpp/all/patches/001-minitrace.patch new file mode 100644 index 0000000000000..734c4e7f4c8b5 --- /dev/null +++ b/recipes/behaviortree.cpp/all/patches/001-minitrace.patch @@ -0,0 +1,32 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 9b6d1eb..fd0e84f 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -39,6 +39,7 @@ endif() + + #---- Find other packages ---- + find_package(Threads REQUIRED) ++find_package(minitrace REQUIRED) + + + set(BEHAVIOR_TREE_LIBRARY ${PROJECT_NAME}) +@@ -80,10 +81,6 @@ endif() + + add_subdirectory(3rdparty/lexy) + +-add_library(minitrace STATIC 3rdparty/minitrace/minitrace.cpp) +-target_compile_definitions(minitrace PRIVATE MTR_ENABLED=True) +-set_property(TARGET minitrace PROPERTY POSITION_INDEPENDENT_CODE ON) +- + list(APPEND BT_SOURCE + src/action_node.cpp + src/basic_types.cpp +@@ -166,7 +163,7 @@ target_link_libraries(${BTCPP_LIBRARY} + Threads::Threads + ${CMAKE_DL_LIBS} + $ +- minitrace ++ minitrace::minitrace + PUBLIC + ${BTCPP_EXTRA_LIBRARIES} + ) diff --git a/recipes/behaviortree.cpp/config.yml b/recipes/behaviortree.cpp/config.yml index 6056a1ddad488..12e603c7e2db2 100644 --- a/recipes/behaviortree.cpp/config.yml +++ b/recipes/behaviortree.cpp/config.yml @@ -1,4 +1,6 @@ versions: + "4.6.2": + folder: all "4.6.1": folder: all "4.6.0": From 68e7c84bc5116e1c8277d0aa58682a86b3d0b99c Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 30 Aug 2024 01:12:19 +0900 Subject: [PATCH 429/641] (#25035) sqlite_orm: add version 1.9 * sqlite_orm: add version 1.9 * fix typo * drop support gcc 5 on 1.9 * drop support gcc 6 and 7 on 1.9 --- recipes/sqlite_orm/all/conandata.yml | 3 +++ recipes/sqlite_orm/all/conanfile.py | 7 ++++--- recipes/sqlite_orm/config.yml | 2 ++ 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/recipes/sqlite_orm/all/conandata.yml b/recipes/sqlite_orm/all/conandata.yml index b99589eb8062e..a5275f45fe034 100644 --- a/recipes/sqlite_orm/all/conandata.yml +++ b/recipes/sqlite_orm/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.9": + url: "https://github.com/fnc12/sqlite_orm/archive/refs/tags/v1.9.tar.gz" + sha256: "a2fa433e24f6873a9e8cd9dd7e49d2d12640b458f3f6f941163cf60f6673b8a2" "1.8.2": url: "https://github.com/fnc12/sqlite_orm/archive/refs/tags/v1.8.2.tar.gz" sha256: "56e0c7729800637a8061658d0fdad4424d2cdde77b063d23cc1b76aa20339072" diff --git a/recipes/sqlite_orm/all/conanfile.py b/recipes/sqlite_orm/all/conanfile.py index 056b8b5414928..4c411ee943206 100644 --- a/recipes/sqlite_orm/all/conanfile.py +++ b/recipes/sqlite_orm/all/conanfile.py @@ -3,6 +3,7 @@ from conan.tools.build import check_min_cppstd from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get from conan.tools.layout import basic_layout +from conan.tools.scm import Version import os required_conan_version = ">=1.52.0" @@ -12,9 +13,9 @@ class SqliteOrmConan(ConanFile): name = "sqlite_orm" description = "SQLite ORM light header only library for modern C++." license = "BSD-3-Clause" - topics = ("sqlite", "sql", "database", "orm") - homepage = "https://github.com/fnc12/sqlite_orm" url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/fnc12/sqlite_orm" + topics = ("sqlite", "sql", "database", "orm", "header-only") package_type = "header-library" settings = "os", "arch", "compiler", "build_type" @@ -25,7 +26,7 @@ def _min_cppstd(self): @property def _compilers_minimum_version(self): return { - "gcc": "5", + "gcc": "5" if Version(self.version) < "1.9" else "8", "Visual Studio": "14", "msvc": "190", "clang": "3.4", diff --git a/recipes/sqlite_orm/config.yml b/recipes/sqlite_orm/config.yml index ab20df18e03f0..62ef26b962237 100644 --- a/recipes/sqlite_orm/config.yml +++ b/recipes/sqlite_orm/config.yml @@ -1,4 +1,6 @@ versions: + "1.9": + folder: all "1.8.2": folder: all "1.8.1": From 72b20449861c75751c4b62f8d0297fd19c322b08 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Thu, 29 Aug 2024 18:32:21 +0200 Subject: [PATCH 430/641] (#25040) Add new recipe iphreeqc/3.8.1 * add iphreeqc/3.8.1 * add cmake to build requirements * add libm to system libs * fix libname if not Release build_type * remove src dir in install tree for windows --- recipes/iphreeqc/all/conandata.yml | 9 ++ recipes/iphreeqc/all/conanfile.py | 101 ++++++++++++++++++ ...001-dont-build-examples-doc-database.patch | 11 ++ .../iphreeqc/all/test_package/CMakeLists.txt | 7 ++ .../iphreeqc/all/test_package/conanfile.py | 26 +++++ .../iphreeqc/all/test_package/test_package.c | 8 ++ recipes/iphreeqc/config.yml | 3 + 7 files changed, 165 insertions(+) create mode 100644 recipes/iphreeqc/all/conandata.yml create mode 100644 recipes/iphreeqc/all/conanfile.py create mode 100644 recipes/iphreeqc/all/patches/3.8.1-0001-dont-build-examples-doc-database.patch create mode 100644 recipes/iphreeqc/all/test_package/CMakeLists.txt create mode 100644 recipes/iphreeqc/all/test_package/conanfile.py create mode 100644 recipes/iphreeqc/all/test_package/test_package.c create mode 100644 recipes/iphreeqc/config.yml diff --git a/recipes/iphreeqc/all/conandata.yml b/recipes/iphreeqc/all/conandata.yml new file mode 100644 index 0000000000000..a249b379218dd --- /dev/null +++ b/recipes/iphreeqc/all/conandata.yml @@ -0,0 +1,9 @@ +sources: + "3.8.1": + url: "https://github.com/usgs-coupled/iphreeqc/releases/download/v3.8.1/iphreeqc-3.8.1-16963.tar.gz" + sha256: "15c47959a25e6c8b5d0c47214ea0c3f3626257dacc24a89d0f9c9635186c375c" +patches: + "3.8.1": + - patch_file: "patches/3.8.1-0001-dont-build-examples-doc-database.patch" + patch_description: "Don't build examples, doc and database" + patch_type: "conan" diff --git a/recipes/iphreeqc/all/conanfile.py b/recipes/iphreeqc/all/conanfile.py new file mode 100644 index 0000000000000..84c2b765e8d90 --- /dev/null +++ b/recipes/iphreeqc/all/conanfile.py @@ -0,0 +1,101 @@ +from conan import ConanFile +from conan.tools.build import stdcpp_library +from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rmdir +from conan.tools.microsoft import msvc_runtime_flag +import os + +required_conan_version = ">=1.54.0" + + +class IphreeqcConan(ConanFile): + name = "iphreeqc" + description = ( + "Library implementing the geochemical model PHREEQC. It is capable of " + "simulating a wide range of equilibrium reactions between water and " + "minerals, ion exchangers, surface complexes, solid solutions, and gases." + ) + license = "FSFUL" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://www.usgs.gov/software/phreeqc-version-3" + topics = ("geochemistry", "modeling") + package_type = "library" + settings = "os", "arch", "compiler", "build_type" + options = { + "shared": [True, False], + "fPIC": [True, False], + } + default_options = { + "shared": False, + "fPIC": True, + } + + @property + def _is_cl_like(self): + return self.settings.compiler.get_safe("runtime") is not None + + @property + def _is_cl_like_static_runtime(self): + return self._is_cl_like and "MT" in msvc_runtime_flag(self) + + def export_sources(self): + export_conandata_patches(self) + + def config_options(self): + if self.settings.os == "Windows": + del self.options.fPIC + + def configure(self): + if self.options.shared: + self.options.rm_safe("fPIC") + + def layout(self): + cmake_layout(self, src_folder="src") + + def build_requirements(self): + self.tool_requires("cmake/[>=3.20 <4]") + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + if self._is_cl_like: + tc.variables["IPHREEQC_STATIC_RUNTIME"] = self._is_cl_like_static_runtime + tc.variables["IPHREEQC_ENABLE_MODULE"] = False + tc.variables["IPHREEQC_FORTRAN_TESTING"] = False + tc.variables["BUILD_CLR_LIBS"] = False + tc.generate() + + def build(self): + apply_conandata_patches(self) + cmake = CMake(self) + cmake.configure() + cmake.build() + + def package(self): + copy(self, "INSTALL", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + cmake = CMake(self) + cmake.install() + rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) + rmdir(self, os.path.join(self.package_folder, "src")) + rmdir(self, os.path.join(self.package_folder, "share")) + + def package_info(self): + self.cpp_info.set_property("cmake_file_name", "IPhreeqc") + self.cpp_info.set_property("cmake_target_name", "IPhreeqc::IPhreeqc") + postfix = "" + if self.settings.build_type == "Debug": + postfix += "d" + elif self.settings.build_type == "MinSizeRel": + postfix += "msr" + elif self.settings.build_type == "RelWithDebInfo": + postfix += "rwd" + self.cpp_info.libs = [f"IPhreeqc{postfix}"] + self.cpp_info.defines.append("IPHREEQC_NO_FORTRAN_MODULE") + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.system_libs.append("m") + if not self.options.shared: + libcxx = stdcpp_library(self) + if libcxx: + self.cpp_info.system_libs.append(libcxx) diff --git a/recipes/iphreeqc/all/patches/3.8.1-0001-dont-build-examples-doc-database.patch b/recipes/iphreeqc/all/patches/3.8.1-0001-dont-build-examples-doc-database.patch new file mode 100644 index 0000000000000..3704fa470a6a6 --- /dev/null +++ b/recipes/iphreeqc/all/patches/3.8.1-0001-dont-build-examples-doc-database.patch @@ -0,0 +1,11 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -400,7 +400,7 @@ endif() + + include (CTest) + +-if (STANDALONE_BUILD) ++if (0) + + add_subdirectory(database) + add_subdirectory(doc) diff --git a/recipes/iphreeqc/all/test_package/CMakeLists.txt b/recipes/iphreeqc/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..13618cfaf693e --- /dev/null +++ b/recipes/iphreeqc/all/test_package/CMakeLists.txt @@ -0,0 +1,7 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES C) + +find_package(IPhreeqc REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.c) +target_link_libraries(${PROJECT_NAME} PRIVATE IPhreeqc::IPhreeqc) diff --git a/recipes/iphreeqc/all/test_package/conanfile.py b/recipes/iphreeqc/all/test_package/conanfile.py new file mode 100644 index 0000000000000..0a6bc68712d90 --- /dev/null +++ b/recipes/iphreeqc/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/iphreeqc/all/test_package/test_package.c b/recipes/iphreeqc/all/test_package/test_package.c new file mode 100644 index 0000000000000..f29ed23c37243 --- /dev/null +++ b/recipes/iphreeqc/all/test_package/test_package.c @@ -0,0 +1,8 @@ +#include + +int main() +{ + int id = CreateIPhreeqc(); + DestroyIPhreeqc(id); + return 0; +} diff --git a/recipes/iphreeqc/config.yml b/recipes/iphreeqc/config.yml new file mode 100644 index 0000000000000..f3cf585c380d6 --- /dev/null +++ b/recipes/iphreeqc/config.yml @@ -0,0 +1,3 @@ +versions: + "3.8.1": + folder: all From 9f9e7524d3a4619b9ba48fc9a41e8fb7d92f0d0d Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 30 Aug 2024 01:50:49 +0900 Subject: [PATCH 431/641] (#25042) ada: add version 2.9.1 --- recipes/ada/all/conandata.yml | 3 +++ recipes/ada/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/ada/all/conandata.yml b/recipes/ada/all/conandata.yml index 4302d6278da6c..9dc48dadae03a 100644 --- a/recipes/ada/all/conandata.yml +++ b/recipes/ada/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.9.1": + url: "https://github.com/ada-url/ada/archive/v2.9.1.tar.gz" + sha256: "64eb3d91db941645d1b68ac8d1cbb7b534fbe446b66c1da11e384e17fca975e7" "2.9.0": url: "https://github.com/ada-url/ada/archive/v2.9.0.tar.gz" sha256: "8b992f0ce9134cb4eafb74b164d2ce2cb3af1900902162713b0e0c5ab0b6acd8" diff --git a/recipes/ada/config.yml b/recipes/ada/config.yml index 6c8f8963de719..e320c36b8f7af 100644 --- a/recipes/ada/config.yml +++ b/recipes/ada/config.yml @@ -1,4 +1,6 @@ versions: + "2.9.1": + folder: all "2.9.0": folder: all "2.8.0": From 70261b58800f1654150165c15e12c724f845ee47 Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 30 Aug 2024 02:10:30 +0900 Subject: [PATCH 432/641] (#25052) dice-template-library: add version 1.9.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 f7dd63fb5557c..580b85f394958 100644 --- a/recipes/dice-template-library/all/conandata.yml +++ b/recipes/dice-template-library/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.9.0": + url: "https://github.com/dice-group/dice-template-library/archive/refs/tags/v1.9.0.tar.gz" + sha256: "ca82a61bd445e0eaf69e68fc4a96d037c8b2ea36ff7762042dbb6f47a89f99e9" "1.8.0": url: "https://github.com/dice-group/dice-template-library/archive/refs/tags/v1.8.0.tar.gz" sha256: "cb20717cb596b156b098146d043caa158618e055b8edbeb4d3245cd11e1c8276" diff --git a/recipes/dice-template-library/config.yml b/recipes/dice-template-library/config.yml index 5f58323cb4526..37901e90b8f3b 100644 --- a/recipes/dice-template-library/config.yml +++ b/recipes/dice-template-library/config.yml @@ -1,4 +1,6 @@ versions: + "1.9.0": + folder: all "1.8.0": folder: all "1.6.0": From 8e0accab198e187a49862018d8367793b558662d Mon Sep 17 00:00:00 2001 From: Jeremy Rifkin <51220084+jeremy-rifkin@users.noreply.github.com> Date: Thu, 29 Aug 2024 12:32:11 -0500 Subject: [PATCH 433/641] (#25057) cpptrace: Add v0.7.0 * Add cpptrace v0.7.0 * Set CPPTRACE_POSITION_INDEPENDENT_CODE --- recipes/cpptrace/all/conandata.yml | 4 ++++ recipes/cpptrace/all/conanfile.py | 1 + recipes/cpptrace/config.yml | 2 ++ 3 files changed, 7 insertions(+) diff --git a/recipes/cpptrace/all/conandata.yml b/recipes/cpptrace/all/conandata.yml index 8d3de77ad0a97..626503503c52b 100644 --- a/recipes/cpptrace/all/conandata.yml +++ b/recipes/cpptrace/all/conandata.yml @@ -1,5 +1,9 @@ sources: # Newer versions at the top + "0.7.0": + url: + - "https://github.com/jeremy-rifkin/cpptrace/archive/refs/tags/v0.7.0.tar.gz" + sha256: "b5c1fbd162f32b8995d9b1fefb1b57fac8b1a0e790f897b81cdafe3625d12001" "0.6.3": url: - "https://github.com/jeremy-rifkin/cpptrace/archive/refs/tags/v0.6.3.tar.gz" diff --git a/recipes/cpptrace/all/conanfile.py b/recipes/cpptrace/all/conanfile.py index fe0556f21f1b2..6fcf6290cb18d 100644 --- a/recipes/cpptrace/all/conanfile.py +++ b/recipes/cpptrace/all/conanfile.py @@ -76,6 +76,7 @@ def generate(self): tc.variables["CPPTRACE_USE_SYSTEM_LIBDWARF"] = True if self.options.unwind == "libunwind": tc.variables["CPPTRACE_UNWIND_WITH_LIBUNWIND"] = True + tc.cache_variables["CPPTRACE_POSITION_INDEPENDENT_CODE"] = self.options.get_safe("fPIC", True) tc.generate() tc = CMakeDeps(self) tc.generate() diff --git a/recipes/cpptrace/config.yml b/recipes/cpptrace/config.yml index e38d73d503e6f..f2ab2fae68218 100644 --- a/recipes/cpptrace/config.yml +++ b/recipes/cpptrace/config.yml @@ -1,5 +1,7 @@ versions: # Newer versions at the top + "0.7.0": + folder: all "0.6.3": folder: all "0.6.2": From 819c75e9e36828a760979a2bbd15e115c39c4c6b Mon Sep 17 00:00:00 2001 From: Carlos Zoido Date: Thu, 29 Aug 2024 20:22:29 +0200 Subject: [PATCH 434/641] (#25078) Change default disable_static_registration to True for onnx * change default disable_static_registration * empty commit --- recipes/onnx/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/onnx/all/conanfile.py b/recipes/onnx/all/conanfile.py index 02c220e3798ce..0032d4c6de8cd 100644 --- a/recipes/onnx/all/conanfile.py +++ b/recipes/onnx/all/conanfile.py @@ -32,7 +32,7 @@ class OnnxConan(ConanFile): default_options = { "shared": False, "fPIC": True, - "disable_static_registration": False, + "disable_static_registration": True, } @property From a19aa34e326523b494eebdeffa329c883e4d1194 Mon Sep 17 00:00:00 2001 From: Ernesto de Gracia Herranz Date: Thu, 29 Aug 2024 20:42:15 +0200 Subject: [PATCH 435/641] (#25079) Change openjdk policy MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Abril Rincón Blanco --- recipes/openjdk/all/conanfile.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/recipes/openjdk/all/conanfile.py b/recipes/openjdk/all/conanfile.py index 33d8977b70cc4..6e6220a975840 100644 --- a/recipes/openjdk/all/conanfile.py +++ b/recipes/openjdk/all/conanfile.py @@ -16,6 +16,8 @@ class OpenJDK(ConanFile): license = "GPL-2.0-only WITH Classpath-exception-2.0", "GPL-2.0-only WITH OpenJDK-assembly-exception-1.0" topics = ("java", "jdk", "openjdk") settings = "os", "arch", "compiler", "build_type" + upload_policy = "skip" + build_policy = "missing" def package_id(self): del self.info.settings.compiler @@ -23,7 +25,7 @@ def package_id(self): def configure(self): self.settings.rm_safe("os.version") - + def validate(self): if Version(self.version) < "19.0.2" and self.settings.arch != "x86_64": raise ConanInvalidConfiguration("Unsupported Architecture. This package currently only supports x86_64.") From 4aeb0ded71dc2812000ff5b350e56a7969744145 Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 30 Aug 2024 16:51:07 +0900 Subject: [PATCH 436/641] (#25041) daw_header_libraries: add version 2.110.0 * daw_header_libraries: add version 2.109.0 * use daw::array in test_package * update 2.110.0 --- recipes/daw_header_libraries/all/conandata.yml | 3 +++ .../daw_header_libraries/all/test_package/CMakeLists.txt | 6 +++++- .../all/test_package/test_package.cpp | 4 ++-- .../all/test_package/test_package_old.cpp | 9 +++++++++ recipes/daw_header_libraries/config.yml | 2 ++ 5 files changed, 21 insertions(+), 3 deletions(-) create mode 100644 recipes/daw_header_libraries/all/test_package/test_package_old.cpp diff --git a/recipes/daw_header_libraries/all/conandata.yml b/recipes/daw_header_libraries/all/conandata.yml index 0562aafef47b0..d625fa7c5a1cb 100644 --- a/recipes/daw_header_libraries/all/conandata.yml +++ b/recipes/daw_header_libraries/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.110.0": + url: "https://github.com/beached/header_libraries/archive/v2.110.0.tar.gz" + sha256: "6515bb7a130656adff9f1f17d6be69dbd7c40dbcebbe418e9d0cf15bbc71bffc" "2.107.0": url: "https://github.com/beached/header_libraries/archive/v2.107.0.tar.gz" sha256: "b84f7666d004da466d0035e9f475797395e90b6e8f23e000816b45aa13d4fc35" diff --git a/recipes/daw_header_libraries/all/test_package/CMakeLists.txt b/recipes/daw_header_libraries/all/test_package/CMakeLists.txt index 817fb2a992dc4..2474980662644 100644 --- a/recipes/daw_header_libraries/all/test_package/CMakeLists.txt +++ b/recipes/daw_header_libraries/all/test_package/CMakeLists.txt @@ -4,6 +4,10 @@ project(test_package LANGUAGES CXX) find_package(daw-header-libraries REQUIRED CONFIG) -add_executable(${PROJECT_NAME} test_package.cpp) +if(daw-header-libraries_VERSION VERSION_LESS "2.109.0") + add_executable(${PROJECT_NAME} test_package_old.cpp) +else() + add_executable(${PROJECT_NAME} test_package.cpp) +endif() target_link_libraries(${PROJECT_NAME} PRIVATE daw::daw-header-libraries) target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) diff --git a/recipes/daw_header_libraries/all/test_package/test_package.cpp b/recipes/daw_header_libraries/all/test_package/test_package.cpp index 7b47a51d28ef5..63fa16b601f2d 100644 --- a/recipes/daw_header_libraries/all/test_package/test_package.cpp +++ b/recipes/daw_header_libraries/all/test_package/test_package.cpp @@ -1,7 +1,7 @@ -#include "daw/daw_carray.h" +#include "daw/daw_bounded_array.h" int main() { - daw::carray t = { 1, 2, 3, 4, 5, 6 }; + daw::array t = { 1, 2, 3, 4, 5, 6 }; auto val = t[3]; diff --git a/recipes/daw_header_libraries/all/test_package/test_package_old.cpp b/recipes/daw_header_libraries/all/test_package/test_package_old.cpp new file mode 100644 index 0000000000000..7b47a51d28ef5 --- /dev/null +++ b/recipes/daw_header_libraries/all/test_package/test_package_old.cpp @@ -0,0 +1,9 @@ +#include "daw/daw_carray.h" + +int main() { + daw::carray t = { 1, 2, 3, 4, 5, 6 }; + + auto val = t[3]; + + return 0; +} diff --git a/recipes/daw_header_libraries/config.yml b/recipes/daw_header_libraries/config.yml index 64c10e5dcf7f6..5a75a14b1e758 100644 --- a/recipes/daw_header_libraries/config.yml +++ b/recipes/daw_header_libraries/config.yml @@ -1,4 +1,6 @@ versions: + "2.110.0": + folder: all "2.107.0": folder: all "2.106.2": From 82328b8744a6c49e43ca9506b2e4d91321ad69e6 Mon Sep 17 00:00:00 2001 From: Frank Schoenmann Date: Fri, 30 Aug 2024 10:31:49 +0200 Subject: [PATCH 437/641] (#25051) bzip2: use SPDX-compliant license identifier --- recipes/bzip2/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/bzip2/all/conanfile.py b/recipes/bzip2/all/conanfile.py index 2a39045a8299d..ce77ac1450e7d 100644 --- a/recipes/bzip2/all/conanfile.py +++ b/recipes/bzip2/all/conanfile.py @@ -12,7 +12,7 @@ class Bzip2Conan(ConanFile): name = "bzip2" url = "https://github.com/conan-io/conan-center-index" homepage = "https://sourceware.org/bzip2" - license = "bzip2-1.0.8" + license = "bzip2-1.0.6" description = "bzip2 is a free and open-source file compression program that uses the Burrows Wheeler algorithm." topics = ("data-compressor", "file-compression") package_type = "library" From 4d4a97576894bed0a590010c05019fec3b68b1b8 Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 30 Aug 2024 18:30:46 +0900 Subject: [PATCH 438/641] (#25065) pdf-writer: add version 4.6.7 --- recipes/pdf-writer/all/conandata.yml | 7 +++++++ recipes/pdf-writer/config.yml | 2 ++ 2 files changed, 9 insertions(+) diff --git a/recipes/pdf-writer/all/conandata.yml b/recipes/pdf-writer/all/conandata.yml index 6325de8b17065..0d800cc7a7750 100644 --- a/recipes/pdf-writer/all/conandata.yml +++ b/recipes/pdf-writer/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "4.6.7": + url: "https://github.com/galkahana/PDF-Writer/archive/refs/tags/v4.6.7.tar.gz" + sha256: "735c65d4685c5156f0876635f3bc1565700d0f648fbb1f384e46d186796c8bae" "4.6.6": url: "https://github.com/galkahana/PDF-Writer/archive/refs/tags/v4.6.6.tar.gz" sha256: "8343820313e553052df68c75fe2bf35353da2719106e81eb2a8b026ff96c7d7c" @@ -18,6 +21,10 @@ sources: url: "https://github.com/galkahana/PDF-Writer/archive/refs/tags/v4.5.12.tar.gz" sha256: "40fcbaa66fc46fcb588ceda119ba8839ff6d2c886191ac5e68ed702475c7336e" patches: + "4.6.7": + - patch_file: "patches/4.6.6-0001-fix-cmake.patch" + patch_description: "disable cpack" + patch_type: "conan" "4.6.6": - patch_file: "patches/4.6.6-0001-fix-cmake.patch" patch_description: "disable cpack" diff --git a/recipes/pdf-writer/config.yml b/recipes/pdf-writer/config.yml index 422e112234c81..36e4d583c87ad 100644 --- a/recipes/pdf-writer/config.yml +++ b/recipes/pdf-writer/config.yml @@ -1,4 +1,6 @@ versions: + "4.6.7": + folder: all "4.6.6": folder: all "4.6.4": From 3ded089a3d8477a7dbcb202ecd74d0ccb6d7156e Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 30 Aug 2024 18:50:33 +0900 Subject: [PATCH 439/641] (#25066) valijson: add version 1.0.3 --- recipes/valijson/all/conandata.yml | 3 +++ recipes/valijson/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/valijson/all/conandata.yml b/recipes/valijson/all/conandata.yml index 9c69d92d45720..3db6eca065b46 100644 --- a/recipes/valijson/all/conandata.yml +++ b/recipes/valijson/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.0.3": + url: "https://github.com/tristanpenman/valijson/archive/v1.0.3.tar.gz" + sha256: "0fbd3cd2312b441c6373ee116e9a162c400f9e3cd79f6b32665cdd22fa11ac3f" "1.0.2": url: "https://github.com/tristanpenman/valijson/archive/v1.0.2.tar.gz" sha256: "35d86e54fc727f1265226434dc996e33000a570f833537a25c8b702b0b824431" diff --git a/recipes/valijson/config.yml b/recipes/valijson/config.yml index 2244034e46866..b8be269bc2d5e 100644 --- a/recipes/valijson/config.yml +++ b/recipes/valijson/config.yml @@ -1,4 +1,6 @@ versions: + "1.0.3": + folder: "all" "1.0.2": folder: "all" "1.0.1": From b3535054981b007120aa1465639af18d6f97f1fa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Abril=20Rinc=C3=B3n=20Blanco?= Date: Fri, 30 Aug 2024 12:01:53 +0200 Subject: [PATCH 440/641] (#25081) mlpack: Add new 4.4.0 version * Add new 4.4.0 version, step 1 * Removed Xclang flag. Refactored flags assignment --------- Co-authored-by: Francisco Ramirez de Anton --- recipes/mlpack/all/conandata.yml | 3 ++ recipes/mlpack/all/conanfile.py | 45 +++++++++---------- .../mlpack/all/test_package/CMakeLists.txt | 2 +- recipes/mlpack/config.yml | 2 + 4 files changed, 26 insertions(+), 26 deletions(-) diff --git a/recipes/mlpack/all/conandata.yml b/recipes/mlpack/all/conandata.yml index 1b7e9d933c958..13e81aa865d9c 100644 --- a/recipes/mlpack/all/conandata.yml +++ b/recipes/mlpack/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "4.4.0": + url: "https://github.com/mlpack/mlpack/archive/refs/tags/4.4.0.tar.gz" + sha256: "61c604026d05af26c244b0e47024698bbf150dfcc9d77b64057941d7d64d6cf6" "4.3.0": url: "https://github.com/mlpack/mlpack/archive/refs/tags/4.3.0.tar.gz" sha256: "08cd54f711fde66fc3b6c9db89dc26776f9abf1a6256c77cfa3556e2a56f1a3d" diff --git a/recipes/mlpack/all/conanfile.py b/recipes/mlpack/all/conanfile.py index bf8304a813b40..a09b0e5a3296c 100644 --- a/recipes/mlpack/all/conanfile.py +++ b/recipes/mlpack/all/conanfile.py @@ -24,6 +24,8 @@ class MlpackConan(ConanFile): @property def _min_cppstd(self): + if Version(self.version) >= "4.4.0": + return 17 if is_msvc(self): return 17 return 14 @@ -82,23 +84,6 @@ def package(self): excludes=["mlpack/bindings/*", "mlpack/tests/*", "mlpack/CMakeLists.txt"]) self._configure_headers() - @property - def _openmp_flags(self): - # Based on https://github.com/Kitware/CMake/blob/v3.28.1/Modules/FindOpenMP.cmake#L104-L135 - if self.settings.compiler == "clang": - return ["-fopenmp=libomp"] - elif self.settings.compiler == "apple-clang": - return ["-Xclang", "-fopenmp"] - elif self.settings.compiler == "gcc": - return ["-fopenmp"] - elif self.settings.compiler == "intel-cc": - return ["-Qopenmp"] - elif self.settings.compiler == "sun-cc": - return ["-xopenmp"] - elif is_msvc(self): - return ["-openmp:llvm"] - return None - def package_info(self): self.cpp_info.set_property("cmake_file_name", "mlpack") self.cpp_info.set_property("cmake_target_name", "mlpack::mlpack") @@ -113,12 +98,22 @@ def package_info(self): if self.settings.get_safe("compiler.libcxx") in ["libstdc++", "libstdc++11"]: self.cpp_info.system_libs.append("atomic") - self.cpp_info.cflags = self._openmp_flags - self.cpp_info.cxxflags = self._openmp_flags - + # FIXME: Review this flags assignment. LLVM-OpenMP is already defining these ones. + # Do we want to depend on llvm-openmp? Only for apple-clang? + # For more info, see this comment https://github.com/conan-io/conan-center-index/pull/22353#issuecomment-2214593855 + flags = [] + # Based on https://github.com/Kitware/CMake/blob/v3.28.1/Modules/FindOpenMP.cmake#L104-L135 + if self.settings.compiler == "clang": + flags = ["-fopenmp=libomp"] + elif self.settings.compiler == "gcc": + flags = ["-fopenmp"] + if self.settings.os == "Windows": + flags.append("-Wa,-mbig-obj") + elif self.settings.compiler == "sun-cc": + flags = ["-xopenmp"] + elif is_msvc(self): # https://github.com/mlpack/mlpack/blob/4.3.0/CMakeLists.txt#L164-L175 - if is_msvc(self): - self.cpp_info.cxxflags.extend(["/bigobj", "/Zm200", "/Zc:__cplusplus"]) - elif self.settings.os == "Windows" and self.settings.compiler == "gcc": - self.cpp_info.cflags.append("-Wa,-mbig-obj") - self.cpp_info.cxxflags.append("-Wa,-mbig-obj") + flags = ["-openmp:llvm", "/bigobj", "/Zm200", "/Zc:__cplusplus"] + if flags: + self.cpp_info.cflags = flags + self.cpp_info.cxxflags = flags diff --git a/recipes/mlpack/all/test_package/CMakeLists.txt b/recipes/mlpack/all/test_package/CMakeLists.txt index 8bdbe35c75acf..a68462fb67d65 100644 --- a/recipes/mlpack/all/test_package/CMakeLists.txt +++ b/recipes/mlpack/all/test_package/CMakeLists.txt @@ -5,7 +5,7 @@ find_package(mlpack REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) target_link_libraries(${PROJECT_NAME} PRIVATE mlpack::mlpack) -if(MSVC) +if(MSVC OR mlpack_VERSION VERSION_GREATER_EQUAL 4.4.0) target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) else() target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_14) diff --git a/recipes/mlpack/config.yml b/recipes/mlpack/config.yml index fefa3b794940e..e9bbd51f309ab 100644 --- a/recipes/mlpack/config.yml +++ b/recipes/mlpack/config.yml @@ -1,3 +1,5 @@ versions: + "4.4.0": + folder: all "4.3.0": folder: all From 14df2150c553240f849dbea4b34c98689ad28018 Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 30 Aug 2024 19:30:09 +0900 Subject: [PATCH 441/641] (#25073) faker-cxx: add version 3.0.0 --- recipes/faker-cxx/all/conandata.yml | 3 +++ recipes/faker-cxx/all/test_package/CMakeLists.txt | 3 +++ recipes/faker-cxx/all/test_package/test_package.cpp | 12 +++++++++--- recipes/faker-cxx/config.yml | 2 ++ 4 files changed, 17 insertions(+), 3 deletions(-) diff --git a/recipes/faker-cxx/all/conandata.yml b/recipes/faker-cxx/all/conandata.yml index 7125cc87621a1..33704b20363da 100644 --- a/recipes/faker-cxx/all/conandata.yml +++ b/recipes/faker-cxx/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.0.0": + url: "https://github.com/cieslarmichal/faker-cxx/archive/refs/tags/v3.0.0.tar.gz" + sha256: "63d6846376593e05da690136cabe8e7bf42ddcdd4edad3ae9b48696f86d80468" "2.0.0": url: "https://github.com/cieslarmichal/faker-cxx/archive/refs/tags/v2.0.0.tar.gz" sha256: "8a7f5441f4453af868444675878a2d9a74918c1595caa65d537d3ea327e46a49" diff --git a/recipes/faker-cxx/all/test_package/CMakeLists.txt b/recipes/faker-cxx/all/test_package/CMakeLists.txt index 23e8286ff283c..2485457ffc81e 100644 --- a/recipes/faker-cxx/all/test_package/CMakeLists.txt +++ b/recipes/faker-cxx/all/test_package/CMakeLists.txt @@ -6,3 +6,6 @@ find_package(faker-cxx REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) target_link_libraries(${PROJECT_NAME} PRIVATE faker-cxx::faker-cxx) target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_20) +if(faker-cxx_VERSION VERSION_LESS "3.0.0") + target_compile_definitions(${PROJECT_NAME} PRIVATE FAKER_CXX_2) +endif() diff --git a/recipes/faker-cxx/all/test_package/test_package.cpp b/recipes/faker-cxx/all/test_package/test_package.cpp index ed71cb953c909..7251d095e5300 100644 --- a/recipes/faker-cxx/all/test_package/test_package.cpp +++ b/recipes/faker-cxx/all/test_package/test_package.cpp @@ -1,7 +1,13 @@ #include -#include "faker-cxx/Internet.h" -#include "faker-cxx/String.h" -#include "faker-cxx/Date.h" +#ifdef FAKER_CXX_2 + #include "faker-cxx/Internet.h" + #include "faker-cxx/String.h" + #include "faker-cxx/Date.h" +#else + #include "faker-cxx/internet.h" + #include "faker-cxx/string.h" + #include "faker-cxx/date.h" +#endif int main() { diff --git a/recipes/faker-cxx/config.yml b/recipes/faker-cxx/config.yml index d77ad03cbf510..70df618778342 100644 --- a/recipes/faker-cxx/config.yml +++ b/recipes/faker-cxx/config.yml @@ -1,3 +1,5 @@ versions: + "3.0.0": + folder: all "2.0.0": folder: all From 2b9499a5df4ca8f2b13dd9ad1ae254ad468b6232 Mon Sep 17 00:00:00 2001 From: PerseoGI Date: Fri, 30 Aug 2024 12:42:02 +0200 Subject: [PATCH 442/641] (#25060) xerces-c: Fix clang compilation issue on Windows MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Fix clang compilation issue on Windows, close #24796 * Update recipes/xerces-c/all/conanfile.py * Fix hook warning --------- Co-authored-by: Abril Rincón Blanco --- recipes/xerces-c/all/conandata.yml | 8 ++++++++ recipes/xerces-c/all/conanfile.py | 8 +++++++- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/recipes/xerces-c/all/conandata.yml b/recipes/xerces-c/all/conandata.yml index 42c60fa48a45e..7c2baf54d287f 100644 --- a/recipes/xerces-c/all/conandata.yml +++ b/recipes/xerces-c/all/conandata.yml @@ -14,9 +14,17 @@ sources: patches: "3.2.5": - patch_file: "patches/0002-find-icu-programs.patch" + patch_description: "Find ICU programs on environment" + patch_type: "conan" "3.2.4": - patch_file: "patches/0002-find-icu-programs.patch" + patch_description: "Find ICU programs on environment" + patch_type: "conan" "3.2.3": - patch_file: "patches/0002-find-icu-programs.patch" + patch_description: "Find ICU programs on environment" + patch_type: "conan" "3.2.2": - patch_file: "patches/0002-find-icu-programs.patch" + patch_description: "Find ICU programs on environment" + patch_type: "conan" diff --git a/recipes/xerces-c/all/conanfile.py b/recipes/xerces-c/all/conanfile.py index 88a28ee036fe6..057e07e361250 100644 --- a/recipes/xerces-c/all/conanfile.py +++ b/recipes/xerces-c/all/conanfile.py @@ -131,6 +131,12 @@ def generate(self): # avoid picking up system dependency tc.variables["CMAKE_DISABLE_FIND_PACKAGE_CURL"] = self.options.get_safe("network_accessor") != "curl" tc.variables["CMAKE_DISABLE_FIND_PACKAGE_ICU"] = "icu" not in (self.options.transcoder, self.options.message_loader) + + # Fix compatibility with Clang on Windows + # https://issues.apache.org/jira/browse/XERCESC-2252 + if self.settings.os == "Windows" and self.settings.compiler == "clang": + tc.cache_variables["CMAKE_RC_FLAGS"] = "-C 1252" + tc.generate() deps = CMakeDeps(self) deps.generate() @@ -166,7 +172,7 @@ def package_info(self): if self.settings.os == "Macos": self.cpp_info.frameworks = ["CoreFoundation", "CoreServices"] elif self.settings.os in ["Linux", "FreeBSD"]: - self.cpp_info.system_libs.append("pthread") + self.cpp_info.system_libs.extend(["pthread", "nsl"]) if Version(conan_version).major < 2: self.cpp_info.names["cmake_find_package"] = "XercesC" From a808059f3652da67df044ed6e926f34627dcb3ee Mon Sep 17 00:00:00 2001 From: sophieeihpos Date: Fri, 30 Aug 2024 12:11:17 +0100 Subject: [PATCH 443/641] (#25077) (#25070) jwt-cpp: Fix missing picojson header MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * (#25070) jwt-cpp: Fix missing picojson header * Use CCI nomenclature --------- Co-authored-by: Abril Rincón Blanco --- recipes/jwt-cpp/all/conanfile.py | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/recipes/jwt-cpp/all/conanfile.py b/recipes/jwt-cpp/all/conanfile.py index 1e09b3d6625c7..9a7ee532d7797 100644 --- a/recipes/jwt-cpp/all/conanfile.py +++ b/recipes/jwt-cpp/all/conanfile.py @@ -16,9 +16,12 @@ class JwtCppConan(ConanFile): package_type = "header-library" settings = "os", "arch", "compiler", "build_type" + options = { "with_picojson": [True, False] } + default_options = { "with_picojson" : False } + @property - def _supports_generic_json(self): - return Version(self.version) >= "0.5.0" + def _with_picojson(self): + return Version(self.version) < "0.5.0" or self.options.with_picojson def export_sources(self): export_conandata_patches(self) @@ -28,7 +31,7 @@ def layout(self): def requirements(self): self.requires("openssl/[>=1.1 <4]") - if not self._supports_generic_json: + if self._with_picojson: self.requires("picojson/1.3.0") def package_id(self): @@ -48,9 +51,11 @@ def package(self): def package_info(self): self.cpp_info.bindirs = [] self.cpp_info.libdirs = [] - + self.cpp_info.requires = ["openssl::openssl"] + if self._with_picojson: + self.cpp_info.requires.append("picojson::picojson") + else: + self.cpp_info.defines.append("JWT_DISABLE_PICOJSON") self.cpp_info.set_property("cmake_file_name", "jwt-cpp") self.cpp_info.set_property("cmake_target_name", "jwt-cpp::jwt-cpp") - if self._supports_generic_json: - self.cpp_info.defines.append("JWT_DISABLE_PICOJSON") From 3097fee0df29ca122a05a0fd256e375cfbb2ee9d Mon Sep 17 00:00:00 2001 From: cynix Date: Fri, 30 Aug 2024 19:31:43 +0800 Subject: [PATCH 444/641] (#25069) arrow: fix missing dependency when with_s3 is enabled * arrow: fix missing dependency when with_s3 is enabled * Add a comment to explain the dependency * Add all dependencies explicitly --- recipes/arrow/all/conanfile.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/recipes/arrow/all/conanfile.py b/recipes/arrow/all/conanfile.py index 1903432f155aa..1af7642b14652 100644 --- a/recipes/arrow/all/conanfile.py +++ b/recipes/arrow/all/conanfile.py @@ -579,7 +579,8 @@ def package_info(self): if self._requires_rapidjson(): self.cpp_info.components["libarrow"].requires.append("rapidjson::rapidjson") if self.options.with_s3: - self.cpp_info.components["libarrow"].requires.append("aws-sdk-cpp::s3") + # https://github.com/apache/arrow/blob/6b268f62a8a172249ef35f093009c740c32e1f36/cpp/src/arrow/CMakeLists.txt#L98 + self.cpp_info.components["libarrow"].requires.extend([f"aws-sdk-cpp::{x}" for x in ["cognito-identity", "core", "identity-management", "s3", "sts"]]) if self.options.get_safe("with_gcs"): self.cpp_info.components["libarrow"].requires.append("google-cloud-cpp::storage") if self.options.with_orc: From e46e06e42a40df08a42aaf5f82c7c996b7ca258e Mon Sep 17 00:00:00 2001 From: Uilian Ries Date: Fri, 30 Aug 2024 14:01:51 +0200 Subject: [PATCH 445/641] (#25061) [luajit] Use Conan Center Backup Sources for sources * Use Conan Center Backup Sources for luajit sources Signed-off-by: Uilian Ries * Drop version 2.0.5 Signed-off-by: Uilian Ries --------- Signed-off-by: Uilian Ries --- recipes/luajit/all/conandata.yml | 9 +++++---- recipes/luajit/all/conanfile.py | 3 ++- recipes/luajit/config.yml | 2 -- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/recipes/luajit/all/conandata.yml b/recipes/luajit/all/conandata.yml index 1e7abff8db36b..0617a7db6d602 100644 --- a/recipes/luajit/all/conandata.yml +++ b/recipes/luajit/all/conandata.yml @@ -1,10 +1,11 @@ +# INFO: Upstream moved to rolling releases and removed all tarballs. +# The Github mirror (https://github.com/LuaJIT/LuaJIT) does not match the checksums and have missing header files. +# Conan will consume the backup sources from the Conan Center Artifactory instead, which are the original tarballs (same checksums). +# Read the issue https://github.com/conan-io/conan-center-index/issues/25032 for more information. sources: "2.1.0-beta3": - url: "https://luajit.org/download/LuaJIT-2.1.0-beta3.tar.gz" + url: "https://c3i.jfrog.io/artifactory/conan-center-backup-sources/1ad2e34b111c802f9d0cdf019e986909123237a28c746b21295b63c9e785d9c3" sha256: "1ad2e34b111c802f9d0cdf019e986909123237a28c746b21295b63c9e785d9c3" - "2.0.5": - url: "http://luajit.org/download/LuaJIT-2.0.5.tar.gz" - sha256: "874b1f8297c697821f561f9b73b57ffd419ed8f4278c82e05b48806d30c1e979" patches: "2.1.0-beta3": - patch_file: "patches/2.1.0-beta3-0001-remove-mac-deploy.patch" diff --git a/recipes/luajit/all/conanfile.py b/recipes/luajit/all/conanfile.py index 47079e98290b1..1a87a46c223ac 100644 --- a/recipes/luajit/all/conanfile.py +++ b/recipes/luajit/all/conanfile.py @@ -48,7 +48,8 @@ def validate(self): raise ConanInvalidConfiguration(f"{self.ref} is not supported by Mac M1. Please, try any version >=2.1") def source(self): - get(self, **self.conan_data["sources"][self.version], destination=self.source_folder, strip_root=True) + filename = f"LuaJIT-{self.version}.tar.gz" + get(self, **self.conan_data["sources"][self.version], destination=self.source_folder, filename=filename, strip_root=True) def generate(self): if is_msvc(self): diff --git a/recipes/luajit/config.yml b/recipes/luajit/config.yml index f13e8f0f1a9ec..72c6723e528aa 100644 --- a/recipes/luajit/config.yml +++ b/recipes/luajit/config.yml @@ -1,5 +1,3 @@ versions: "2.1.0-beta3": folder: "all" - "2.0.5": - folder: "all" From 043f04f22b1ea3e70ef575269b27c4297175acf0 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Fri, 30 Aug 2024 15:42:36 +0300 Subject: [PATCH 446/641] (#18836) sdl_mixer/all: migrate to Conan v2 * sdl_mixer: migrate to Conan v2 * sdl_mixer: transitive_libs=True * sdl_mixer: bump required_conan_version * sdl_mixer: bump sdl * sdl_mixer: drop dynamic dependency loading support * sdl_mixer: add missing nativemidi system deps * sdl_mixer: bump sdl * Remove fluidsynth as dependency Signed-off-by: Uilian Ries --------- Signed-off-by: Uilian Ries Co-authored-by: Uilian Ries --- recipes/sdl_mixer/all/CMakeLists.txt | 139 +++++++------ recipes/sdl_mixer/all/conanfile.py | 187 +++++++++--------- .../sdl_mixer/all/test_package/CMakeLists.txt | 8 +- .../sdl_mixer/all/test_package/conanfile.py | 21 +- .../all/test_v1_package/CMakeLists.txt | 8 + .../all/test_v1_package/conanfile.py | 17 ++ 6 files changed, 210 insertions(+), 170 deletions(-) create mode 100644 recipes/sdl_mixer/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/sdl_mixer/all/test_v1_package/conanfile.py diff --git a/recipes/sdl_mixer/all/CMakeLists.txt b/recipes/sdl_mixer/all/CMakeLists.txt index fa206e6c5d5c7..2dfb3ecfdb114 100644 --- a/recipes/sdl_mixer/all/CMakeLists.txt +++ b/recipes/sdl_mixer/all/CMakeLists.txt @@ -1,19 +1,13 @@ -cmake_minimum_required(VERSION 2.8.12) +cmake_minimum_required(VERSION 3.15) project(sdl2_mixer) -include(conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - include(CheckTypeSize) macro(add_music_option type) option(${type} "${type} music support" OFF) message(STATUS "${type} ${${type}}") - if(${${type}}) + if(${type}) add_definitions("-DMUSIC_${type}") - if(${${type}_DYNAMIC}) - add_definitions("-D${type}_DYNAMIC") - endif() endif() endmacro() @@ -30,73 +24,78 @@ add_music_option(MID_NATIVE) add_music_option(MID_FLUIDSYNTH) add_music_option(MID_TINYMIDI) -if(${MID_NATIVE}) - -set(NATIVE_MIDI_SOURCES -source_subfolder/native_midi/native_midi_common.c -source_subfolder/native_midi/native_midi_common.h -source_subfolder/native_midi/native_midi_haiku.cpp -source_subfolder/native_midi/native_midi_mac.c -source_subfolder/native_midi/native_midi_macosx.c -source_subfolder/native_midi/native_midi_win32.c -) - -set(NATIVE_MIDI_HEADERS -source_subfolder/native_midi/native_midi.h -) - +if(MIDI_NATIVE) + set(NATIVE_MIDI_SOURCES + src/native_midi/native_midi_common.c + src/native_midi/native_midi_common.h + src/native_midi/native_midi_haiku.cpp + src/native_midi/native_midi_mac.c + src/native_midi/native_midi_macosx.c + src/native_midi/native_midi_win32.c + ) + + set(NATIVE_MIDI_HEADERS + src/native_midi/native_midi.h + ) endif() set(SOURCES -source_subfolder/effect_position.c -source_subfolder/effect_stereoreverse.c -source_subfolder/effects_internal.c -source_subfolder/load_aiff.c -source_subfolder/load_voc.c -source_subfolder/mixer.c -source_subfolder/music.c -source_subfolder/music_cmd.c -source_subfolder/music_flac.c -source_subfolder/music_fluidsynth.c -source_subfolder/music_mad.c -source_subfolder/music_mikmod.c -source_subfolder/music_modplug.c -source_subfolder/music_mpg123.c -source_subfolder/music_nativemidi.c -source_subfolder/music_ogg.c -source_subfolder/music_opus.c -source_subfolder/music_timidity.c -source_subfolder/music_wav.c -${NATIVE_MIDI_SOURCES} + src/effect_position.c + src/effect_stereoreverse.c + src/effects_internal.c + src/load_aiff.c + src/load_voc.c + src/mixer.c + src/music.c + src/music_cmd.c + src/music_flac.c + src/music_fluidsynth.c + src/music_mad.c + src/music_mikmod.c + src/music_modplug.c + src/music_mpg123.c + src/music_nativemidi.c + src/music_ogg.c + src/music_opus.c + src/music_timidity.c + src/music_wav.c + ${NATIVE_MIDI_SOURCES} ) set(HEADERS -source_subfolder/effects_internal.h -source_subfolder/load_aiff.h -source_subfolder/load_voc.h -source_subfolder/mixer.h -source_subfolder/music.h -source_subfolder/music_cmd.h -source_subfolder/music_flac.h -source_subfolder/music_fluidsynth.h -source_subfolder/music_mad.h -source_subfolder/music_mikmod.h -source_subfolder/music_modplug.h -source_subfolder/music_mpg123.h -source_subfolder/music_nativemidi.h -source_subfolder/music_ogg.h -source_subfolder/music_opus.h -source_subfolder/music_timidity.h -source_subfolder/music_wav.h -${NATIVE_MIDI_HEADERS} + src/effects_internal.h + src/load_aiff.h + src/load_voc.h + src/mixer.h + src/music.h + src/music_cmd.h + src/music_flac.h + src/music_fluidsynth.h + src/music_mad.h + src/music_mikmod.h + src/music_modplug.h + src/music_mpg123.h + src/music_nativemidi.h + src/music_ogg.h + src/music_opus.h + src/music_timidity.h + src/music_wav.h + ${NATIVE_MIDI_HEADERS} ) add_library(${PROJECT_NAME} ${SOURCES} ${HEADERS}) -target_include_directories(${PROJECT_NAME} PRIVATE "source_subfolder") +target_include_directories(${PROJECT_NAME} PRIVATE "src") -if(${MID_NATIVE}) - target_include_directories(${PROJECT_NAME} PRIVATE "source_subfolder/native_midi") +if(MIDI_NATIVE) + target_include_directories(${PROJECT_NAME} PRIVATE "src/native_midi") + if(APPLE) + # https://github.com/libsdl-org/SDL_mixer/blob/release-2.0.4/configure.in#L380 + target_link_libraries(${PROJECT_NAME} PRIVATE "-framework AudioToolbox" "-framework AudioUnit" "-framework CoreServices") + elseif(WIN32) + # https://github.com/libsdl-org/SDL_mixer/blob/release-2.0.4/configure.in#L376 + target_link_libraries(${PROJECT_NAME} PRIVATE winmm) + endif() endif() find_package(SDL2 CONFIG REQUIRED) @@ -146,9 +145,9 @@ if(MID_TINYMIDI) target_link_libraries(${PROJECT_NAME} PRIVATE tinymidi::tinymidi) endif() -set_target_properties(${PROJECT_NAME} PROPERTIES PUBLIC_HEADER source_subfolder/SDL_mixer.h) +set_target_properties(${PROJECT_NAME} PROPERTIES PUBLIC_HEADER src/SDL_mixer.h) -if(${BUILD_SHARED_LIBS}) +if(BUILD_SHARED_LIBS) target_compile_definitions(${PROJECT_NAME} PRIVATE DLL_EXPORT) endif() @@ -160,8 +159,8 @@ if(SSIZE_T STREQUAL "") endif() install(TARGETS ${PROJECT_NAME} - ARCHIVE DESTINATION "lib" - LIBRARY DESTINATION "lib" - RUNTIME DESTINATION "bin" - PUBLIC_HEADER DESTINATION "include/SDL2" + ARCHIVE DESTINATION lib + LIBRARY DESTINATION lib + RUNTIME DESTINATION bin + PUBLIC_HEADER DESTINATION include/SDL2 ) diff --git a/recipes/sdl_mixer/all/conanfile.py b/recipes/sdl_mixer/all/conanfile.py index 7139d07a2b4ea..d2133052c545d 100644 --- a/recipes/sdl_mixer/all/conanfile.py +++ b/recipes/sdl_mixer/all/conanfile.py @@ -1,144 +1,155 @@ -from conans import CMake, tools +import os + from conan import ConanFile +from conan.tools.apple import is_apple_os +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.files import copy from conan.tools.files import get, rmdir -import os -import functools + +required_conan_version = ">=1.57.0" class SDLMixerConan(ConanFile): name = "sdl_mixer" description = "SDL_mixer is a sample multi-channel audio mixer library" - topics = ("sdl_mixer", "sdl2", "sdl", "mixer", "audio", "multimedia", "sound", "music") + license = "Zlib" url = "https://github.com/conan-io/conan-center-index" homepage = "https://www.libsdl.org/projects/SDL_mixer/" - license = "Zlib" - exports_sources = ["CMakeLists.txt"] - generators = "cmake", "cmake_find_package_multi" + topics = ("sdl2", "sdl", "mixer", "audio", "multimedia", "sound", "music") + + package_type = "library" settings = "os", "arch", "compiler", "build_type" - options = {"shared": [True, False], - "fPIC": [True, False], - "cmd": [True, False], - "wav": [True, False], - "flac": [True, False], - "mpg123": [True, False], - "mad": [True, False], - "ogg": [True, False], - "opus": [True, False], - "mikmod": [True, False], - "modplug": [True, False], - "fluidsynth": [True, False], - "nativemidi": [True, False], - "tinymidi": [True, False]} - default_options = {"shared": False, - "fPIC": True, - "cmd": False, # needs sys/wait.h - "wav": True, - "flac": True, - "mpg123": True, - "mad": True, - "ogg": True, - "opus": True, - "mikmod": True, - "modplug": True, - "fluidsynth": False, # TODO: add fluidsynth to Conan Center - "nativemidi": True, - "tinymidi": True} - _source_subfolder = "source_subfolder" - _build_subfolder = "build_subfolder" + options = { + "shared": [True, False], + "fPIC": [True, False], + "cmd": [True, False], + "wav": [True, False], + "flac": [True, False], + "mpg123": [True, False], + "mad": [True, False], + "ogg": [True, False], + "opus": [True, False], + "mikmod": [True, False], + "modplug": [True, False], + "nativemidi": [True, False], + "tinymidi": [True, False], + } + default_options = { + "shared": False, + "fPIC": True, + "cmd": False, + "wav": True, + "flac": True, + "mpg123": True, + "mad": True, + "ogg": True, + "opus": True, + "mikmod": True, + "modplug": True, + "nativemidi": True, + "tinymidi": True, + } + + def export_sources(self): + copy(self, "CMakeLists.txt", src=self.recipe_folder, dst=self.export_sources_folder) def config_options(self): if self.settings.os == "Windows": del self.options.fPIC - if self.settings.os != "Linux": - del self.options.tinymidi + if self.settings.os in ["Linux", "FreeBSD"]: + self.options.rm_safe("nativemidi") else: - del self.options.nativemidi + self.options.rm_safe("tinymidi") def configure(self): if self.options.shared: - del self.options.fPIC + self.options.rm_safe("fPIC") if self.options.shared: - del self.options.fPIC - del self.settings.compiler.libcxx - del self.settings.compiler.cppstd + self.options.rm_safe("fPIC") + self.settings.rm_safe("compiler.libcxx") + self.settings.rm_safe("compiler.cppstd") + + def layout(self): + cmake_layout(self, src_folder="src") def requirements(self): - self.requires("sdl/2.0.20") + self.requires("sdl/2.30.5", transitive_headers=True, transitive_libs=True) if self.options.flac: - self.requires("flac/1.3.3") + self.requires("flac/1.4.2") if self.options.mpg123: - self.requires("mpg123/1.29.3") + self.requires("mpg123/1.31.2") if self.options.mad: self.requires("libmad/0.15.1b") if self.options.ogg: self.requires("ogg/1.3.5") self.requires("vorbis/1.3.7") if self.options.opus: - self.requires("openssl/1.1.1q") - self.requires("opus/1.3.1") + self.requires("openssl/[>=1.1 <4]") + self.requires("opus/1.4") self.requires("opusfile/0.12") if self.options.mikmod: self.requires("libmikmod/3.3.11.1") if self.options.modplug: self.requires("libmodplug/0.8.9.0") - if self.options.fluidsynth: - self.requires("fluidsynth/2.2") # TODO: this package is missing on the conan-center-index - if self.settings.os == "Linux": + if self.settings.os in ["Linux", "FreeBSD"]: if self.options.tinymidi: self.requires("tinymidi/cci.20130325") def source(self): - get(self, **self.conan_data["sources"][self.version], strip_root=True, destination=self._source_subfolder) + get(self, **self.conan_data["sources"][self.version], strip_root=True) + rmdir(self, os.path.join(self.source_folder, "external")) - rmdir(self, os.path.join(self._source_subfolder, "external")) - - @functools.lru_cache(1) - def _configure_cmake(self): - cmake = CMake(self) - cmake.definitions["CMD"] = self.options.cmd - cmake.definitions["WAV"] = self.options.wav - cmake.definitions["FLAC"] = self.options.flac - cmake.definitions["MP3_MPG123"] = self.options.mpg123 - cmake.definitions["MP3_MAD"] = self.options.mad - cmake.definitions["OGG"] = self.options.ogg - cmake.definitions["OPUS"] = self.options.opus - cmake.definitions["MOD_MIKMOD"] = self.options.mikmod - cmake.definitions["MOD_MODPLUG"] = self.options.modplug - cmake.definitions["MID_FLUIDSYNTH"] = self.options.fluidsynth - if self.settings.os == "Linux": - cmake.definitions["MID_TINYMIDI"] = self.options.tinymidi - cmake.definitions["MID_NATIVE"] = False + def generate(self): + tc = CMakeToolchain(self) + tc.variables["CMD"] = self.options.cmd + tc.variables["WAV"] = self.options.wav + tc.variables["FLAC"] = self.options.flac + tc.variables["MP3_MPG123"] = self.options.mpg123 + tc.variables["MP3_MAD"] = self.options.mad + tc.variables["OGG"] = self.options.ogg + tc.variables["OPUS"] = self.options.opus + tc.variables["MOD_MIKMOD"] = self.options.mikmod + tc.variables["MOD_MODPLUG"] = self.options.modplug + tc.variables["MID_FLUIDSYNTH"] = False + if self.settings.os in ["Linux", "FreeBSD"]: + tc.variables["MID_TINYMIDI"] = self.options.tinymidi + tc.variables["MIDI_NATIVE"] = False else: - cmake.definitions["MID_TINYMIDI"] = False - cmake.definitions["MID_NATIVE"] = self.options.nativemidi - - cmake.definitions["FLAC_DYNAMIC"] = self.options["flac"].shared if self.options.flac else False - cmake.definitions["MP3_MPG123_DYNAMIC"] = self.options["mpg123"].shared if self.options.mpg123 else False - cmake.definitions["OGG_DYNAMIC"] = self.options["ogg"].shared if self.options.ogg else False - cmake.definitions["OPUS_DYNAMIC"] = self.options["opus"].shared if self.options.opus else False - cmake.definitions["MOD_MIKMOD_DYNAMIC"] = self.options["libmikmod"].shared if self.options.mikmod else False - cmake.definitions["MOD_MODPLUG_DYNAMIC"] = self.options["libmodplug"].shared if self.options.modplug else False - - cmake.configure(build_folder=self._build_subfolder) - - return cmake + tc.variables["MID_TINYMIDI"] = False + tc.variables["MIDI_NATIVE"] = self.options.nativemidi + tc.generate() + tc = CMakeDeps(self) + tc.generate() def build(self): - cmake = self._configure_cmake() + cmake = CMake(self) + cmake.configure(build_script_folder=self.source_path.parent) cmake.build() def package(self): - self.copy(pattern="COPYING.txt", dst="licenses", src=self._source_subfolder) - cmake = self._configure_cmake() + copy(self, "COPYING.txt", + dst=os.path.join(self.package_folder, "licenses"), + src=self.source_folder) + cmake = CMake(self) cmake.install() def package_info(self): - self.cpp_info.set_property("pkg_config_name", "SDL2_mixer") self.cpp_info.set_property("cmake_file_name", "SDL2_mixer") self.cpp_info.set_property("cmake_target_name", "SDL2_mixer::SDL2_mixer") self.cpp_info.set_property("pkg_config_name", "SDL2_mixer") + self.cpp_info.libs = ["SDL2_mixer"] self.cpp_info.includedirs.append(os.path.join("include", "SDL2")) + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.system_libs = ["m"] + + if self.options.get_safe("nativemidi"): + if is_apple_os(self): + # https://github.com/libsdl-org/SDL_mixer/blob/release-2.0.4/configure.in#L380 + self.cpp_info.frameworks.extend(["AudioToolbox", "AudioUnit", "CoreServices"]) + elif self.settings.os == "Windows": + # https://github.com/libsdl-org/SDL_mixer/blob/release-2.0.4/configure.in#L376 + self.cpp_info.system_libs.extend(["winmm"]) self.cpp_info.names["cmake_find_package"] = "SDL2_mixer" self.cpp_info.names["cmake_find_package_multi"] = "SDL2_mixer" diff --git a/recipes/sdl_mixer/all/test_package/CMakeLists.txt b/recipes/sdl_mixer/all/test_package/CMakeLists.txt index cbb6dbc11043a..d1c846300657f 100644 --- a/recipes/sdl_mixer/all/test_package/CMakeLists.txt +++ b/recipes/sdl_mixer/all/test_package/CMakeLists.txt @@ -1,11 +1,7 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(test_package LANGUAGES C) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(SDL2_mixer CONFIG REQUIRED) +find_package(SDL2_mixer REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.c) target_link_libraries(${PROJECT_NAME} PRIVATE SDL2_mixer::SDL2_mixer) diff --git a/recipes/sdl_mixer/all/test_package/conanfile.py b/recipes/sdl_mixer/all/test_package/conanfile.py index 49a3a66ea5bad..ef5d7042163ec 100644 --- a/recipes/sdl_mixer/all/test_package/conanfile.py +++ b/recipes/sdl_mixer/all/test_package/conanfile.py @@ -1,10 +1,19 @@ -from conans import ConanFile, CMake, tools +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake import os class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): cmake = CMake(self) @@ -12,6 +21,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/sdl_mixer/all/test_v1_package/CMakeLists.txt b/recipes/sdl_mixer/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/sdl_mixer/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/sdl_mixer/all/test_v1_package/conanfile.py b/recipes/sdl_mixer/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..49a3a66ea5bad --- /dev/null +++ b/recipes/sdl_mixer/all/test_v1_package/conanfile.py @@ -0,0 +1,17 @@ +from conans import ConanFile, CMake, tools +import os + + +class TestPackageConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) From 01abe55cfbf2980717575f5274ca8a2bbe4eed4b Mon Sep 17 00:00:00 2001 From: Raziel Alphadios <64050682+RazielXYZ@users.noreply.github.com> Date: Sun, 1 Sep 2024 05:10:34 +0300 Subject: [PATCH 447/641] (#25008) rocksdb: Add version 9.5.2 --- recipes/rocksdb/all/conandata.yml | 3 +++ recipes/rocksdb/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/rocksdb/all/conandata.yml b/recipes/rocksdb/all/conandata.yml index ed28eb0b6337f..074302cce72fd 100644 --- a/recipes/rocksdb/all/conandata.yml +++ b/recipes/rocksdb/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "9.5.2": + url: "https://github.com/facebook/rocksdb/archive/refs/tags/v9.5.2.tar.gz" + sha256: "B20780586D3DF4A3C5BCBDE341A2C1946B03D18237960BDA5BC5E9538F42AF40" "9.4.0": url: "https://github.com/facebook/rocksdb/archive/refs/tags/v9.4.0.tar.gz" sha256: "1f829976aa24b8ba432e156f52c9e0f0bd89c46dc0cc5a9a628ea70571c1551c" diff --git a/recipes/rocksdb/config.yml b/recipes/rocksdb/config.yml index a2441c8c55d86..8044f69736f9c 100644 --- a/recipes/rocksdb/config.yml +++ b/recipes/rocksdb/config.yml @@ -1,4 +1,6 @@ versions: + "9.5.2": + folder: all "9.4.0": folder: all "9.2.1": From 26068610609a30566ebd724e1a7c5513215d1bce Mon Sep 17 00:00:00 2001 From: Darren Bolduc Date: Mon, 2 Sep 2024 04:50:39 -0400 Subject: [PATCH 448/641] (#24899) [google-cloud-cpp] add v2.28.0 version * [google-cloud-cpp] add v2.28.0 version * address review comments * disable mock libraries --- ...ponents_2_12_0.py => components_2_28_0.py} | 254 ++++++++++++++---- recipes/google-cloud-cpp/2.x/conandata.yml | 14 +- recipes/google-cloud-cpp/2.x/conanfile.py | 109 +++----- .../2.x/extract_dependencies.py | 20 +- .../2.12.0/001-use-conan-msvc-runtime.patch | 53 ---- .../2.28.0/001-add-find-package-threads.patch | 12 + recipes/google-cloud-cpp/config.yml | 4 +- 7 files changed, 279 insertions(+), 187 deletions(-) rename recipes/google-cloud-cpp/2.x/{components_2_12_0.py => components_2_28_0.py} (68%) delete mode 100644 recipes/google-cloud-cpp/2.x/patches/2.12.0/001-use-conan-msvc-runtime.patch create mode 100644 recipes/google-cloud-cpp/2.x/patches/2.28.0/001-add-find-package-threads.patch diff --git a/recipes/google-cloud-cpp/2.x/components_2_12_0.py b/recipes/google-cloud-cpp/2.x/components_2_28_0.py similarity index 68% rename from recipes/google-cloud-cpp/2.x/components_2_12_0.py rename to recipes/google-cloud-cpp/2.x/components_2_28_0.py index 943f3345fcb41..dafa862192730 100644 --- a/recipes/google-cloud-cpp/2.x/components_2_12_0.py +++ b/recipes/google-cloud-cpp/2.x/components_2_28_0.py @@ -1,81 +1,100 @@ -# Automatically generated by /usr/local/google/home/coryan/cci-develop/recipes/google-cloud-cpp/2.x/extract_dependencies.py DO NOT EDIT +# Automatically generated by /usr/local/google/home/dbolduc/code/git/conan-center-index/recipes/google-cloud-cpp/2.x/extract_dependencies.py DO NOT EDIT DEPENDENCIES = { "accessapproval_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf'], "accesscontextmanager_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_iam_policy_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_expr_protos'], "advisorynotifications_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf'], - "aiplatform_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_httpbody_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_interval_protos', 'type_money_protos'], + "aiplatform_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_httpbody_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_date_protos', 'type_interval_protos', 'type_money_protos'], "alloydb_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_dayofweek_protos', 'type_timeofday_protos'], "apigateway_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], "apigeeconnect_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf', 'rpc_status_protos'], "apikeys_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], - "appengine_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'logging_type_type_protos', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "appengine_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'logging_type_protos', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "apphub_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_field_info_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], "artifactregistry_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_iam_policy_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_expr_protos'], "asset_protos": ['accesscontextmanager_protos', 'api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_iam_policy_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos', 'longrunning_operations_protos', 'osconfig_protos', 'protobuf::libprotobuf', 'rpc_code_protos', 'rpc_status_protos', 'type_date_protos', 'type_datetime_protos', 'type_dayofweek_protos', 'type_expr_protos', 'type_timeofday_protos'], "assuredworkloads_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], "automl_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "backupdr_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], "baremetalsolution_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], - "batch_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "batch_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_field_info_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], "beyondcorp_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], - "cloud_bigquery_protos": ['api_annotations_protos', 'api_client_protos', 'api_distribution_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_label_protos', 'api_launch_stage_protos', 'api_metric_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_iam_policy_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos', 'protobuf::libprotobuf', 'rpc_error_details_protos', 'rpc_status_protos', 'type_expr_protos'], - "bigtable_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'api_routing_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_iam_policy_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_expr_protos'], + "bigquery_protos": ['api_annotations_protos', 'api_client_protos', 'api_distribution_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_label_protos', 'api_launch_stage_protos', 'api_metric_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_iam_policy_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_error_details_protos', 'rpc_status_protos', 'type_expr_protos'], + "bigtable_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'api_routing_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_iam_policy_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_date_protos', 'type_expr_protos'], "billing_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_iam_policy_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos', 'protobuf::libprotobuf', 'type_date_protos', 'type_expr_protos', 'type_money_protos'], "binaryauthorization_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grafeas_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf', 'rpc_status_protos'], "certificatemanager_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], "channel_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_date_protos', 'type_datetime_protos', 'type_decimal_protos', 'type_money_protos', 'type_postal_address_protos'], - "cloudbuild_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_httpbody_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "cloudbuild_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_httpbody_protos', 'api_launch_stage_protos', 'api_resource_protos', 'api_routing_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "cloudcontrolspartner_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf', 'type_interval_protos'], + "cloudquotas_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf'], + "commerce_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], "cloud_common_common_protos": ['api_field_behavior_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf'], "composer_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_date_protos'], - "confidentialcomputing_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf'], + "confidentialcomputing_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf', 'rpc_status_protos'], + "config_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_field_info_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], "connectors_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], "contactcenterinsights_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], "container_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf', 'rpc_code_protos', 'rpc_status_protos'], "containeranalysis_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grafeas_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_iam_policy_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_expr_protos'], "contentwarehouse_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'documentai_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_policy_protos', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_color_protos', 'type_date_protos', 'type_datetime_protos', 'type_expr_protos', 'type_interval_protos', 'type_money_protos', 'type_postal_address_protos'], "datacatalog_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_iam_policy_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_expr_protos'], + "datafusion_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], "datamigration_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_iam_policy_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_expr_protos'], "dataplex_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_iam_policy_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_expr_protos'], - "dataproc_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "dataproc_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_interval_protos'], + "datastore_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_routing_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_latlng_protos'], "datastream_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], "deploy_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_date_protos'], - "cloud_dialogflow_v2_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_latlng_protos'], + "developerconnect_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_field_info_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], "dialogflow_cx_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_latlng_protos'], + "dialogflow_es_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_latlng_protos'], + "discoveryengine_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_httpbody_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_date_protos'], "dlp_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_date_protos', 'type_dayofweek_protos', 'type_timeofday_protos'], "documentai_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_color_protos', 'type_date_protos', 'type_datetime_protos', 'type_money_protos', 'type_postal_address_protos'], "domains_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_money_protos', 'type_postal_address_protos'], "edgecontainer_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "edgenetwork_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], "essentialcontacts_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf'], "eventarc_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_code_protos', 'rpc_status_protos'], "filestore_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'cloud_common_common_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], "functions_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_iam_policy_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_expr_protos'], - "gameservices_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], - "gkebackup_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "gkebackup_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_date_protos', 'type_dayofweek_protos', 'type_timeofday_protos'], "gkehub_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], - "gkemulticloud_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "gkemulticloud_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_date_protos'], "grafeas_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf', 'rpc_status_protos'], - "iam_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_iam_policy_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_expr_protos'], + "iam_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_iam_policy_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos', 'protobuf::libprotobuf', 'type_expr_protos'], + "iam_v2_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_expr_protos'], "iap_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_iam_policy_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos', 'protobuf::libprotobuf', 'type_expr_protos'], "ids_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], - "iot_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_iam_policy_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_expr_protos'], - "kms_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf'], + "kms_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], "language_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf'], - "logging_protos": ['api_annotations_protos', 'api_client_protos', 'api_distribution_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_label_protos', 'api_launch_stage_protos', 'api_metric_protos', 'api_monitored_resource_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'logging_type_type_protos', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], - "logging_type_type_protos": ['grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf'], + "logging_protos": ['api_annotations_protos', 'api_client_protos', 'api_distribution_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_label_protos', 'api_launch_stage_protos', 'api_metric_protos', 'api_monitored_resource_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'logging_type_protos', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "logging_type_protos": ['grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf'], "managedidentities_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "managedkafka_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_field_info_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], "memcache_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_dayofweek_protos', 'type_timeofday_protos'], - "monitoring_protos": ['api_annotations_protos', 'api_client_protos', 'api_distribution_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_label_protos', 'api_launch_stage_protos', 'api_metric_protos', 'api_monitored_resource_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_calendar_period_protos'], + "metastore_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_dayofweek_protos'], + "migrationcenter_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_date_protos', 'type_money_protos'], + "monitoring_protos": ['api_annotations_protos', 'api_client_protos', 'api_distribution_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_label_protos', 'api_launch_stage_protos', 'api_metric_protos', 'api_monitored_resource_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_calendar_period_protos', 'type_interval_protos'], + "netapp_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], "networkconnectivity_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], - "networkmanagement_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], - "networkservices_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "networkmanagement_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_field_info_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "networksecurity_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "networkservices_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_field_info_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], "notebooks_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], "optimization_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_latlng_protos'], "orgpolicy_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf', 'type_expr_protos'], "osconfig_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_date_protos', 'type_datetime_protos', 'type_dayofweek_protos', 'type_timeofday_protos'], "oslogin_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf'], - "policytroubleshooter_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_policy_protos', 'protobuf::libprotobuf', 'type_expr_protos'], + "policysimulator_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_policy_protos', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_date_protos', 'type_expr_protos'], + "policytroubleshooter_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_policy_protos', 'iam_v2_protos', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_expr_protos'], "privateca_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_expr_protos'], + "privilegedaccessmanager_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], "profiler_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf'], + "publicca_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf'], "pubsub_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf'], - "recaptchaenterprise_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf'], + "rapidmigrationassessment_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "recaptchaenterprise_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_field_info_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf', 'rpc_status_protos'], "recommender_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf', 'type_money_protos'], "redis_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_dayofweek_protos', 'type_timeofday_protos'], "resourcemanager_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_iam_policy_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_expr_protos'], @@ -84,30 +103,36 @@ "run_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'api_routing_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_iam_policy_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_expr_protos'], "scheduler_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf', 'rpc_status_protos'], "secretmanager_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_iam_policy_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos', 'protobuf::libprotobuf', 'type_expr_protos'], - "securitycenter_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_iam_policy_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_expr_protos'], - "servicecontrol_protos": ['api_annotations_protos', 'api_client_protos', 'api_distribution_protos', 'api_http_protos', 'api_launch_stage_protos', 'grpc::_grpc', 'grpc::grpc++', 'logging_type_type_protos', 'protobuf::libprotobuf', 'rpc_context_attribute_context_protos', 'rpc_status_protos'], + "securesourcemanager_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_iam_policy_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_expr_protos'], + "securitycenter_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'api_routing_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_iam_policy_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_expr_protos'], + "securitycentermanagement_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_policy_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_expr_protos'], + "servicecontrol_protos": ['api_annotations_protos', 'api_client_protos', 'api_distribution_protos', 'api_http_protos', 'api_launch_stage_protos', 'grpc::_grpc', 'grpc::grpc++', 'logging_type_protos', 'protobuf::libprotobuf', 'rpc_context_attribute_context_protos', 'rpc_status_protos'], "servicedirectory_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_iam_policy_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos', 'protobuf::libprotobuf', 'type_expr_protos'], - "servicemanagement_protos": ['api_annotations_protos', 'api_auth_protos', 'api_backend_protos', 'api_billing_protos', 'api_client_protos', 'api_config_change_protos', 'api_context_protos', 'api_control_protos', 'api_documentation_protos', 'api_endpoint_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_label_protos', 'api_launch_stage_protos', 'api_log_protos', 'api_logging_protos', 'api_metric_protos', 'api_monitored_resource_protos', 'api_monitoring_protos', 'api_quota_protos', 'api_resource_protos', 'api_service_protos', 'api_source_info_protos', 'api_system_parameter_protos', 'api_usage_protos', 'api_visibility_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], - "serviceusage_protos": ['api_annotations_protos', 'api_auth_protos', 'api_client_protos', 'api_documentation_protos', 'api_endpoint_protos', 'api_http_protos', 'api_label_protos', 'api_launch_stage_protos', 'api_monitored_resource_protos', 'api_monitoring_protos', 'api_quota_protos', 'api_usage_protos', 'api_visibility_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "servicehealth_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf'], + "servicemanagement_protos": ['api_annotations_protos', 'api_auth_protos', 'api_backend_protos', 'api_billing_protos', 'api_client_protos', 'api_config_change_protos', 'api_context_protos', 'api_control_protos', 'api_documentation_protos', 'api_endpoint_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_label_protos', 'api_launch_stage_protos', 'api_log_protos', 'api_logging_protos', 'api_metric_protos', 'api_monitored_resource_protos', 'api_monitoring_protos', 'api_policy_protos', 'api_quota_protos', 'api_resource_protos', 'api_service_protos', 'api_source_info_protos', 'api_system_parameter_protos', 'api_usage_protos', 'api_visibility_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "serviceusage_protos": ['api_annotations_protos', 'api_auth_protos', 'api_client_protos', 'api_documentation_protos', 'api_endpoint_protos', 'api_http_protos', 'api_label_protos', 'api_launch_stage_protos', 'api_monitored_resource_protos', 'api_monitoring_protos', 'api_quota_protos', 'api_resource_protos', 'api_usage_protos', 'api_visibility_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], "shell_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], "spanner_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_iam_policy_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_expr_protos'], - "cloud_speech_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "speech_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_field_info_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "sql_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], "storage_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'api_routing_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_iam_policy_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos', 'protobuf::libprotobuf', 'type_date_protos', 'type_expr_protos'], + "storagecontrol_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_field_info_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'api_routing_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], "storageinsights_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_date_protos', 'type_datetime_protos'], "storagetransfer_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_code_protos', 'rpc_status_protos', 'type_date_protos', 'type_timeofday_protos'], "support_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], "talent_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_latlng_protos', 'type_money_protos', 'type_postal_address_protos', 'type_timeofday_protos'], "tasks_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_iam_policy_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_expr_protos'], - "cloud_texttospeech_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "telcoautomation_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "texttospeech_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], "timeseriesinsights_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf', 'rpc_status_protos'], "tpu_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], - "devtools_cloudtrace_v2_trace_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf', 'rpc_status_protos'], - "translate_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], - "video_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_datetime_protos'], + "trace_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf', 'rpc_status_protos'], + "translate_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_policy_protos', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_expr_protos'], + "video_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_field_info_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_datetime_protos'], "videointelligence_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], "vision_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_color_protos', 'type_latlng_protos'], "vmmigration_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_error_details_protos', 'rpc_status_protos'], - "vmwareengine_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "vmwareengine_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_field_info_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], "vpcaccess_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], "webrisk_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], "websecurityscanner_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf'], @@ -127,7 +152,13 @@ "api_quota_protos": ['api_annotations_protos'], "api_service_protos": ['api_annotations_protos', 'api_auth_protos', 'api_backend_protos', 'api_billing_protos', 'api_client_protos', 'api_context_protos', 'api_control_protos', 'api_documentation_protos', 'api_endpoint_protos', 'api_http_protos', 'api_label_protos', 'api_log_protos', 'api_logging_protos', 'api_metric_protos', 'api_monitored_resource_protos', 'api_monitoring_protos', 'api_quota_protos', 'api_resource_protos', 'api_source_info_protos', 'api_system_parameter_protos', 'api_usage_protos'], "api_usage_protos": ['api_annotations_protos', 'api_visibility_protos'], - "devtools_cloudtrace_v2_tracing_protos": ['api_client_protos', 'api_field_behavior_protos', 'devtools_cloudtrace_v2_trace_protos', 'devtools_cloudtrace_v2_trace_protos', 'rpc_status_protos'], + "iam_credentials_v1_common_protos": ['api_field_behavior_protos', 'api_resource_protos'], + "iam_credentials_v1_iamcredentials_protos": ['api_annotations_protos', 'api_client_protos', 'iam_credentials_v1_common_protos'], + "iam_v1_iam_policy_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_resource_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos'], + "iam_v1_options_protos": ['api_annotations_protos'], + "iam_v1_policy_protos": ['api_annotations_protos', 'type_expr_protos'], + "cloud_extended_operations_protos": ["protobuf::libprotobuf"], + "compute_protos": ["cloud_extended_operations_protos", "protobuf::libprotobuf"], } PROTO_COMPONENTS = { @@ -148,6 +179,7 @@ "api_documentation_protos", "api_endpoint_protos", "api_field_behavior_protos", + "api_field_info_protos", "api_http_protos", "api_httpbody_protos", "api_label_protos", @@ -157,6 +189,7 @@ "api_metric_protos", "api_monitored_resource_protos", "api_monitoring_protos", + "api_policy_protos", "api_quota_protos", "api_resource_protos", "api_routing_protos", @@ -169,81 +202,99 @@ "apigeeconnect_protos", "apikeys_protos", "appengine_protos", + "apphub_protos", "artifactregistry_protos", "asset_protos", "assuredworkloads_protos", "automl_protos", + "backupdr_protos", "baremetalsolution_protos", "batch_protos", "beyondcorp_protos", + "bigquery_protos", "bigtable_protos", "billing_protos", "binaryauthorization_protos", "certificatemanager_protos", "channel_protos", - "cloud_bigquery_protos", "cloud_common_common_protos", - "cloud_dialogflow_v2_protos", - "cloud_speech_protos", - "cloud_texttospeech_protos", + "cloud_extended_operations_protos", "cloudbuild_protos", + "cloudcontrolspartner_protos", + "cloudquotas_protos", + "commerce_protos", "composer_protos", + "compute_protos", "confidentialcomputing_protos", + "config_protos", "connectors_protos", "contactcenterinsights_protos", "container_protos", "containeranalysis_protos", "contentwarehouse_protos", "datacatalog_protos", + "datafusion_protos", "datamigration_protos", "dataplex_protos", "dataproc_protos", + "datastore_protos", "datastream_protos", "deploy_protos", - "devtools_cloudtrace_v2_trace_protos", - "devtools_cloudtrace_v2_tracing_protos", - "devtools_source_v1_source_context_protos", + "developerconnect_protos", "dialogflow_cx_protos", + "dialogflow_es_protos", + "discoveryengine_protos", "dlp_protos", "documentai_protos", "domains_protos", "edgecontainer_protos", + "edgenetwork_protos", "essentialcontacts_protos", "eventarc_protos", "filestore_protos", "functions_protos", - "gameservices_protos", "gkebackup_protos", "gkehub_protos", "gkemulticloud_protos", "grafeas_protos", + "iam_credentials_v1_common_protos", + "iam_credentials_v1_iamcredentials_protos", "iam_protos", "iam_v1_iam_policy_protos", "iam_v1_options_protos", "iam_v1_policy_protos", + "iam_v2_protos", "iap_protos", "ids_protos", - "iot_protos", "kms_protos", "language_protos", "logging_protos", - "logging_type_type_protos", + "logging_type_protos", "longrunning_operations_protos", "managedidentities_protos", + "managedkafka_protos", "memcache_protos", + "metastore_protos", + "migrationcenter_protos", "monitoring_protos", + "netapp_protos", "networkconnectivity_protos", "networkmanagement_protos", + "networksecurity_protos", "networkservices_protos", "notebooks_protos", "optimization_protos", "orgpolicy_protos", "osconfig_protos", "oslogin_protos", + "policysimulator_protos", "policytroubleshooter_protos", "privateca_protos", + "privilegedaccessmanager_protos", "profiler_protos", + "publicca_protos", "pubsub_protos", + "rapidmigrationassessment_protos", "recaptchaenterprise_protos", "recommender_protos", "redis_protos", @@ -257,21 +308,30 @@ "run_protos", "scheduler_protos", "secretmanager_protos", + "securesourcemanager_protos", "securitycenter_protos", + "securitycentermanagement_protos", "servicecontrol_protos", "servicedirectory_protos", + "servicehealth_protos", "servicemanagement_protos", "serviceusage_protos", "shell_protos", "spanner_protos", + "speech_protos", + "sql_protos", "storage_protos", + "storagecontrol_protos", "storageinsights_protos", "storagetransfer_protos", "support_protos", "talent_protos", "tasks_protos", + "telcoautomation_protos", + "texttospeech_protos", "timeseriesinsights_protos", "tpu_protos", + "trace_protos", "translate_protos", "type_calendar_period_protos", "type_color_protos", @@ -307,10 +367,12 @@ "apigeeconnect", "apikeys", "appengine", + "apphub", "artifactregistry", "asset", "assuredworkloads", "automl", + "backupdr", "baremetalsolution", "batch", "beyondcorp", @@ -321,55 +383,149 @@ "certificatemanager", "channel", "cloudbuild", + "cloudcontrolspartner", + "cloudquotas", + "commerce", "composer", + "compute_accelerator_types", + "compute_addresses", + "compute_autoscalers", + "compute_backend_buckets", + "compute_backend_services", + "compute_disk_types", + "compute_disks", + "compute_external_vpn_gateways", + "compute_firewall_policies", + "compute_firewalls", + "compute_forwarding_rules", + "compute_global_addresses", + "compute_global_forwarding_rules", + "compute_global_network_endpoint_groups", + "compute_global_operations", + "compute_global_organization_operations", + "compute_global_public_delegated_prefixes", + "compute_health_checks", + "compute_http_health_checks", + "compute_https_health_checks", + "compute_image_family_views", + "compute_images", + "compute_instance_group_managers", + "compute_instance_groups", + "compute_instance_templates", + "compute_instances", + "compute_interconnect_attachments", + "compute_interconnect_locations", + "compute_interconnects", + "compute_license_codes", + "compute_licenses", + "compute_machine_images", + "compute_machine_types", + "compute_network_attachments", + "compute_network_edge_security_services", + "compute_network_endpoint_groups", + "compute_network_firewall_policies", + "compute_networks", + "compute_node_groups", + "compute_node_templates", + "compute_node_types", + "compute_packet_mirrorings", + "compute_projects", + "compute_public_advertised_prefixes", + "compute_public_delegated_prefixes", + "compute_region_autoscalers", + "compute_region_backend_services", + "compute_region_commitments", + "compute_region_disk_types", + "compute_region_disks", + "compute_region_health_check_services", + "compute_region_health_checks", + "compute_region_instance_group_managers", + "compute_region_instance_groups", + "compute_region_instance_templates", + "compute_region_instances", + "compute_region_network_endpoint_groups", + "compute_region_network_firewall_policies", + "compute_region_notification_endpoints", + "compute_region_operations", + "compute_region_security_policies", + "compute_region_ssl_certificates", + "compute_ssl_policies", + "compute_subnetworks", + "compute_target_grpc_proxies", + "compute_target_http_proxies", + "compute_target_https_proxies", + "compute_target_instances", + "compute_target_pools", + "compute_target_ssl_proxies", + "compute_target_tcp_proxies", + "compute_target_vpn_gateways", + "compute_url_maps", + "compute_vpn_gateways", + "compute_vpn_tunnels", + "compute_zone_operations", + "compute_zones", "confidentialcomputing", + "config", "connectors", "contactcenterinsights", "container", "containeranalysis", "contentwarehouse", "datacatalog", + "datafusion", "datamigration", "dataplex", "dataproc", + "datastore", "datastream", "deploy", + "developerconnect", "dialogflow_cx", "dialogflow_es", + "discoveryengine", "dlp", "documentai", "domains", "edgecontainer", + "edgenetwork", "essentialcontacts", "eventarc", "filestore", "functions", - "gameservices", "gkebackup", "gkehub", "gkemulticloud", "iam", "iap", "ids", - "iot", "kms", "language", "logging", "managedidentities", + "managedkafka", "memcache", + "metastore", + "migrationcenter", "monitoring", + "netapp", "networkconnectivity", "networkmanagement", + "networksecurity", "networkservices", "notebooks", + "oauth2", "optimization", "orgpolicy", "osconfig", "oslogin", + "policysimulator", "policytroubleshooter", "privateca", + "privilegedaccessmanager", "profiler", + "publicca", "pubsub", + "rapidmigrationassessment", "recaptchaenterprise", "recommender", "redis", @@ -379,20 +535,26 @@ "run", "scheduler", "secretmanager", + "securesourcemanager", "securitycenter", + "securitycentermanagement", "servicecontrol", "servicedirectory", + "servicehealth", "servicemanagement", "serviceusage", "shell", "spanner", "speech", + "sql", "storage", + "storagecontrol", "storageinsights", "storagetransfer", "support", "talent", "tasks", + "telcoautomation", "texttospeech", "timeseriesinsights", "tpu", diff --git a/recipes/google-cloud-cpp/2.x/conandata.yml b/recipes/google-cloud-cpp/2.x/conandata.yml index 79eb43c2b932d..65a9e8f5f8351 100644 --- a/recipes/google-cloud-cpp/2.x/conandata.yml +++ b/recipes/google-cloud-cpp/2.x/conandata.yml @@ -1,18 +1,14 @@ sources: - "2.12.0": - url: "https://github.com/googleapis/google-cloud-cpp/archive/refs/tags/v2.12.0.tar.gz" - sha256: "8cda870803925c62de8716a765e03eb9d34249977e5cdb7d0d20367e997a55e2" "2.15.1": url: "https://github.com/googleapis/google-cloud-cpp/archive/refs/tags/v2.15.1.tar.gz" sha256: "47a5c6beff48625fa1b65b1ddc575247def80c88d29062c66d463172280d3959" "2.19.0": url: "https://github.com/googleapis/google-cloud-cpp/archive/refs/tags/v2.19.0.tar.gz" sha256: "63f009092afd900cb812050bcecf607e37d762ac911e0bcbf4af9a432da91890" + "2.28.0": + url: "https://github.com/googleapis/google-cloud-cpp/archive/refs/tags/v2.28.0.tar.gz" + sha256: "1d51910cb4419f6100d8b9df6bccd33477d09f50e378f12b06dae0f137ed7bc6" patches: - "2.12.0": - - patch_file: "patches/2.12.0/001-use-conan-msvc-runtime.patch" - patch_description: "Let Conan select the MSVC runtime" - patch_type: conan "2.15.1": - patch_file: "patches/2.15.1/001-use-conan-msvc-runtime.patch" patch_description: "Let Conan select the MSVC runtime" @@ -24,3 +20,7 @@ patches: - patch_file: "patches/2.19.0/002-add-find-package-threads.patch" patch_description: "Missing find_package() in CMake files" patch_type: conan + "2.28.0": + - patch_file: "patches/2.28.0/001-add-find-package-threads.patch" + patch_description: "Missing find_package() in CMake files" + patch_type: conan diff --git a/recipes/google-cloud-cpp/2.x/conanfile.py b/recipes/google-cloud-cpp/2.x/conanfile.py index 18e1843526a3c..bf23faefd5366 100644 --- a/recipes/google-cloud-cpp/2.x/conanfile.py +++ b/recipes/google-cloud-cpp/2.x/conanfile.py @@ -19,9 +19,9 @@ # script will be used to generate a new file with the component dependency # information. The expectation is that maintaining this script will be easier # than writing long lists of dependencies by hand. -import components_2_12_0 import components_2_15_1 import components_2_19_0 +import components_2_28_0 required_conan_version = ">=1.56.0" @@ -45,27 +45,27 @@ class GoogleCloudCppConan(ConanFile): settings = "os", "arch", "compiler", "build_type" options = {"shared": [True, False], "fPIC": [True, False]} default_options = {"shared": False, "fPIC": True} - exports = ["components_2_12_0.py", - "components_2_15_1.py", + exports = ["components_2_15_1.py", "components_2_19_0.py", + "components_2_28_0.py", ] short_paths = True _GA_COMPONENTS = { - '2.12.0': components_2_12_0.COMPONENTS, '2.15.1': components_2_15_1.COMPONENTS, '2.19.0': components_2_19_0.COMPONENTS, + '2.28.0': components_2_28_0.COMPONENTS, } _PROTO_COMPONENTS = { - '2.12.0': components_2_12_0.PROTO_COMPONENTS, '2.15.1': components_2_15_1.PROTO_COMPONENTS, '2.19.0': components_2_19_0.PROTO_COMPONENTS, + '2.28.0': components_2_28_0.PROTO_COMPONENTS, } _PROTO_COMPONENT_DEPENDENCIES = { - "2.12.0": components_2_12_0.DEPENDENCIES, "2.15.1": components_2_15_1.DEPENDENCIES, "2.19.0": components_2_19_0.DEPENDENCIES, + "2.28.0": components_2_28_0.DEPENDENCIES, } # Some components require custom dependency definitions. _REQUIRES_CUSTOM_DEPENDENCIES = { @@ -150,7 +150,7 @@ def source(self): def requirements(self): # These must remain pinned in conan index. self.requires("protobuf/3.21.12", transitive_headers=True) - self.requires("abseil/20230125.3", transitive_headers=True) + self.requires("abseil/[>=20230125.3 <=20230802.1]", transitive_headers=True) self.requires("grpc/1.54.3", transitive_headers=True) self.requires("nlohmann_json/3.11.3") self.requires("crc32c/1.1.2") @@ -167,6 +167,7 @@ def build_requirements(self): def generate(self): tc = CMakeToolchain(self) tc.variables["BUILD_TESTING"] = False + tc.variables["GOOGLE_CLOUD_CPP_WITH_MOCKS"] = False tc.variables["GOOGLE_CLOUD_CPP_ENABLE_MACOS_OPENSSL_CHECK"] = False tc.variables["GOOGLE_CLOUD_CPP_ENABLE_WERROR"] = False tc.variables["GOOGLE_CLOUD_CPP_ENABLE"] = ",".join(self._components()) @@ -186,14 +187,9 @@ def _patch_sources(self): # https://developer.apple.com/library/archive/documentation/Security/Conceptual/System_Integrity_Protection_Guide/RuntimeProtections/RuntimeProtections.html settings_build = getattr(self, "settings_build", self.settings) if settings_build.os == "Macos": - if Version(self.version) < '2.12.0': - replace_in_file(self, os.path.join(self.source_folder, "cmake/CompileProtos.cmake"), - "$", - '${CMAKE_COMMAND} -E env "DYLD_LIBRARY_PATH=$ENV{DYLD_LIBRARY_PATH}" $') - else: - replace_in_file(self, os.path.join(self.source_folder, "cmake/CompileProtos.cmake"), - "${Protobuf_PROTOC_EXECUTABLE} ARGS", - '${CMAKE_COMMAND} -E env "DYLD_LIBRARY_PATH=$ENV{DYLD_LIBRARY_PATH}" ${Protobuf_PROTOC_EXECUTABLE} ARGS') + replace_in_file(self, os.path.join(self.source_folder, "cmake/CompileProtos.cmake"), + "${Protobuf_PROTOC_EXECUTABLE} ARGS", + '${CMAKE_COMMAND} -E env "DYLD_LIBRARY_PATH=$ENV{DYLD_LIBRARY_PATH}" ${Protobuf_PROTOC_EXECUTABLE} ARGS') def build(self): self._patch_sources() @@ -214,9 +210,6 @@ def _generate_proto_requires(self, component): 'asset', 'channel', 'storagetransfer', - # TODO - certificatemanager crashes the gRPC code generator. Add it back - # after gRPC >= 1.53.x - 'certificatemanager', } def _components(self): @@ -228,6 +221,8 @@ def _components(self): if self.settings.os == "Android": result.remove('accesscontextmanager') result.remove('talent') + if self.settings.os == "Windows" and Version(self.version) >= '2.28.0': + result.remove('securitycenter') return result def _proto_components(self): @@ -239,11 +234,14 @@ def _proto_components(self): if self.settings.os == "Android": result.remove('accesscontextmanager_protos') result.remove('talent_protos') - if Version(self.version) >= '2.15.1': - # This was converted to an interface library starting on 2.15.1 + if Version(self.version) <= '2.19.0': + # Handling of these proto libraries was simplified in the 2.28.0 + # `conanfile.py`. We prefer not to regenerate the old + # `components_*.py` files, so we manually skip the protos in here. result.remove('logging_type_type_protos') - # These were removed (as they are not used) starting on 2.15.1 result.remove('devtools_source_v1_source_context_protos') + if self.settings.os == "Windows" and Version(self.version) >= '2.28.0': + result.remove('securitycenter_protos') return result def package(self): @@ -293,21 +291,13 @@ def package_info(self): # A small number of gRPC-generated stubs are used directly in the common components # shared by all gRPC-based libraries. These must be defined without reference to `grpc_utils`. - if Version(self.version) >= '2.15.1': - GRPC_UTILS_REQUIRED_PROTOS = { - "iam_credentials_v1_iamcredentials_protos", - "iam_v1_policy_protos", - "longrunning_operations_protos", - "rpc_error_details_protos", - "rpc_status_protos", - } - else: - GRPC_UTILS_REQUIRED_PROTOS = { - "iam_protos", - "longrunning_operations_protos", - "rpc_error_details_protos", - "rpc_status_protos", - } + GRPC_UTILS_REQUIRED_PROTOS = { + "iam_credentials_v1_iamcredentials_protos", + "iam_v1_policy_protos", + "longrunning_operations_protos", + "rpc_error_details_protos", + "rpc_status_protos", + } for component in GRPC_UTILS_REQUIRED_PROTOS: self._add_proto_component(component) @@ -316,48 +306,31 @@ def package_info(self): self.cpp_info.components["grpc_utils"].names["pkg_config"] = "google_cloud_cpp_grpc_utils" for component in self._proto_components(): - if Version(self.version) >= '2.15.1' and component == 'storage_protos': - # Starting with v2.15.1 the `storage_protos` are compiled only - # when needed. They are not used in Conan because they are only - # needed for an experimental library, supporting an allow-listed - # service. + if component == 'storage_protos': + # The `storage_protos` are compiled only when needed. They are + # not used in Conan because they are only needed for an + # experimental library, supporting an allow-listed service. continue if component not in GRPC_UTILS_REQUIRED_PROTOS: self._add_proto_component(component) # Interface libraries for backwards compatibility - if Version(self.version) < '2.15.1': - self.cpp_info.components["dialogflow_es_protos"].requires = ["cloud_dialogflow_v2_protos"] - self.cpp_info.components["logging_type_protos"].requires = ["logging_type_type_protos"] - self.cpp_info.components["speech_protos"].requires = ["cloud_speech_protos"] - self.cpp_info.components["texttospeech_protos"].requires = ["cloud_texttospeech_protos"] - self.cpp_info.components["trace_protos"].requires = [ - "devtools_cloudtrace_v2_trace_protos", - "devtools_cloudtrace_v2_tracing_protos", - ] - self._add_grpc_component("bigquery", "cloud_bigquery_protos") - else: - self.cpp_info.components["cloud_bigquery_protos"].requires = ["bigquery_protos"] - self.cpp_info.components["cloud_dialogflow_v2_protos"].requires = ["dialogflow_es_protos"] - self.cpp_info.components["cloud_speech_protos"].requires = ["speech_protos"] - self.cpp_info.components["cloud_texttospeech_protos"].requires = ["texttospeech_protos"] - self.cpp_info.components["devtools_cloudtrace_v2_trace_protos"].requires = ["trace_protos"] - self.cpp_info.components["devtools_cloudtrace_v2_tracing_protos"].requires = ["trace_protos"] - self.cpp_info.components["logging_type_type_protos"].requires = ["logging_type_protos"] + self.cpp_info.components["cloud_bigquery_protos"].requires = ["bigquery_protos"] + self.cpp_info.components["cloud_dialogflow_v2_protos"].requires = ["dialogflow_es_protos"] + self.cpp_info.components["cloud_speech_protos"].requires = ["speech_protos"] + self.cpp_info.components["cloud_texttospeech_protos"].requires = ["texttospeech_protos"] + self.cpp_info.components["devtools_cloudtrace_v2_trace_protos"].requires = ["trace_protos"] + self.cpp_info.components["devtools_cloudtrace_v2_tracing_protos"].requires = ["trace_protos"] + self.cpp_info.components["logging_type_type_protos"].requires = ["logging_type_protos"] for component in self._components(): protos=f"{component}_protos" - # bigquery proto library predates the adoption of more consistent naming - if component == 'bigquery' and Version(self.version) < '2.15.1': - self._add_proto_component("cloud_bigquery_protos") - self._add_grpc_component(component, "cloud_bigquery_protos") - continue - if component == 'dialogflow_es' and Version(self.version) < '2.15.1': - self._add_proto_component("cloud_dialogflow_v2_protos") - self._add_grpc_component(component, "cloud_dialogflow_v2_protos") - continue # `compute` components do not depend on gRPC if component.startswith("compute_"): + # Individual compute proto libraries were replaced with a single + # `compute_protos` library. + if Version(self.version) >= '2.28.0': + protos = "compute_protos" self._add_compute_component(component, protos) continue # `storage` is the only component that does not depend on a matching `*_protos` library diff --git a/recipes/google-cloud-cpp/2.x/extract_dependencies.py b/recipes/google-cloud-cpp/2.x/extract_dependencies.py index 95720c57e7748..0235b7b50d130 100755 --- a/recipes/google-cloud-cpp/2.x/extract_dependencies.py +++ b/recipes/google-cloud-cpp/2.x/extract_dependencies.py @@ -25,6 +25,8 @@ # Used in _generate_proto_requires(): the *.deps files are generated from # Bazel and contain a few targets that do not exit (nor do they need to # exist) in CMake. +# +# This list maps onto google_cloud_cpp_load_protodeps()'s `targets_to_omit`. _PROTO_DEPS_REMOVED_TARGETS = { "cloud_kms_v1_kms_protos", "cloud_orgpolicy_v1_orgpolicy_protos", @@ -35,13 +37,15 @@ # Used in _generate_proto_requires(): the *.deps files are generated from # Bazel and contain a few targets that have incorrect names for CMake. +# +# This list maps onto google_cloud_cpp_load_protodeps()'s `targets_substitutions`. _PROTO_DEPS_REPLACED_TARGETS = { "grafeas_v1_grafeas_protos": "grafeas_protos", + "iam_v2_policy_protos": "iam_v2_protos", + "logging_type_type_protos": "logging_type_protos", "identity_accesscontextmanager_v1_accesscontextmanager_protos": "accesscontextmanager_protos", "cloud_osconfig_v1_osconfig_protos": "osconfig_protos", - "devtools_source_v1_source_protos": "devtools_source_v1_source_context_protos", "cloud_documentai_v1_documentai_protos": "documentai_protos", - "iam_v2_policy_protos": "iam_v2_protos", } # A few *.deps files use ad-hoc naming. @@ -77,7 +81,6 @@ "api_endpoint_protos", "api_launch_stage_protos", "api_documentation_protos", - "devtools_source_v1_source_context_protos", "type_color_protos", "api_distribution_protos", "api_config_change_protos", @@ -114,7 +117,7 @@ "pubsublite", } -# `google-cloud-cpp` managems these dependencies using CMake code. +# `google-cloud-cpp` manages these dependencies using CMake code. _HARD_CODED_DEPENDENCIES = { "api_annotations_protos": ["api_http_protos"], "api_auth_protos": ["api_annotations_protos"], @@ -264,15 +267,10 @@ def main(): proto_components.add(component) proto_components.update(deps) print(f' "{component}": {sorted(deps)},') - print(f' "compute_internal_protos": ["protobuf::libprotobuf"],') print(f' "cloud_extended_operations_protos": ["protobuf::libprotobuf"],') - proto_components.add("compute_internal_protos") + print(f' "compute_protos": ["cloud_extended_operations_protos", "protobuf::libprotobuf"],') proto_components.add("cloud_extended_operations_protos") - for component in sorted(components): - if not component.startswith("compute_"): - continue - proto_components.add(component + "_protos") - print(f' "{component}_protos": ["compute_internal_protos", "cloud_extended_operations_protos", "protobuf::libprotobuf"],') + proto_components.add("compute_protos") print("}") proto_components = proto_components - _PROTO_DEPS_COMMON_REQUIRES names = ['"%s"' % c for c in proto_components] diff --git a/recipes/google-cloud-cpp/2.x/patches/2.12.0/001-use-conan-msvc-runtime.patch b/recipes/google-cloud-cpp/2.x/patches/2.12.0/001-use-conan-msvc-runtime.patch deleted file mode 100644 index bfefce3078428..0000000000000 --- a/recipes/google-cloud-cpp/2.x/patches/2.12.0/001-use-conan-msvc-runtime.patch +++ /dev/null @@ -1,53 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index faab325a..657abd4c 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -53,7 +53,6 @@ elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC") - endif () - - list(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake) --include(SelectMSVCRuntime) - - option(GOOGLE_CLOUD_CPP_ENABLE_MACOS_OPENSSL_CHECK - "If enabled, check that the user has defined OPENSSL_ROOT_DIR on macOS" -diff --git a/cmake/GoogleCloudCppCommon.cmake b/cmake/GoogleCloudCppCommon.cmake -index b487a1bc..880c98fe 100644 ---- a/cmake/GoogleCloudCppCommon.cmake -+++ b/cmake/GoogleCloudCppCommon.cmake -@@ -17,9 +17,6 @@ - # Get the destination directories based on the GNU recommendations. - include(GNUInstallDirs) - --# Pick the right MSVC runtime libraries. --include(SelectMSVCRuntime) -- - # Enable Werror - include(EnableWerror) - -diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt -index 0cb7a9ae..d9016a0b 100644 ---- a/examples/CMakeLists.txt -+++ b/examples/CMakeLists.txt -@@ -14,9 +14,6 @@ - # limitations under the License. - # ~~~ - --# Pick the right MSVC runtime libraries. --include(SelectMSVCRuntime) -- - add_executable(gcs2cbt gcs2cbt.cc) - target_link_libraries(gcs2cbt google-cloud-cpp::bigtable - google-cloud-cpp::storage google-cloud-cpp::grpc_utils) -diff --git a/external/googleapis/CMakeLists.txt b/external/googleapis/CMakeLists.txt -index 03535ff8..2b05c214 100644 ---- a/external/googleapis/CMakeLists.txt -+++ b/external/googleapis/CMakeLists.txt -@@ -157,8 +157,6 @@ if (PROTO_INCLUDE_DIR) - list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") - endif () - --include(SelectMSVCRuntime) -- - google_cloud_cpp_add_protos_property() - - function (external_googleapis_short_name var proto) diff --git a/recipes/google-cloud-cpp/2.x/patches/2.28.0/001-add-find-package-threads.patch b/recipes/google-cloud-cpp/2.x/patches/2.28.0/001-add-find-package-threads.patch new file mode 100644 index 0000000000000..00d1143424d10 --- /dev/null +++ b/recipes/google-cloud-cpp/2.x/patches/2.28.0/001-add-find-package-threads.patch @@ -0,0 +1,12 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 96297b4a..f274a111 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -218,6 +218,7 @@ add_custom_target(google-cloud-cpp-protos) + add_custom_target(doxygen-docs) + add_custom_target(all-docfx) + ++find_package(Threads REQUIRED) + find_package(absl CONFIG REQUIRED) + if (GOOGLE_CLOUD_CPP_ENABLE_GRPC) + find_package(gRPC REQUIRED QUIET) diff --git a/recipes/google-cloud-cpp/config.yml b/recipes/google-cloud-cpp/config.yml index bb19be722c391..5960fb5919b52 100644 --- a/recipes/google-cloud-cpp/config.yml +++ b/recipes/google-cloud-cpp/config.yml @@ -9,9 +9,9 @@ versions: folder: "all" "1.40.1": folder: "all" - "2.12.0": - folder: "2.x" "2.15.1": folder: "2.x" "2.19.0": folder: "2.x" + "2.28.0": + folder: "2.x" From e347dc2982a3ddd7f7a311ecadc81d791ce0eb4b Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 2 Sep 2024 19:32:14 +0900 Subject: [PATCH 449/641] (#25099) tree-sitter: add version 0.23.0 --- recipes/tree-sitter/all/conandata.yml | 3 +++ recipes/tree-sitter/all/conanfile.py | 4 ++-- recipes/tree-sitter/config.yml | 2 ++ 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/recipes/tree-sitter/all/conandata.yml b/recipes/tree-sitter/all/conandata.yml index 3ddeeffd1d3bc..fcc659c5b1ecb 100644 --- a/recipes/tree-sitter/all/conandata.yml +++ b/recipes/tree-sitter/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.23.0": + url: "https://github.com/tree-sitter/tree-sitter/archive/refs/tags/v0.23.0.tar.gz" + sha256: "6403b361b0014999e96f61b9c84d6950d42f0c7d6e806be79382e0232e48a11b" "0.22.6": url: "https://github.com/tree-sitter/tree-sitter/archive/refs/tags/v0.22.6.tar.gz" sha256: "e2b687f74358ab6404730b7fb1a1ced7ddb3780202d37595ecd7b20a8f41861f" diff --git a/recipes/tree-sitter/all/conanfile.py b/recipes/tree-sitter/all/conanfile.py index a0c425765146a..a3ccebe4f64da 100644 --- a/recipes/tree-sitter/all/conanfile.py +++ b/recipes/tree-sitter/all/conanfile.py @@ -10,10 +10,10 @@ class TreeSitterConan(ConanFile): name = "tree-sitter" description = "Tree-sitter is a parser generator tool and an incremental parsing library. It can build a concrete syntax tree for a source file and efficiently update the syntax tree as the source file is edited." - topics = ("parser", "incremental", "rust") + license = "MIT" url = "https://github.com/conan-io/conan-center-index" homepage = "https://tree-sitter.github.io/tree-sitter" - license = "MIT" + topics = ("parser", "incremental", "rust") package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { diff --git a/recipes/tree-sitter/config.yml b/recipes/tree-sitter/config.yml index 7357ec5c57b73..27314a988e804 100644 --- a/recipes/tree-sitter/config.yml +++ b/recipes/tree-sitter/config.yml @@ -1,4 +1,6 @@ versions: + "0.23.0": + folder: all "0.22.6": folder: all "0.22.5": From 1ea7e40b94a9f05ad8f8513e71d195ba4cb11017 Mon Sep 17 00:00:00 2001 From: Sneder89 <45610045+Sneder89@users.noreply.github.com> Date: Mon, 2 Sep 2024 13:10:50 +0200 Subject: [PATCH 450/641] (#25089) Add cppcheck 2.15.0 * Update config.yml * Update conandata.yml * Update config.yml * Update conandata.yml --- recipes/cppcheck/all/conandata.yml | 9 +++------ recipes/cppcheck/config.yml | 6 ++---- 2 files changed, 5 insertions(+), 10 deletions(-) diff --git a/recipes/cppcheck/all/conandata.yml b/recipes/cppcheck/all/conandata.yml index a93642627eb02..8d322ee34302a 100644 --- a/recipes/cppcheck/all/conandata.yml +++ b/recipes/cppcheck/all/conandata.yml @@ -1,16 +1,13 @@ sources: + "2.15.0": + url: "https://github.com/danmar/cppcheck/archive/2.15.0.tar.gz" + sha256: "98bcc40ac8062635b492fb096d7815376a176ae26749d6c708083f4637f7c0bb" "2.14.2": url: "https://github.com/danmar/cppcheck/archive/2.14.2.tar.gz" sha256: "9c3acea5f489336bd83a8ea33917a9a04a80c56d874bf270287e7de27acf2d00" - "2.14.1": - url: "https://github.com/danmar/cppcheck/archive/2.14.1.tar.gz" - sha256: "22d1403fbc3158f35b5216d7b0a50bbaf0c80bf6663933a71f65cc4fc307ff3d" "2.13.4": url: "https://github.com/danmar/cppcheck/archive/2.13.4.tar.gz" sha256: "d6ea064ebab76c6aa000795440479767d8d814dd29405918df4c1bbfcd6cb86c" - "2.13.3": - url: "https://github.com/danmar/cppcheck/archive/2.13.3.tar.gz" - sha256: "ac8c526d19496038c09bf4781bd804ab1f7aaadee4c3b699629830d24742dd81" "2.12.1": url: "https://github.com/danmar/cppcheck/archive/2.12.1.tar.gz" sha256: "2a3d4ba1179419612183ab3d6aed6d3b18be75e98cd6f138ea8e2020905dced2" diff --git a/recipes/cppcheck/config.yml b/recipes/cppcheck/config.yml index 23cb6f096c9de..494b8f5cd4792 100644 --- a/recipes/cppcheck/config.yml +++ b/recipes/cppcheck/config.yml @@ -1,12 +1,10 @@ versions: - "2.14.2": + "2.15.0": folder: all - "2.14.1": + "2.14.2": folder: all "2.13.4": folder: all - "2.13.3": - folder: all "2.12.1": folder: all "2.11.1": From 9c1d6a3b4f67cf32c3ababeea4b32bc0734f1c9e Mon Sep 17 00:00:00 2001 From: sophieeihpos Date: Mon, 2 Sep 2024 12:30:31 +0100 Subject: [PATCH 451/641] (#24998) date : add an option to install all headers * date : add an option to install all headers * Tweaked conanfile * Copy all headers always Signed-off-by: Uilian Ries --------- Signed-off-by: Uilian Ries Co-authored-by: PerseoGI Co-authored-by: Uilian Ries --- recipes/date/all/conanfile.py | 24 ++++++------------------ 1 file changed, 6 insertions(+), 18 deletions(-) diff --git a/recipes/date/all/conanfile.py b/recipes/date/all/conanfile.py index 315ca73f8ae1f..50c70b315563a 100644 --- a/recipes/date/all/conanfile.py +++ b/recipes/date/all/conanfile.py @@ -91,20 +91,13 @@ def build(self): def package(self): copy(self, "LICENSE.txt", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) - if self.options.header_only: - src = os.path.join(self.source_folder, "include", "date") - dst = os.path.join(self.package_folder, "include", "date") - copy(self, "date.h", dst=dst, src=src) - copy(self, "tz.h", dst=dst, src=src) - copy(self, "ptz.h", dst=dst, src=src) - copy(self, "iso_week.h", dst=dst, src=src) - copy(self, "julian.h", dst=dst, src=src) - copy(self, "islamic.h", dst=dst, src=src) - else: + if not self.options.header_only: cmake = CMake(self) cmake.install() rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) rmdir(self, os.path.join(self.package_folder, "CMake")) + copy(self, "*.h", dst=os.path.join(self.package_folder, "include", "date"), + src=os.path.join(self.source_folder, "include", "date")) def package_info(self): self.cpp_info.set_property("cmake_file_name", "date") @@ -120,18 +113,13 @@ def package_info(self): lib_name = "{}tz".format("date-" if Version(self.version) >= "3.0.0" else "") self.cpp_info.components["date-tz"].libs = [lib_name] if self.settings.os in ["Linux", "FreeBSD"]: - self.cpp_info.components["date-tz"].system_libs.append("pthread") - self.cpp_info.components["date-tz"].system_libs.append("m") + self.cpp_info.components["date-tz"].system_libs.extend(["m", "pthread"]) if not self.options.use_system_tz_db: self.cpp_info.components["date-tz"].requires.append("libcurl::libcurl") - if self.options.use_system_tz_db and not self.settings.os == "Windows": - use_os_tzdb = 1 - else: - use_os_tzdb = 0 - - defines = ["USE_OS_TZDB={}".format(use_os_tzdb)] + use_os_tzdb = 1 if self.options.use_system_tz_db and not self.settings.os == "Windows" else 0 + defines = [f"USE_OS_TZDB={use_os_tzdb}"] if self.settings.os == "Windows" and self.options.shared: defines.append("DATE_USE_DLL=1") From badc0625a9c6096dfa2d9d47d8fe55be3df53bbe Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Mon, 2 Sep 2024 17:42:11 +0300 Subject: [PATCH 452/641] (#18979) libfabric: migrate to Conan v2, add missing dependencies * libfabric: migrate to Conan v2 * libfabric: explicitly disable providers that cannot be built by default * libfabric: add v1.18.1 * libfabric: opx also requires rdma-core * libfabric: add libatomic system dependency * libfabric: macOS does not support `shm` * libfabric: macOS does not support `sm2` * libfabric: fix libatomic system dep * libfabric: do not ignore libcxx for libatomic * libfabric: workaround for linter error * libfabric: fix typo * libfabric: add libatomic for both gcc and clang * libfabric: fix_apple_shared_install_name() * libfabric: bump to v1.21.0, drop v1.12.1, remove 'auto' options * libfabric: disable 'verbs' * libfabric: fix invalid default configurations on macOS * libfabric: fix a linter error * libfabric: fix a missing option error * libfabric: fix a linter error * libfabric: fix a minor recipe bug * libfabric: add VirtualRunEnv for Conan v1 * libfabric: use get_safe() Co-authored-by: PerseoGI * Improve Windows invalid config message Signed-off-by: Uilian Ries * Use None ANY for providers Signed-off-by: Uilian Ries * Remove psm option Signed-off-by: Uilian Ries * Remove xpmem and cxi Signed-off-by: Uilian Ries * Improve verbs invalid configuration message Signed-off-by: Uilian Ries * Remove opx Signed-off-by: Uilian Ries * Disable bgq Signed-off-by: Uilian Ries * Enable verbs and disable others Signed-off-by: Uilian Ries --------- Signed-off-by: Uilian Ries Co-authored-by: PerseoGI Co-authored-by: Uilian Ries --- recipes/libfabric/all/conandata.yml | 6 +- recipes/libfabric/all/conanfile.py | 232 +++++++++++++----- .../libfabric/all/test_package/CMakeLists.txt | 9 +- .../libfabric/all/test_package/conanfile.py | 21 +- .../all/test_v1_package/CMakeLists.txt | 8 + .../all/test_v1_package/conanfile.py | 17 ++ recipes/libfabric/config.yml | 2 +- 7 files changed, 212 insertions(+), 83 deletions(-) create mode 100644 recipes/libfabric/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/libfabric/all/test_v1_package/conanfile.py diff --git a/recipes/libfabric/all/conandata.yml b/recipes/libfabric/all/conandata.yml index 1eedb4da16c00..1488ae656448e 100644 --- a/recipes/libfabric/all/conandata.yml +++ b/recipes/libfabric/all/conandata.yml @@ -1,4 +1,4 @@ sources: - "1.12.1": - url: https://github.com/ofiwg/libfabric/releases/download/v1.12.1/libfabric-1.12.1.tar.bz2 - sha256: db3c8e0a495e6e9da6a7436adab905468aedfbd4579ee3da5232a5c111ba642c + "1.21.0": + url: "https://github.com/ofiwg/libfabric/releases/download/v1.21.0/libfabric-1.21.0.tar.bz2" + sha256: "0c1b7b830d9147f661e5d7f359250b85b5a9885c330464cd3b5e5d35b86551c7" diff --git a/recipes/libfabric/all/conanfile.py b/recipes/libfabric/all/conanfile.py index 96dbea392e3a6..9d5b8417f1cbd 100644 --- a/recipes/libfabric/all/conanfile.py +++ b/recipes/libfabric/all/conanfile.py @@ -1,99 +1,195 @@ -from conans import ConanFile, AutoToolsBuildEnvironment, tools -from conans.errors import ConanInvalidConfiguration import os -required_conan_version = ">=1.35.0" +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.apple import is_apple_os, fix_apple_shared_install_name +from conan.tools.env import VirtualBuildEnv, VirtualRunEnv +from conan.tools.files import copy, get, rm, rmdir +from conan.tools.gnu import Autotools, AutotoolsToolchain, AutotoolsDeps +from conan.tools.layout import basic_layout + +required_conan_version = ">=1.53.0" + class LibfabricConan(ConanFile): name = "libfabric" - description = "Open Fabric Interfaces" - topics = ("fabric", "communication", "framework", "service") + description = ("Libfabric, also known as Open Fabrics Interfaces (OFI), " + "defines a communication API for high-performance parallel and distributed applications.") + license = ("BSD-2-Clause", "GPL-2.0-or-later") url = "https://github.com/conan-io/conan-center-index" homepage = "http://libfabric.org" - license = "BSD-2-Clause", "GPL-2.0-or-later" + topics = ("fabric", "communication", "framework", "service") + + package_type = "library" settings = "os", "arch", "compiler", "build_type" - _providers = ['gni', 'psm', 'psm2', 'psm3', 'rxm', 'sockets', 'tcp', 'udp', 'usnic', 'verbs', 'bgq'] + _providers = [ + "dmabuf_peer_mem", + "efa", + "hook_debug", + "hook_hmem", + "mrail", + "perf", + "profile", + "rxd", + "rxm", + "shm", + "sm2", + "sockets", + "tcp", + "trace", + "ucx", + "udp", + "usnic", + "verbs", + ] options = { - **{ p: "ANY" for p in _providers }, - **{ - "shared": [True, False], - "fPIC": [True, False], - "with_libnl": "ANY", - "with_bgq_progress": [None, "auto", "manual"], - "with_bgq_mr": [None, "basic", "scalable"] - } + "shared": [True, False], + "fPIC": [True, False], + **{ p: [None, "ANY"] for p in _providers }, } default_options = { - **{ p: "auto" for p in _providers }, - **{ - "shared": False, - "fPIC": True, - "with_libnl": None, - "with_bgq_progress": None, - "with_bgq_mr": None - } + "shared": False, + "fPIC": True, + "dmabuf_peer_mem": "yes", + "efa": "yes", + "hook_debug": "yes", + "hook_hmem": "yes", + "mrail": "yes", + "perf": "no", + "profile": "yes", + "rxd": "yes", + "rxm": "yes", + "shm": "yes", + "sm2": "yes", + "sockets": "yes", + "tcp": "yes", + "trace": "yes", + "ucx": "no", + "udp": "yes", + "usnic": "no", + "verbs": "yes" } - @property - def _source_subfolder(self): - return "source_subfolder" - - _autotools = None - def config_options(self): - if self.settings.os == 'Windows': - del self.options.fPIC + if is_apple_os(self): + # Requires libnl, which is not available on macOS + del self.options.usnic + # Require Linux-specific process_vm_readv syscall + del self.options.shm + del self.options.sm2 + # rdma-core is not available on macOS + del self.options.efa + del self.options.verbs def configure(self): if self.options.shared: - del self.options.fPIC - del self.settings.compiler.libcxx - del self.settings.compiler.cppstd + self.options.rm_safe("fPIC") + self.settings.rm_safe("compiler.libcxx") + self.settings.rm_safe("compiler.cppstd") + + def _is_enabled(self, opt): + return str(self.options.get_safe(opt)) == "yes" or str(self.options.get_safe(opt)).startswith("dl") + + def requirements(self): + if self._is_enabled("usnic"): + self.requires("libnl/3.8.0") + if self._is_enabled("efa") or self._is_enabled("usnic") or self._is_enabled("verbs"): + self.requires("rdma-core/52.0") + + def layout(self): + basic_layout(self, src_folder="src") def validate(self): - if self.settings.os not in ["Linux", "FreeBSD", "Macos"]: - raise ConanInvalidConfiguration("libfabric only builds on Linux, Macos, and FreeBSD.") - for p in self._providers: - if self.options.get_safe(p) not in ["auto", "yes", "no", "dl"] and not os.path.isdir(str(self.options.get_safe(p))): - raise ConanInvalidConfiguration("Option {} can only be one of 'auto', 'yes', 'no', 'dl' or a directory path") - if self.options.get_safe('with_libnl') and not os.path.isdir(str(self.options.with_libnl)): - raise ConanInvalidConfiguration("Value of with_libnl must be an existing directory") + if self.settings.os == "Windows": + # FIXME: libfabric provides msbuild project files. + raise ConanInvalidConfiguration(f"{self.ref} Conan recipes is not supported on Windows. Contributions are welcome.") + + for provider in self._providers: + provider = str(self.options.get_safe(provider)) + if provider.lower() not in ["yes", "no", "dl", "none"] and \ + not os.path.isdir(provider) and \ + (not provider.startswith("dl:") and not os.path.isdir(provider[3:])): + raise ConanInvalidConfiguration(f"{self.ref} provider option '{provider}' is not valid. It must be 'yes', 'no', 'dl', 'dl:' or a directory path.") + + if self._is_enabled("verbs"): + if not self.dependencies["rdma-core"].options.build_librdmacm: + raise ConanInvalidConfiguration(f"{self.ref} '-o rdma-core/*:build_librdmacm=True' is required when '-o &:verbs=True'") + + def build_requirements(self): + # Used in ./configure tests and build + self.tool_requires("libtool/2.4.7") def source(self): - tools.get(**self.conan_data["sources"][self.version], - destination=self._source_subfolder, strip_root=True) - - def _configure_autotools(self): - if self._autotools: - return self._autotools - self._autotools = AutoToolsBuildEnvironment(self) - args = [] + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = AutotoolsToolchain(self) for p in self._providers: - args.append('--enable-{}={}'.format(p, self.options.get_safe(p))) - if self.options.with_libnl: - args.append('--with-libnl={}'.format(self.options.with_libnl)) - if self.options.with_bgq_progress: - args.append('--with-bgq-progress={}'.format(self.options.with_bgq_progress)) - if self.options.with_bgq_mr: - args.append('--with-bgq-mr={}'.format(self.options.with_bgq_mr)) - self._autotools.configure(args=args, configure_dir=self._source_subfolder) - return self._autotools + if p == "verbs" and self.options.get_safe(p, "no") != "no": + path = self.dependencies["rdma-core"].package_folder + if self.options.get_safe("verbs") == "dl": + tc.configure_args.append(f"--enable-verbs=dl:{path}") + else: + tc.configure_args.append(f"--enable-verbs={path}") + else: + tc.configure_args.append(f"--enable-{p}={self.options.get_safe(p, 'no')}") + if self.settings.build_type == "Debug": + tc.configure_args.append("--enable-debug") + tc.configure_args.append(f"--with-bgq-progress=no") + tc.configure_args.append(f"--with-bgq-mr=no") + tc.configure_args.append("--with-cassin-headers=no") + tc.configure_args.append("--with-cuda=no") # TODO + tc.configure_args.append("--with-curl=no") # TODO + tc.configure_args.append("--with-cxi-uapi-headers=no") + tc.configure_args.append("--with-dsa=no") + tc.configure_args.append("--with-gdrcopy=no") + tc.configure_args.append("--with-json-c=no") # TODO + if self._is_enabled("usnic"): + tc.configure_args.append(f"--with-libnl={self.dependencies['libnl'].package_folder}") + else: + tc.configure_args.append("--with-libnl=no") + tc.configure_args.append("--with-lttng=no") + tc.configure_args.append("--with-neuron=no") + tc.configure_args.append(f"--with-numa=no") + tc.configure_args.append("--with-psm2-src=no") + tc.configure_args.append("--with-psm3-rv=no") + tc.configure_args.append("--with-rocr=no") + tc.configure_args.append("--with-synapseai=no") + tc.configure_args.append("--with-uring=no") # TODO + tc.configure_args.append("--with-ze=no") + tc.configure_args.append("-enable-psm=no") + tc.configure_args.append("--enable-psm2=no") + tc.configure_args.append("--enable-psm3=no") + tc.configure_args.append("--enable-xpmem=no") + tc.configure_args.append("--enable-cxi=no") + tc.configure_args.append("--enable-opx=no") + tc.configure_args.append("--enable-bgq=no") + tc.generate() + + deps = AutotoolsDeps(self) + deps.generate() + + VirtualBuildEnv(self).generate() + VirtualRunEnv(self).generate(scope="build") def build(self): - autotools = self._configure_autotools() + autotools = Autotools(self) + autotools.configure() autotools.make() def package(self): - self.copy(pattern="COPYING", dst="licenses", src=self._source_subfolder) - autotools = self._configure_autotools() + copy(self, "COPYING", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + autotools = Autotools(self) autotools.install() - - tools.rmdir(os.path.join(self.package_folder, "share")) - tools.rmdir(os.path.join(self.package_folder, "lib", "pkgconfig")) - tools.remove_files_by_mask(os.path.join(self.package_folder, "lib"), "*.la") + rmdir(self, os.path.join(self.package_folder, "share")) + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) + rm(self, "*.la", self.package_folder, recursive=True) + fix_apple_shared_install_name(self) def package_info(self): - self.cpp_info.names["pkg_config"] = "libfabric" - self.cpp_info.libs = self.collect_libs() + self.cpp_info.set_property("pkg_config_name", "libfabric") + self.cpp_info.libs = ["fabric"] if self.settings.os in ["Linux", "FreeBSD"]: - self.cpp_info.system_libs = ["pthread", "m"] + self.cpp_info.system_libs = ["pthread", "m", "rt", "dl"] + if self.settings.compiler in ["gcc", "clang"]: + self.cpp_info.system_libs.append("atomic") diff --git a/recipes/libfabric/all/test_package/CMakeLists.txt b/recipes/libfabric/all/test_package/CMakeLists.txt index 196188113685c..09b7943e0c2de 100644 --- a/recipes/libfabric/all/test_package/CMakeLists.txt +++ b/recipes/libfabric/all/test_package/CMakeLists.txt @@ -1,8 +1,7 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() +find_package(libfabric REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS}) +target_link_libraries(${PROJECT_NAME} PRIVATE libfabric::libfabric) diff --git a/recipes/libfabric/all/test_package/conanfile.py b/recipes/libfabric/all/test_package/conanfile.py index bd7165a553cf4..ef5d7042163ec 100644 --- a/recipes/libfabric/all/test_package/conanfile.py +++ b/recipes/libfabric/all/test_package/conanfile.py @@ -1,10 +1,19 @@ -from conans import ConanFile, CMake, tools +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake import os class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake" + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): cmake = CMake(self) @@ -12,6 +21,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self.settings): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/libfabric/all/test_v1_package/CMakeLists.txt b/recipes/libfabric/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/libfabric/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/libfabric/all/test_v1_package/conanfile.py b/recipes/libfabric/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..7e2dfe859bb27 --- /dev/null +++ b/recipes/libfabric/all/test_v1_package/conanfile.py @@ -0,0 +1,17 @@ +from conans import ConanFile, CMake, tools +import os + + +class TestPackageConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self.settings): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) diff --git a/recipes/libfabric/config.yml b/recipes/libfabric/config.yml index daa3a213a56fa..09d8df06c28ff 100644 --- a/recipes/libfabric/config.yml +++ b/recipes/libfabric/config.yml @@ -1,3 +1,3 @@ versions: - "1.12.1": + "1.21.0": folder: all From a827dd939434471ac5561beda61d1cb3471c0f2e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Abril=20Rinc=C3=B3n=20Blanco?= Date: Mon, 2 Sep 2024 17:02:03 +0200 Subject: [PATCH 453/641] (#24870) podofo: Fix conflicts in podofo, remove oldest version * Fix conflicts in podofo, remove oldest version * Missing config.yml change --- recipes/podofo/all/conandata.yml | 7 ------- recipes/podofo/config.yml | 2 -- 2 files changed, 9 deletions(-) diff --git a/recipes/podofo/all/conandata.yml b/recipes/podofo/all/conandata.yml index 2735fdd5d425b..016e63cd90df6 100644 --- a/recipes/podofo/all/conandata.yml +++ b/recipes/podofo/all/conandata.yml @@ -2,15 +2,8 @@ sources: "0.9.7": url: "https://netcologne.dl.sourceforge.net/project/podofo/podofo/0.9.7/podofo-0.9.7.tar.gz" sha256: "7cf2e716daaef89647c54ffcd08940492fd40c385ef040ce7529396bfadc1eb8" - "0.9.6": - url: "https://netcologne.dl.sourceforge.net/project/podofo/podofo/0.9.6/podofo-0.9.6.tar.gz" - sha256: "e9163650955ab8e4b9532e7aa43b841bac45701f7b0f9b793a98c8ca3ef14072" patches: "0.9.7": - patch_file: "patches/0001-fix-cmake-0.9.7.patch" patch_description: "Link to conan libs and allow to build the tools without the tests and the examples" patch_type: "conan" - "0.9.6": - - patch_file: "patches/0001-fix-cmake-0.9.6.patch" - patch_description: "Link to conan libs and allow to build the tools without the tests and the examples" - patch_type: "conan" diff --git a/recipes/podofo/config.yml b/recipes/podofo/config.yml index ca2128b57488a..a6cc81e2fb933 100644 --- a/recipes/podofo/config.yml +++ b/recipes/podofo/config.yml @@ -1,5 +1,3 @@ versions: "0.9.7": folder: all - "0.9.6": - folder: all From aa4aa6a4c212be2c7b3b957df16768ca111b4016 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 3 Sep 2024 00:32:48 +0900 Subject: [PATCH 454/641] (#25074) xbyak: add version 7.07.1 --- recipes/xbyak/all/conandata.yml | 3 +++ recipes/xbyak/all/test_package/conanfile.py | 1 + recipes/xbyak/config.yml | 2 ++ 3 files changed, 6 insertions(+) diff --git a/recipes/xbyak/all/conandata.yml b/recipes/xbyak/all/conandata.yml index ef1003499edb9..ea15bf45963b8 100644 --- a/recipes/xbyak/all/conandata.yml +++ b/recipes/xbyak/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "7.07.1": + url: "https://github.com/herumi/xbyak/archive/v7.07.1.tar.gz" + sha256: "9f2a1215ed0511e421895d57e2681981f9f9f8fb952655919a9cf859cfe474ae" "7.07": url: "https://github.com/herumi/xbyak/archive/v7.07.tar.gz" sha256: "7bd603fb8de9e605b86c1996a20111df66707c916a2ac0397424080cc0ad7bde" diff --git a/recipes/xbyak/all/test_package/conanfile.py b/recipes/xbyak/all/test_package/conanfile.py index d120a992c06a6..8a5bb47f50c4c 100644 --- a/recipes/xbyak/all/test_package/conanfile.py +++ b/recipes/xbyak/all/test_package/conanfile.py @@ -7,6 +7,7 @@ class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" generators = "CMakeToolchain", "CMakeDeps", "VirtualRunEnv" + test_type = "explicit" def requirements(self): self.requires(self.tested_reference_str) diff --git a/recipes/xbyak/config.yml b/recipes/xbyak/config.yml index 6b9a060b1e92a..6b2757b9d33b2 100644 --- a/recipes/xbyak/config.yml +++ b/recipes/xbyak/config.yml @@ -1,4 +1,6 @@ versions: + "7.07.1": + folder: all "7.07": folder: all "7.06": From e46ed34cb399023297856ba00c2222d71476a986 Mon Sep 17 00:00:00 2001 From: Johannes Wolf <519002+johannes-wolf@users.noreply.github.com> Date: Mon, 2 Sep 2024 17:51:26 +0200 Subject: [PATCH 455/641] (#25080) simfil: Bump 0.3.2 --- 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 706bf72a90673..d5a01b392c11c 100644 --- a/recipes/simfil/all/conandata.yml +++ b/recipes/simfil/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.3.2": + url: "https://github.com/Klebert-Engineering/simfil/archive/refs/tags/v0.3.2.tar.gz" + sha256: "b8357db1d46058bb5b02eee4945801fc96cf06736c15195235a4b35da72e2ac2" "0.3.1": url: "https://github.com/Klebert-Engineering/simfil/archive/refs/tags/v0.3.1.tar.gz" sha256: "caddee2e338041ae5ec56c6a92f14e79ee3d5a0f7eaf327d6b8418fe06dd484e" diff --git a/recipes/simfil/config.yml b/recipes/simfil/config.yml index 1b93823eb7e3e..1dab437cf32dd 100644 --- a/recipes/simfil/config.yml +++ b/recipes/simfil/config.yml @@ -1,4 +1,6 @@ versions: + "0.3.2": + folder: all "0.3.1": folder: all "0.3.0": From d960df0b83049c494b11ae875f5ba57865c9dffe Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Mon, 2 Sep 2024 21:21:29 +0100 Subject: [PATCH 456/641] (#25112) [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 7ca5d46d50f3e..25a68fba2a79b 100644 --- a/.c3i/conan_v2_ready_references.yml +++ b/.c3i/conan_v2_ready_references.yml @@ -592,6 +592,7 @@ required_for_references: - inversify-cpp - iowow - ipaddress +- iphreeqc - iqa - irrxml - isa-l @@ -1328,6 +1329,7 @@ required_for_references: - sdf - sdl - sdl_image +- sdl_mixer - sdl_net - sdl_ttf - seadex-essentials From 4f293a7fcf3ea63849cfddc57d993c8d446ed741 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 3 Sep 2024 16:30:48 +0900 Subject: [PATCH 457/641] (#25100) etl: add version 20.39.4 --- recipes/etl/all/conandata.yml | 3 +++ recipes/etl/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/etl/all/conandata.yml b/recipes/etl/all/conandata.yml index 4cbef4767e880..ad1ca82dd2b02 100644 --- a/recipes/etl/all/conandata.yml +++ b/recipes/etl/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "20.39.4": + url: "https://github.com/ETLCPP/etl/archive/20.39.4.tar.gz" + sha256: "ce1222ed12fb39ae7a6160f8c33da61534d6b4c4d0d36be622910bbd545f5ee7" "20.39.3": url: "https://github.com/ETLCPP/etl/archive/20.39.3.tar.gz" sha256: "1d596bc47d17959ced8b4586e0ae22348c903df6ab00f47ef900d854ef5e30c8" diff --git a/recipes/etl/config.yml b/recipes/etl/config.yml index a0f3f48c1fdfb..084ac6d8aaecd 100644 --- a/recipes/etl/config.yml +++ b/recipes/etl/config.yml @@ -1,4 +1,6 @@ versions: + "20.39.4": + folder: all "20.39.3": folder: all "20.38.17": From 0178e1b1a5f6e84cf4f52909bee608ab73233025 Mon Sep 17 00:00:00 2001 From: Klaus Holst Jacobsen <48069914+klausholstjacobsen@users.noreply.github.com> Date: Tue, 3 Sep 2024 09:50:10 +0200 Subject: [PATCH 458/641] (#25108) popt: Updated libiconv dependency to version 1.17 --- recipes/popt/1.19/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/popt/1.19/conanfile.py b/recipes/popt/1.19/conanfile.py index a8a39dc69c064..77c06c30fce86 100755 --- a/recipes/popt/1.19/conanfile.py +++ b/recipes/popt/1.19/conanfile.py @@ -35,7 +35,7 @@ def config_options(self): def requirements(self): if self.settings.os == "Neutrino": - self.requires("libiconv/1.15") + self.requires("libiconv/1.17") def configure(self): if self.options.shared: From 0b81dd44faed0cc2fbdc4b723b9c9974dafe5f71 Mon Sep 17 00:00:00 2001 From: stephematician Date: Tue, 3 Sep 2024 18:50:45 +1000 Subject: [PATCH 459/641] (#25105) Fix #16735 and remove sysctl.h from chipmunk/7.0.3 --- recipes/chipmunk2d/all/conandata.yml | 7 +++++++ recipes/chipmunk2d/all/conanfile.py | 6 +++++- .../patches/0001-remove-sysctl-linux-win.patch | 16 ++++++++++++++++ 3 files changed, 28 insertions(+), 1 deletion(-) create mode 100644 recipes/chipmunk2d/all/patches/0001-remove-sysctl-linux-win.patch diff --git a/recipes/chipmunk2d/all/conandata.yml b/recipes/chipmunk2d/all/conandata.yml index 0fcc6c23d2ed4..41e39beaf8dc2 100644 --- a/recipes/chipmunk2d/all/conandata.yml +++ b/recipes/chipmunk2d/all/conandata.yml @@ -2,3 +2,10 @@ sources: "7.0.3": url: "https://chipmunk-physics.net/release/Chipmunk-7.x/Chipmunk-7.0.3.tgz" sha256: "048b0c9eff91c27bab8a54c65ad348cebd5a982ac56978e8f63667afbb63491a" + +patches: + "7.0.3": + - patch_file: "patches/0001-remove-sysctl-linux-win.patch" + patch_type: bugfix + patch_source: https://github.com/slembcke/Chipmunk2D/pull/175 + patch_description: "Needed to build with glib > 2.30" diff --git a/recipes/chipmunk2d/all/conanfile.py b/recipes/chipmunk2d/all/conanfile.py index 785d8d95d890d..53afb4be1c99c 100644 --- a/recipes/chipmunk2d/all/conanfile.py +++ b/recipes/chipmunk2d/all/conanfile.py @@ -1,6 +1,6 @@ from conan import ConanFile from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout -from conan.tools.files import copy, get, replace_in_file +from conan.tools.files import copy, get, replace_in_file, apply_conandata_patches, export_conandata_patches import os required_conan_version = ">=1.53.0" @@ -52,9 +52,13 @@ def generate(self): tc.variables["CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS"] = True tc.generate() + def export_sources(self): + export_conandata_patches(self) + def _patch_sources(self): # The finite-math-only optimization has no effect and can cause linking errors # when linked against glibc >= 2.31 + apply_conandata_patches(self) replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), "-ffast-math", "-ffast-math -fno-finite-math-only") diff --git a/recipes/chipmunk2d/all/patches/0001-remove-sysctl-linux-win.patch b/recipes/chipmunk2d/all/patches/0001-remove-sysctl-linux-win.patch new file mode 100644 index 0000000000000..8b123a7652b29 --- /dev/null +++ b/recipes/chipmunk2d/all/patches/0001-remove-sysctl-linux-win.patch @@ -0,0 +1,16 @@ +--- a/src/cpHastySpace.c ++++ b/src/cpHastySpace.c +@@ -7,8 +7,12 @@ + //TODO: Move all the thread stuff to another file + + //#include +-#ifndef _WIN32 ++ ++#ifdef __APPLE__ + #include ++#endif ++ ++#ifndef _WIN32 + #include + #else + #ifndef WIN32_LEAN_AND_MEAN From 29f64212c8401f69410f4b1df699e06bed734d26 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 3 Sep 2024 12:51:50 +0300 Subject: [PATCH 460/641] (#24862) cutlass: new recipe * cutlass: new recipe * patch cmakelists * wip * wip * revert change --------- Co-authored-by: czoido --- recipes/cutlass/all/conandata.yml | 4 + recipes/cutlass/all/conanfile.py | 105 ++++++++++++++++++ .../cutlass/all/test_package/CMakeLists.txt | 8 ++ recipes/cutlass/all/test_package/conanfile.py | 26 +++++ .../cutlass/all/test_package/test_package.cpp | 10 ++ recipes/cutlass/config.yml | 3 + 6 files changed, 156 insertions(+) create mode 100644 recipes/cutlass/all/conandata.yml create mode 100644 recipes/cutlass/all/conanfile.py create mode 100644 recipes/cutlass/all/test_package/CMakeLists.txt create mode 100644 recipes/cutlass/all/test_package/conanfile.py create mode 100644 recipes/cutlass/all/test_package/test_package.cpp create mode 100644 recipes/cutlass/config.yml diff --git a/recipes/cutlass/all/conandata.yml b/recipes/cutlass/all/conandata.yml new file mode 100644 index 0000000000000..f561ee26f3a67 --- /dev/null +++ b/recipes/cutlass/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "3.5.0": + url: "https://github.com/NVIDIA/cutlass/archive/refs/tags/v3.5.0.tar.gz" + sha256: "ef6af8526e3ad04f9827f35ee57eec555d09447f70a0ad0cf684a2e426ccbcb6" diff --git a/recipes/cutlass/all/conanfile.py b/recipes/cutlass/all/conanfile.py new file mode 100644 index 0000000000000..9422f11539b20 --- /dev/null +++ b/recipes/cutlass/all/conanfile.py @@ -0,0 +1,105 @@ +import os + +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import check_min_cppstd +from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout +from conan.tools.env import VirtualBuildEnv +from conan.tools.files import copy, get, rmdir, replace_in_file +from conan.tools.scm import Version + +required_conan_version = ">=1.52.0" + + +class CutlassConan(ConanFile): + name = "cutlass" + description = "CUTLASS: CUDA Templates for Linear Algebra Subroutines" + license = "BSD-3-Clause" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/project/package" + topics = ("linear-algebra", "gpu", "cuda", "deep-learning", "nvidia", "header-only") + + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" + # TODO: add header_only=False option + + @property + def _min_cppstd(self): + return 17 + + @property + def _compilers_minimum_version(self): + return { + "gcc": "7", + "clang": "7", + "apple-clang": "7", + "msvc": "192", + "Visual Studio": "16", + } + + def layout(self): + cmake_layout(self, src_folder="src") + + def package_id(self): + self.info.clear() + + def validate(self): + if self.settings.compiler.get_safe("cppstd"): + check_min_cppstd(self, self._min_cppstd) + minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) + if minimum_version and Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration( + f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." + ) + + def build_requirements(self): + self.tool_requires("cmake/[>=3.19 <4]") + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + # Install via CMake to ensure headers are configured correctly + tc = CMakeToolchain(self) + tc.cache_variables["CMAKE_SUPPRESS_REGENERATION"] = True + tc.cache_variables["CUTLASS_REVISION"]=f"v{self.version}" + tc.cache_variables["CUTLASS_NATIVE_CUDA"] = False + tc.cache_variables["CUTLASS_ENABLE_HEADERS_ONLY"] = True + tc.cache_variables["CUTLASS_ENABLE_TOOLS"] = False + tc.cache_variables["CUTLASS_ENABLE_LIBRARY"] = False + tc.cache_variables["CUTLASS_ENABLE_PROFILER"] = False + tc.cache_variables["CUTLASS_ENABLE_PERFORMANCE"] = False + tc.cache_variables["CUTLASS_ENABLE_TESTS"] = False + tc.cache_variables["CUTLASS_ENABLE_GTEST_UNIT_TESTS"] = False + tc.cache_variables["CUTLASS_ENABLE_CUBLAS"] = False + tc.cache_variables["CUTLASS_ENABLE_CUDNN"] = False + tc.generate() + VirtualBuildEnv(self).generate() + + def _patch_sources(self): + # Don't look for CUDA, we're only installing the headers + replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), "include(${CMAKE_CURRENT_SOURCE_DIR}/CUDA.cmake)", + """ + if(NOT CUTLASS_ENABLE_HEADERS_ONLY) + include(${CMAKE_CURRENT_SOURCE_DIR}/CUDA.cmake) + endif()""") + + def build(self): + self._patch_sources() + 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")) + rmdir(self, os.path.join(self.package_folder, "test")) + + + def package_info(self): + self.cpp_info.set_property("cmake_file_name", "NvidiaCutlass") + self.cpp_info.set_property("cmake_target_name", "nvidia::cutlass::cutlass") + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] diff --git a/recipes/cutlass/all/test_package/CMakeLists.txt b/recipes/cutlass/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..a4872b3ed37c7 --- /dev/null +++ b/recipes/cutlass/all/test_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) + +find_package(NvidiaCutlass REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE nvidia::cutlass::cutlass) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) diff --git a/recipes/cutlass/all/test_package/conanfile.py b/recipes/cutlass/all/test_package/conanfile.py new file mode 100644 index 0000000000000..3a91c9439218e --- /dev/null +++ b/recipes/cutlass/all/test_package/conanfile.py @@ -0,0 +1,26 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def layout(self): + cmake_layout(self) + + def requirements(self): + self.requires(self.tested_reference_str) + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/cutlass/all/test_package/test_package.cpp b/recipes/cutlass/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..9e74847cbedd3 --- /dev/null +++ b/recipes/cutlass/all/test_package/test_package.cpp @@ -0,0 +1,10 @@ +#include + +#include + +int main() { + std::cout << "CUTLASS version: " << + cutlass::getVersionMajor() << "." << + cutlass::getVersionMinor() << "." << + cutlass::getVersionPatch() << std::endl; +} diff --git a/recipes/cutlass/config.yml b/recipes/cutlass/config.yml new file mode 100644 index 0000000000000..4ab92d6cac50e --- /dev/null +++ b/recipes/cutlass/config.yml @@ -0,0 +1,3 @@ +versions: + "3.5.0": + folder: all From 987b790a4ba5696cdb826fbc530931133c00249c Mon Sep 17 00:00:00 2001 From: Luis Caro Campos <3535649+jcar87@users.noreply.github.com> Date: Tue, 3 Sep 2024 14:42:17 +0200 Subject: [PATCH 461/641] (#25087) grpc: fix transitive_libs grpc regression * grpc: fix transitive_libs grpc regression * grpc: add comments to clarify transitive_libs --- recipes/grpc/all/conanfile.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/recipes/grpc/all/conanfile.py b/recipes/grpc/all/conanfile.py index f133e9a897253..846221d92beaf 100644 --- a/recipes/grpc/all/conanfile.py +++ b/recipes/grpc/all/conanfile.py @@ -101,12 +101,14 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - # abseil is public. See https://github.com/conan-io/conan-center-index/pull/17284#issuecomment-1526082638 + # abseil requires: + # transitive_headers=True because grpc headers include abseil headers + # transitive_libs=True because generated code (grpc_cpp_plugin) require symbols from abseil 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) + self.requires("abseil/[>=20240116.1 <20240117.0]", transitive_headers=True, transitive_libs=True) else: - self.requires("abseil/[>=20230125.3 <=20230802.1]", transitive_headers=True) + self.requires("abseil/[>=20230125.3 <=20230802.1]", transitive_headers=True, transitive_libs=True) self.requires("protobuf/3.21.12", transitive_headers=True) self.requires("c-ares/[>=1.19.1 <2]") self.requires("openssl/[>=1.1 <4]") From 43f61851b26c632acd524fa8f05609f211ec1783 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 3 Sep 2024 18:51:35 +0300 Subject: [PATCH 462/641] (#25095) shaderc: add v2024.1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * shaderc: add v2024.1 * fix rpath * Move spirv mapping to conandata to allow for trimming * Update recipes/shaderc/all/conandata.yml * Update recipes/shaderc/all/conandata.yml --------- Co-authored-by: Ernesto de Gracia Herranz Co-authored-by: Abril Rincón Blanco --- recipes/shaderc/all/conandata.yml | 19 +++++++++++++++++++ recipes/shaderc/all/conanfile.py | 9 +++------ recipes/shaderc/config.yml | 2 ++ 3 files changed, 24 insertions(+), 6 deletions(-) diff --git a/recipes/shaderc/all/conandata.yml b/recipes/shaderc/all/conandata.yml index f866b68a84277..25858ddef7954 100644 --- a/recipes/shaderc/all/conandata.yml +++ b/recipes/shaderc/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2024.1": + url: "https://github.com/google/shaderc/archive/refs/tags/v2024.1.tar.gz" + sha256: "eb3b5f0c16313d34f208d90c2fa1e588a23283eed63b101edd5422be6165d528" "2023.6": url: "https://github.com/google/shaderc/archive/refs/tags/v2023.6.tar.gz" sha256: "e40fd4a87a56f6610e223122179f086d5c4f11a7e0e2aa461f0325c3a0acc6ae" @@ -6,6 +9,16 @@ sources: url: "https://github.com/google/shaderc/archive/v2021.1.tar.gz" sha256: "047113bc4628da164a3cb845efc20d442728873f6054a68ab56d04a053f2c32b" patches: + "2024.1": + - patch_file: "patches/2023.6/use-conan-dependencies.patch" + patch_description: "Replace third_party with Conan dependencies" + patch_type: "conan" + - patch_file: "patches/2021.1/adapt-update_build_version.py.patch" + patch_description: "Adapt update_build_version.py for Conan" + patch_type: "conan" + - patch_file: "patches/2021.1/install-shaderc_util.patch" + patch_description: "install() shaderc_util" + patch_type: "conan" "2023.6": - patch_file: "patches/2023.6/use-conan-dependencies.patch" patch_description: "Replace third_party with Conan dependencies" @@ -26,3 +39,9 @@ patches: - patch_file: "patches/2021.1/install-shaderc_util.patch" patch_description: "install() shaderc_util" patch_type: "conan" +siprv_mapping: + # TODO: bump me once newer versions are available on CCI + "2024.1": "1.3.261.1" + # "2023.6": "1.3.261.1" + "2023.6": "1.3.239.0" + "2021.1": "1.3.224.0" diff --git a/recipes/shaderc/all/conanfile.py b/recipes/shaderc/all/conanfile.py index 80efeb3ed4b4e..309b53f6cb235 100644 --- a/recipes/shaderc/all/conanfile.py +++ b/recipes/shaderc/all/conanfile.py @@ -6,6 +6,7 @@ from conan.tools.env import VirtualBuildEnv from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rmdir from conan.tools.microsoft import is_msvc, is_msvc_static_runtime +from conan.tools.apple import fix_apple_shared_install_name required_conan_version = ">=1.53.0" @@ -45,12 +46,7 @@ def layout(self): @property def _spirv_version(self): - return { - # TODO: bump me once newer versions are available on CCI - # "2023.6": "1.3.261.1", - "2023.6": "1.3.239.0", - "2021.1": "1.3.224.0", - }[str(self.version)] + return self.conan_data.get("siprv_mapping")[self.version] def requirements(self): # transitive_headers=True is not required for any of the dependencies @@ -104,6 +100,7 @@ def package(self): copy(self, "LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) cmake = CMake(self) cmake.install() + fix_apple_shared_install_name(self) rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) def package_info(self): diff --git a/recipes/shaderc/config.yml b/recipes/shaderc/config.yml index 272340ffeadfd..7b4ff24649925 100644 --- a/recipes/shaderc/config.yml +++ b/recipes/shaderc/config.yml @@ -1,4 +1,6 @@ versions: + "2024.1": + folder: all "2023.6": folder: all "2021.1": From ad8a9abb96dc23c878e1c284718823a4febd1952 Mon Sep 17 00:00:00 2001 From: Roberto Turrado Camblor Date: Wed, 4 Sep 2024 07:52:57 +0100 Subject: [PATCH 463/641] (#25120) libqasm: add version 0.6.7 * Update libqasm version to 0.6.7. * Update gtest version to 1.15.0. Update tree-gen version to 1.0.8. * Require tree-gen/1.0.7 for libqasm versions smaller than 0.6.7. --- recipes/libqasm/all/conandata.yml | 3 +++ recipes/libqasm/all/conanfile.py | 10 +++++++--- recipes/libqasm/config.yml | 2 ++ 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/recipes/libqasm/all/conandata.yml b/recipes/libqasm/all/conandata.yml index 8ef190015c47b..11f0ecaaf3931 100644 --- a/recipes/libqasm/all/conandata.yml +++ b/recipes/libqasm/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.6.7": + url: "https://github.com/QuTech-Delft/libqasm/archive/refs/tags/0.6.7.tar.gz" + sha256: "3e85be4f433b178b89e32bc738bd4f69266cd1c4ad0ed12b5367381ac6e44eb2" "0.6.6": url: "https://github.com/QuTech-Delft/libqasm/archive/refs/tags/0.6.6.tar.gz" sha256: "b3a2d1670f8865ce22bcc62c6a696ee7e0764a7b76901a4f082efa2287e0cbad" diff --git a/recipes/libqasm/all/conanfile.py b/recipes/libqasm/all/conanfile.py index 4eeedc606ece2..142f8f4210203 100644 --- a/recipes/libqasm/all/conanfile.py +++ b/recipes/libqasm/all/conanfile.py @@ -70,7 +70,7 @@ def build_requirements(self): if self.settings.arch == "wasm": self.tool_requires("emsdk/3.1.50") if self._should_build_test: - self.test_requires("gtest/1.14.0") + self.test_requires("gtest/1.15.0") if self.options.build_python: self.tool_requires("cpython/3.12.2") @@ -86,9 +86,13 @@ def validate(self): raise ConanInvalidConfiguration(f"{self.ref} requires antlr4-cppruntime to be built with the same shared option value.") def requirements(self): - self.requires("fmt/10.2.1", transitive_headers=True) + if Version(self.version) < "0.6.7": + self.requires("fmt/10.2.1", transitive_headers=True) + self.requires("tree-gen/1.0.7", transitive_headers=True, transitive_libs=True) + else: + self.requires("fmt/11.0.2", transitive_headers=True) + self.requires("tree-gen/1.0.8", transitive_headers=True, transitive_libs=True) self.requires("range-v3/0.12.0", transitive_headers=True) - self.requires("tree-gen/1.0.7", transitive_headers=True, transitive_libs=True) if not self.settings.arch == "wasm": self.requires("antlr4-cppruntime/4.13.1", transitive_headers=True) diff --git a/recipes/libqasm/config.yml b/recipes/libqasm/config.yml index 9948b2cad2840..70cd514abf1d8 100644 --- a/recipes/libqasm/config.yml +++ b/recipes/libqasm/config.yml @@ -1,4 +1,6 @@ versions: + "0.6.7": + folder: all "0.6.6": folder: all "0.6.5": From b55601e9dea7cbe98366aca4b86dbfe15c28335c Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Wed, 4 Sep 2024 11:03:41 +0300 Subject: [PATCH 464/641] (#19227) net-snmp: migrate to Conan v2 * net-snmp: migrate to Conan v2 * net-snmp: bump deps * net-snmp: merge changes from #19001 * net-snmp: add build-scope VirtualRunEnv * net-snmp: bump version, use gnu-config * net-snmp: add automake * net-snmp: add libtool * net-snmp: fix test_v1_package * net-snmp: remove missing self.should_configure * net-snmp: fix a patch bug * net-snmp: add a workaround for "unresolved external symbol" * net-snmp: MSVC build is currently broken * Use version range for OpenSSL Signed-off-by: Uilian Ries * Block only msvc shared Signed-off-by: Uilian Ries * Do not copy dll when packaging Signed-off-by: Uilian Ries * Drop neutrino support Signed-off-by: Uilian Ries * Add system dependencies Signed-off-by: Uilian Ries * Add more system libraries Signed-off-by: Uilian Ries * Remove cmake as requirement on tests Signed-off-by: Uilian Ries * Install pkgconfig to find OpenSSL when cross-building Signed-off-by: Uilian Ries * Add zlib as mandatory requirement. --------- Signed-off-by: Uilian Ries Co-authored-by: Uilian Ries --- recipes/net-snmp/all/conandata.yml | 17 +- recipes/net-snmp/all/conanfile.py | 277 ++++++++++-------- .../patches/0003-fix-perl-scripts-msvc.patch | 36 +-- .../patches/0004-fix-apple-arm64-build.patch | 17 -- .../net-snmp/all/test_package/CMakeLists.txt | 5 +- .../net-snmp/all/test_package/conanfile.py | 26 +- .../net-snmp/all/test_package/test_package.c | 6 +- .../all/test_v1_package/CMakeLists.txt | 8 + .../net-snmp/all/test_v1_package/conanfile.py | 18 ++ recipes/net-snmp/config.yml | 2 +- 10 files changed, 220 insertions(+), 192 deletions(-) delete mode 100644 recipes/net-snmp/all/patches/0004-fix-apple-arm64-build.patch create mode 100644 recipes/net-snmp/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/net-snmp/all/test_v1_package/conanfile.py diff --git a/recipes/net-snmp/all/conandata.yml b/recipes/net-snmp/all/conandata.yml index 269a227ecf9b0..9ad5ce20f2145 100644 --- a/recipes/net-snmp/all/conandata.yml +++ b/recipes/net-snmp/all/conandata.yml @@ -1,14 +1,13 @@ sources: - "5.9.1": - sha256: "75b59d67e871aaaa31c8cef89ba7d06972782b97736b7e8c3399f36b50a8816f" - url: https://sourceforge.net/projects/net-snmp/files/net-snmp/5.9.1/net-snmp-5.9.1.zip/download + "5.9.4": + url: "https://sourceforge.net/projects/net-snmp/files/net-snmp/5.9.4/net-snmp-5.9.4.zip/download" + sha256: "ceea0c876f23b87731de2073e6a3a683ea610c66a5a67b5cabf4986b7813c22b" patches: - "5.9.1": + "5.9.4": - patch_file: patches/0001-fix-openssl-linking-msvc.patch - base_path: "" + patch_description: "Use Conan OpenSSL when linking on Windows" + patch_source: "https://github.com/net-snmp/net-snmp/commit/99332c80b68248cb60023d12297135dc9c6c8abf" - patch_file: patches/0002-install-only-libnetsnmp.patch - base_path: "" + patch_description: "Avoid install extra helper libraries" - patch_file: patches/0003-fix-perl-scripts-msvc.patch - base_path: "" - - patch_file: patches/0004-fix-apple-arm64-build.patch - base_path: "" + patch_description: "Avoid injecting extra flags when running perl" diff --git a/recipes/net-snmp/all/conanfile.py b/recipes/net-snmp/all/conanfile.py index cf81f5bab247a..68f4965c95152 100644 --- a/recipes/net-snmp/all/conanfile.py +++ b/recipes/net-snmp/all/conanfile.py @@ -1,11 +1,17 @@ -import functools import os import stat -from conans import AutoToolsBuildEnvironment, ConanFile, tools -from conans.errors import ConanInvalidConfiguration +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import cross_building +from conan.tools.env import VirtualRunEnv +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, replace_in_file, rm, rmdir, chdir +from conan.tools.gnu import Autotools, AutotoolsDeps, AutotoolsToolchain, PkgConfigDeps +from conan.tools.layout import basic_layout +from conan.tools.microsoft import is_msvc, msvc_runtime_flag, NMakeToolchain +from conan.tools.apple import is_apple_os, fix_apple_shared_install_name -required_conan_version = ">=1.43.0" +required_conan_version = ">=1.53.0" class NetSnmpConan(ConanFile): @@ -15,10 +21,12 @@ class NetSnmpConan(ConanFile): "for monitoring the health and welfare of network equipment " "(eg. routers), computer equipment and even devices like UPSs." ) + license = "BSD-3-Clause" url = "https://github.com/conan-io/conan-center-index" homepage = "http://www.net-snmp.org/" topics = "snmp" - license = "BSD-3-Clause" + + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -30,21 +38,9 @@ class NetSnmpConan(ConanFile): "fPIC": True, "with_ipv6": True, } - requires = "openssl/1.1.1m" - exports_sources = "patches/*" - @property - def _is_msvc(self): - return self.settings.compiler in ("Visual Studio", "msvc") - - def validate(self): - if self.settings.os == "Windows" and not self._is_msvc: - raise ConanInvalidConfiguration( - "net-snmp is setup to build only with MSVC on Windows" - ) - - def source(self): - tools.get(**self.conan_data["sources"][self.version], strip_root=True) + def export_sources(self): + export_conandata_patches(self) def config_options(self): if self.settings.os == "Windows": @@ -52,145 +48,174 @@ def config_options(self): def configure(self): if self.options.shared: - del self.options.fPIC - del self.settings.compiler.libcxx - del self.settings.compiler.cppstd + self.options.rm_safe("fPIC") + self.settings.rm_safe("compiler.libcxx") + self.settings.rm_safe("compiler.cppstd") + + def layout(self): + basic_layout(self, src_folder="src") + + def requirements(self): + self.requires("openssl/[>=1.1 <4]") + self.requires("pcre/8.45") + self.requires("zlib/[>=1.2.11 <2]") + + def validate(self): + if is_msvc(self) and self.options.shared: + # FIXME: Linker errors against third-party dependencies: + # snmp_openssl.obj : error LNK2019: unresolved external symbol CRYPTO_free referenced in function _extract_oname + raise ConanInvalidConfiguration(f"{self.ref} fails when building as shared library, use -o '&:shared=False'. Contributions are welcome!") def build_requirements(self): - if self._is_msvc: - self.build_requires("strawberryperl/5.30.0.1") + if is_msvc(self): + self.tool_requires("strawberryperl/5.32.1.1") + else: + self.tool_requires("gnu-config/cci.20210814") + self.tool_requires("autoconf/2.71") + self.tool_requires("automake/1.16.5") + self.tool_requires("libtool/2.4.7") + if not self.conf.get("tools.gnu:pkg_config", default=False, check_type=str): + self.tool_requires("pkgconf/2.2.0") + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) @property def _is_debug(self): return self.settings.build_type == "Debug" + def generate(self): + if is_msvc(self): + tc = NMakeToolchain(self) + tc.generate() + # Workaround for "unresolved external symbol" errors during shared build + env = VirtualRunEnv(self) + env.generate(scope="build") + else: + if not cross_building(self): + env = VirtualRunEnv(self) + env.generate(scope="build") + tc = AutotoolsToolchain(self) + debug_flag = "enable" if self._is_debug else "disable" + ipv6_flag = "enable" if self.options.with_ipv6 else "disable" + openssl_path = self.dependencies["openssl"].package_folder + zlib_path = self.dependencies["zlib"].package_folder + tc.configure_args += [ + f"--with-openssl={openssl_path}", + f"--with-zlib={zlib_path}", + f"--{debug_flag}-debugging", + f"--{ipv6_flag}-ipv6", + "--with-defaults", + "--without-rpm", + "--without-pcre", + "--disable-agent", + "--disable-applications", + "--disable-manuals", + "--disable-scripts", + "--disable-mibs", + "--disable-embedded-perl", + ] + if self.settings.os in ["Linux"]: + tc.extra_ldflags.append("-ldl") + tc.extra_ldflags.append("-lpthread") + tc.generate() + + deps = AutotoolsDeps(self) + deps.generate() + + deps = PkgConfigDeps(self) + deps.generate() + def _patch_msvc(self): - ssl_info = self.deps_cpp_info["openssl"] - openssl_root = ssl_info.rootpath.replace("\\", "/") + ssl_info = self.dependencies["openssl"] + openssl_root = ssl_info.package_folder.replace("\\", "/") search_replace = [ - ( - r'$default_openssldir . "\\include"', - f"'{openssl_root}/include'" - ), + (r'$default_openssldir . "\\include"', f"'{openssl_root}/include'"), (r'$default_openssldir . "\\lib\\VC"', f"'{openssl_root}/lib'"), - ("$openssl = false", "$openssl = true") + ("$openssl = false", "$openssl = true"), ] if self._is_debug: search_replace.append(("$debug = false", "$debug = true")) if self.options.shared: - search_replace.append(( - "$link_dynamic = false", - "$link_dynamic = true" - )) + search_replace.append(("$link_dynamic = false", "$link_dynamic = true")) if self.options.with_ipv6: search_replace.append(("$b_ipv6 = false", "$b_ipv6 = true")) for search, replace in search_replace: - tools.replace_in_file("win32\\build.pl", search, replace) - runtime = self.settings.compiler.runtime - tools.replace_in_file("win32\\Configure", '"/runtime', f'"/{runtime}') + replace_in_file(self, "build.pl", search, replace) + replace_in_file(self, "Configure", '"/runtime', f'"/{msvc_runtime_flag(self)}') link_lines = "\n".join( f'# pragma comment(lib, "{lib}.lib")' - for lib in ssl_info.libs + ssl_info.system_libs + for lib in ssl_info.cpp_info.libs + ssl_info.cpp_info.system_libs ) - config = r"win32\net-snmp\net-snmp-config.h.in" - tools.replace_in_file(config, "/* Conan: system_libs */", link_lines) - - def _build_msvc(self): - if self.should_configure: - self._patch_msvc() - self.run("perl build.pl", cwd="win32") - if self.should_build: - with tools.vcvars(self): - self.run("nmake /nologo libsnmp", cwd="win32") - - @functools.lru_cache(1) - def _configure_autotools(self): - disabled_link_type = "static" if self.options.shared else "shared" - debug_flag = "enable" if self._is_debug else "disable" - ipv6_flag = "enable" if self.options.with_ipv6 else "disable" - ssl_path = self.deps_cpp_info["openssl"].rootpath - args = [ - "--with-defaults", - "--without-rpm", - "--without-pcre", - "--disable-agent", - "--disable-applications", - "--disable-manuals", - "--disable-scripts", - "--disable-mibs", - "--disable-embedded-perl", - f"--disable-{disabled_link_type}", - f"--{debug_flag}-debugging", - f"--{ipv6_flag}-ipv6", - f"--with-openssl={ssl_path}", - ] - autotools = AutoToolsBuildEnvironment(self) - autotools.libs = [] - autotools.configure(args=args) - return autotools + config = r"net-snmp\net-snmp-config.h.in" + replace_in_file(self, config, "/* Conan: system_libs */", link_lines) def _patch_unix(self): - tools.replace_in_file( - "configure", - "-install_name \\$rpath/", - "-install_name @rpath/" - ) - crypto_libs = self.deps_cpp_info["openssl"].system_libs + for gnu_config in [ + self.conf.get("user.gnu-config:config_guess", check_type=str), + self.conf.get("user.gnu-config:config_sub", check_type=str), + ]: + if gnu_config: + copy(self, os.path.basename(gnu_config), src=os.path.dirname(gnu_config), dst=self.source_folder) + configure_path = os.path.join(self.source_folder, "configure") + replace_in_file(self, configure_path, + "-install_name \\$rpath/", + "-install_name @rpath/") + crypto_libs = self.dependencies["openssl"].cpp_info.system_libs if len(crypto_libs) != 0: crypto_link_flags = " -l".join(crypto_libs) - tools.replace_in_file( - "configure", + replace_in_file(self, configure_path, 'LIBCRYPTO="-l${CRYPTO}"', - 'LIBCRYPTO="-l${CRYPTO} -l%s"' % (crypto_link_flags,) - ) - tools.replace_in_file( - "configure", - 'LIBS="-lcrypto $LIBS"', - f'LIBS="-lcrypto -l{crypto_link_flags} $LIBS"' - ) + 'LIBCRYPTO="-l${CRYPTO} -l%s"' % (crypto_link_flags,)) + replace_in_file(self, configure_path, + 'LIBS="-lcrypto $LIBS"', + f'LIBS="-lcrypto -l{crypto_link_flags} $LIBS"') def build(self): - for patch in self.conan_data["patches"][self.version]: - tools.patch(**patch) - if self._is_msvc: - self._build_msvc() + apply_conandata_patches(self) + if is_msvc(self): + with chdir(self, os.path.join(self.source_folder, "win32")): + self._patch_msvc() + self.run("perl build.pl") + self.run("nmake /nologo libsnmp") else: self._patch_unix() - os.chmod("configure", os.stat("configure").st_mode | stat.S_IEXEC) - self._configure_autotools()\ - .make(target="snmplib", args=["NOAUTODEPS=1"]) - - def _package_msvc(self): - cfg = "debug" if self._is_debug else "release" - self.copy("netsnmp.dll", "bin", fr"win32\bin\{cfg}") - self.copy("netsnmp.lib", "lib", fr"win32\lib\{cfg}") - self.copy("include/net-snmp/*.h") - for directory in ["", "agent/", "library/"]: - self.copy(f"net-snmp/{directory}*.h", "include", "win32") - self.copy("COPYING", "licenses") - - def _remove(self, path): - if os.path.isdir(path): - tools.rmdir(path) - else: - os.remove(path) - - def _package_unix(self): - self._configure_autotools().install(args=["NOAUTODEPS=1"]) - tools.remove_files_by_mask(self.package_folder, "README") - tools.rmdir(os.path.join(self.package_folder, "bin")) - lib_dir = os.path.join(self.package_folder, "lib") - for entry in os.listdir(lib_dir): - if not entry.startswith("libnetsnmp.") or entry.endswith(".la"): - self._remove(os.path.join(lib_dir, entry)) - self.copy("COPYING", "licenses") + configure_path = os.path.join(self.source_folder, "configure") + os.chmod(configure_path, os.stat(configure_path).st_mode | stat.S_IEXEC) + autotools = Autotools(self) + autotools.autoreconf() + autotools.configure() + autotools.make(target="snmplib", args=["NOAUTODEPS=1"]) def package(self): - if self._is_msvc: - self._package_msvc() + copy(self, "COPYING", + dst=os.path.join(self.package_folder, "licenses"), + src=self.source_folder) + if is_msvc(self): + cfg = "debug" if self._is_debug else "release" + copy(self, "netsnmp.lib", + dst=os.path.join(self.package_folder, "lib"), + src=os.path.join(self.source_folder, rf"win32\lib\{cfg}")) + copy(self, "include/net-snmp/*.h", + dst=self.package_folder, + src=self.source_folder) + for directory in ["", "agent/", "library/"]: + copy(self, f"net-snmp/{directory}*.h", + dst=os.path.join(self.package_folder, "include"), + src=os.path.join(self.source_folder, "win32")) else: - self._package_unix() + autotools = Autotools(self) + #only install with -j1 as parallel install will break dependencies. Probably a bug in the dependencies + #install specific targets instead of just everything as it will try to do perl stuff on you host machine + autotools.install(args=["-j1"], target="installsubdirs installlibs installprogs installheaders") + rm(self, "README", self.package_folder, recursive=True) + rmdir(self, os.path.join(self.package_folder, "bin")) + rm(self, "*.la", self.package_folder, recursive=True) + fix_apple_shared_install_name(self) def package_info(self): self.cpp_info.libs = ["netsnmp"] - self.cpp_info.requires = ["openssl::openssl"] + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.system_libs.extend(["rt", "pthread", "m"]) + if is_apple_os(self): + self.cpp_info.frameworks.extend(["CoreFoundation", "DiskArbitration", "IOKit"]) diff --git a/recipes/net-snmp/all/patches/0003-fix-perl-scripts-msvc.patch b/recipes/net-snmp/all/patches/0003-fix-perl-scripts-msvc.patch index 992914c1a489c..5d1776394ec89 100644 --- a/recipes/net-snmp/all/patches/0003-fix-perl-scripts-msvc.patch +++ b/recipes/net-snmp/all/patches/0003-fix-perl-scripts-msvc.patch @@ -9,24 +9,25 @@ my $debug = false; my $configOpts; my $link_dynamic = false; -@@ -44,15 +44,7 @@ +@@ -44,7 +44,7 @@ # Path of this script (source tree path + "win32"). my $current_pwd = dirname(abs_path($0)); -if (!defined($ENV{MSVCDir}) && !defined($ENV{VCINSTALLDIR}) && -- !defined($ENV{TARGET_CPU})) { -- print "\nPlease run VCVARS32.BAT first to set up the Visual Studio build\n" . -- "environment.\n\n"; -- system("pause"); -- exit; --} -- ++if (0 && + !defined($ENV{TARGET_CPU})) { + print "\nPlease run VCVARS32.BAT first to set up the Visual Studio build\n" . + "environment.\n\n"; +@@ -52,7 +52,7 @@ + exit; + } + -while (1) { +while (0) { print "\n\nNet-SNMP build and install options\n"; print "==================================\n\n"; print "1. OpenSSL support: " . ($openssl ? "enabled" : "disabled"). "\n"; -@@ -192,6 +184,8 @@ +@@ -188,6 +188,8 @@ print "Running Configure...\n"; system("perl Configure $configOpts --linktype=$linktype --prefix=\"$install_base\"" . ($logging ? " > configure.out 2>&1" : "")) == 0 || die ($logging ? "Build error (see configure.out)" : "Build error (see above)"); @@ -35,6 +36,7 @@ print "Cleaning...\n"; system("nmake /nologo clean" . ($logging ? " > clean.out 2>&1" : "")) == 0 || die ($logging ? "Build error (see clean.out)" : "Build error (see above)"); + --- win32/Configure +++ win32/Configure @@ -6,7 +6,6 @@ @@ -45,16 +47,16 @@ use Getopt::Long; my $version = "unknown"; -@@ -190,8 +189,6 @@ +@@ -190,7 +189,6 @@ my $perl_inc = $opensslincdir ? "/I $opensslincdir" : ""; -my $perl_cflags = ExtUtils::Embed::ccopts(); -- - my %makefile_subs = ( - "app" => [ "^APPS=", "APPS=" . join(" ", @apps) ], - "apc" => [ "^APPS_CLEAN=", "APPS_CLEAN=" . join(" ", @apps_clean)], -@@ -205,29 +202,23 @@ + # Do not use $perl_cflags if these come from a Perl executable built with gcc. +-$perl_cflags = "" if $perl_cflags =~ / -pipe/; ++ + +@@ -207,29 +205,24 @@ "sdk" => [ "^SDK=", $sdk == 1 ? "SDK=true" : "SDK=false" ], "pin" => [ "^PERL_DEFINE=","PERL_DEFINE=$perl_define" ], "pdf" => [ "^PERL_INC=", "PERL_INC=$perl_inc" ], @@ -62,7 +64,7 @@ + "pcf" => [ "^PERL_CFLAGS=","PERL_CFLAGS=" ], "cfl" => [ "^CFLAGS=", "CFLAGS=$perl_define " . "/D WIN32_LEAN_AND_MEAN " . -- "/EHsc " . + "/EHsc " . - "/FD " . - "/FR\$(INTDIR)\\ " . "/Fd\$(INTDIR)\\\$(PROGNAME).pdb " . @@ -89,7 +91,7 @@ ], "rsc" => [ "^RSCFLAGS=", "RSCFLAGS=/l 0x409 " . ($config eq "release" ? "/d NDEBUG" : -@@ -308,9 +299,3 @@ +@@ -310,9 +303,3 @@ print " Blumenthal AES: " . ($blumenthal_aes ? "enabled" : "disabled") . "\n"; print " IPv6 transport: " . ($b_ipv6 == 1 ? "enabled" : "disabled") . "\n"; print " winExtDLL agent: " . ($b_winextdll == 1 ? "enabled" : "disabled") . "\n"; diff --git a/recipes/net-snmp/all/patches/0004-fix-apple-arm64-build.patch b/recipes/net-snmp/all/patches/0004-fix-apple-arm64-build.patch deleted file mode 100644 index 018c49021fc87..0000000000000 --- a/recipes/net-snmp/all/patches/0004-fix-apple-arm64-build.patch +++ /dev/null @@ -1,17 +0,0 @@ -Upstream suggests the just hardcode this value: -https://github.com/net-snmp/net-snmp/issues/295#issuecomment-1002631231 - ---- config.sub -+++ config.sub -@@ -120,6 +120,11 @@ - exit 1;; - esac - -+if [ "$1" = aarch64-apple-darwin ]; then -+ echo arm-apple-darwin -+ exit 0 -+fi -+ - # Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). - # Here we must recognize all the valid KERNEL-OS combinations. - maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` diff --git a/recipes/net-snmp/all/test_package/CMakeLists.txt b/recipes/net-snmp/all/test_package/CMakeLists.txt index bed2bf477f616..21569fa32fd1f 100644 --- a/recipes/net-snmp/all/test_package/CMakeLists.txt +++ b/recipes/net-snmp/all/test_package/CMakeLists.txt @@ -1,9 +1,6 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(test_package C) -include("${CMAKE_BINARY_DIR}/conanbuildinfo.cmake") -conan_basic_setup(TARGETS KEEP_RPATHS) - find_package(net-snmp REQUIRED CONFIG) add_executable(test_package test_package.c) diff --git a/recipes/net-snmp/all/test_package/conanfile.py b/recipes/net-snmp/all/test_package/conanfile.py index 56657365795bd..ef5d7042163ec 100644 --- a/recipes/net-snmp/all/test_package/conanfile.py +++ b/recipes/net-snmp/all/test_package/conanfile.py @@ -1,19 +1,19 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake import os -from conans import ConanFile, CMake, tools - class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) - def build_requirements(self): - if self.settings.os == "Macos" and self.settings.arch == "armv8": - # Attempting to use @rpath without - # CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG being set. This could be - # because you are using a Mac OS X version less than 10.5 or - # because CMake's platform configuration is corrupt. - self.build_requires("cmake/3.20.1") + def layout(self): + cmake_layout(self) def build(self): cmake = CMake(self) @@ -21,6 +21,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/net-snmp/all/test_package/test_package.c b/recipes/net-snmp/all/test_package/test_package.c index db6d49e73a2f8..dbe79814204fe 100644 --- a/recipes/net-snmp/all/test_package/test_package.c +++ b/recipes/net-snmp/all/test_package/test_package.c @@ -2,12 +2,8 @@ #include #include -int main(int argc, char const* argv[]) +int main() { - (void)argc; - (void)argv; - netsnmp_free(NULL); - return 0; } diff --git a/recipes/net-snmp/all/test_v1_package/CMakeLists.txt b/recipes/net-snmp/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/net-snmp/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/net-snmp/all/test_v1_package/conanfile.py b/recipes/net-snmp/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..a8c92dea63335 --- /dev/null +++ b/recipes/net-snmp/all/test_v1_package/conanfile.py @@ -0,0 +1,18 @@ +import os + +from conans import ConanFile, CMake, tools + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.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/net-snmp/config.yml b/recipes/net-snmp/config.yml index f15097f7b11ab..be87e4ef2a874 100644 --- a/recipes/net-snmp/config.yml +++ b/recipes/net-snmp/config.yml @@ -1,3 +1,3 @@ versions: - "5.9.1": + "5.9.4": folder: all From b4078354a7385cb017a1c0067fa54c8daf732b52 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 4 Sep 2024 17:32:29 +0900 Subject: [PATCH 465/641] (#25104) sdl: add version 2.30.7 --- recipes/sdl/all/conandata.yml | 3 +++ recipes/sdl/all/conanfile.py | 7 +++---- recipes/sdl/all/test_package/conanfile.py | 1 - recipes/sdl/config.yml | 2 ++ 4 files changed, 8 insertions(+), 5 deletions(-) diff --git a/recipes/sdl/all/conandata.yml b/recipes/sdl/all/conandata.yml index b37e701b93323..9c6746b76929a 100644 --- a/recipes/sdl/all/conandata.yml +++ b/recipes/sdl/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.30.7": + url: "https://www.libsdl.org/release/SDL2-2.30.7.tar.gz" + sha256: "2508c80438cd5ff3bbeb8fe36b8f3ce7805018ff30303010b61b03bb83ab9694" "2.30.6": url: "https://www.libsdl.org/release/SDL2-2.30.6.tar.gz" sha256: "c6ef64ca18a19d13df6eb22df9aff19fb0db65610a74cc81dae33a82235cacd4" diff --git a/recipes/sdl/all/conanfile.py b/recipes/sdl/all/conanfile.py index f55048e0d1c26..5a843281891dc 100644 --- a/recipes/sdl/all/conanfile.py +++ b/recipes/sdl/all/conanfile.py @@ -15,10 +15,10 @@ class SDLConan(ConanFile): name = "sdl" description = "Access to audio, keyboard, mouse, joystick, and graphics hardware via OpenGL, Direct3D and Vulkan" - topics = ("sdl2", "audio", "keyboard", "graphics", "opengl") + license = "Zlib" url = "https://github.com/conan-io/conan-center-index" homepage = "https://www.libsdl.org" - license = "Zlib" + topics = ("sdl2", "audio", "keyboard", "graphics", "opengl") package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { @@ -186,8 +186,7 @@ def build_requirements(self): self.build_requires("wayland/1.22.0") # Provides wayland-scanner def source(self): - get(self, **self.conan_data["sources"][self.version], strip_root=True, - destination=self.source_folder) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def _patch_sources(self): apply_conandata_patches(self) diff --git a/recipes/sdl/all/test_package/conanfile.py b/recipes/sdl/all/test_package/conanfile.py index 956346bb80854..c21bd201e65b8 100644 --- a/recipes/sdl/all/test_package/conanfile.py +++ b/recipes/sdl/all/test_package/conanfile.py @@ -4,7 +4,6 @@ import os -# It will become the standard on Conan 2.x class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" generators = "CMakeDeps", "VirtualRunEnv" diff --git a/recipes/sdl/config.yml b/recipes/sdl/config.yml index 6fca9a90f39d1..70833b6fd8399 100644 --- a/recipes/sdl/config.yml +++ b/recipes/sdl/config.yml @@ -1,4 +1,6 @@ versions: + "2.30.7": + folder: all "2.30.6": folder: all "2.30.5": From 6e66db4d5aaf8aae4f21d87e8bdad107d8998536 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 4 Sep 2024 18:29:51 +0900 Subject: [PATCH 466/641] (#24685) fixed_math: add recipe MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * fixed_math: add recipe * require cmake/3.21 or later * drop support gcc 8, 9 * follow license filename * define package_id * support msvc * use variables instead extra_cxxflags * require cmake in header_only=False only * try to fix header_only validation error * add CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS * link math lib * disable shared build on msvc, add PR url * suport header only * change package_type on Windows * use get_safe to get shared option value * rm shared in configure() on Windows * update 1.0.2 * remove replace_in_file --------- Co-authored-by: Abril Rincón Blanco --- recipes/fixed_math/all/conandata.yml | 4 + recipes/fixed_math/all/conanfile.py | 138 ++++++++++++++++++ .../all/test_package/CMakeLists.txt | 8 + .../fixed_math/all/test_package/conanfile.py | 26 ++++ .../all/test_package/test_package.cpp | 39 +++++ recipes/fixed_math/config.yml | 3 + 6 files changed, 218 insertions(+) create mode 100644 recipes/fixed_math/all/conandata.yml create mode 100644 recipes/fixed_math/all/conanfile.py create mode 100644 recipes/fixed_math/all/test_package/CMakeLists.txt create mode 100644 recipes/fixed_math/all/test_package/conanfile.py create mode 100644 recipes/fixed_math/all/test_package/test_package.cpp create mode 100644 recipes/fixed_math/config.yml diff --git a/recipes/fixed_math/all/conandata.yml b/recipes/fixed_math/all/conandata.yml new file mode 100644 index 0000000000000..3e20dff4a8b77 --- /dev/null +++ b/recipes/fixed_math/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "1.0.2": + url: "https://github.com/arturbac/fixed_math/archive/refs/tags/v1.0.2.tar.gz" + sha256: "6c87217286e3b93ce5e1fff0bbbb08a9751d04f416cd76ddd5ddd37a8c6772cf" diff --git a/recipes/fixed_math/all/conanfile.py b/recipes/fixed_math/all/conanfile.py new file mode 100644 index 0000000000000..21e92751973d1 --- /dev/null +++ b/recipes/fixed_math/all/conanfile.py @@ -0,0 +1,138 @@ +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import check_min_cppstd +from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout +from conan.tools.files import copy, get, rmdir +from conan.tools.scm import Version +from conan.tools.layout import basic_layout +from conan.tools.env import VirtualBuildEnv +from conan.tools.microsoft import is_msvc +import os + +required_conan_version = ">=1.53.0" + +class FixedMathConan(ConanFile): + name = "fixed_math" + description = "A High-Performance C++17 Library for Fixed-Point 48.16 Arithmetic" + license = "MIT" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/arturbac/fixed_math/" + topics = ("mathematics", "fixed-point") + package_type = "library" + settings = "os", "arch", "compiler", "build_type" + options = { + "header_only": [True, False], + "shared": [True, False], + "fPIC": [True, False], + } + default_options = { + "header_only": False, + "shared": False, + "fPIC": True, + } + + @property + def _min_cppstd(self): + return 17 + + @property + def _compilers_minimum_version(self): + return { + "gcc": "10", # fixed_math requires __has_builtin + "clang": "7", + "apple-clang": "12", + "Visual Studio": "16", + "msvc": "192", + } + + def config_options(self): + if self.settings.os == "Windows": + self.package_type = "static-library" + del self.options.fPIC + + def configure(self): + if self.settings.os == "Windows": + self.options.rm_safe("shared") + if self.options.header_only: + self.options.rm_safe("shared") + self.options.rm_safe("fPIC") + self.package_type = "header-library" + elif self.options.get_safe("shared"): + self.options.rm_safe("fPIC") + + def layout(self): + if self.options.header_only: + basic_layout(self, src_folder="src") + else: + cmake_layout(self, src_folder="src") + + def package_id(self): + if self.info.options.header_only: + self.info.clear() + + def validate(self): + if self.settings.compiler.cppstd: + check_min_cppstd(self, self._min_cppstd) + minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) + if minimum_version and Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration( + f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." + ) + + def build_requirements(self): + if not self.options.header_only: + self.tool_requires("cmake/[>=3.21 <4]") + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + if self.options.header_only: + return + tc = CMakeToolchain(self) + if is_msvc(self): + tc.variables["CMAKE_CXX_FLAGS"] = "/Zc:__cplusplus" + tc.generate() + venv = VirtualBuildEnv(self) + venv.generate(scope="build") + + def build(self): + if not self.options.header_only: + cmake = CMake(self) + cmake.configure() + cmake.build() + + def package(self): + copy(self, "LICENCE", self.source_folder, os.path.join(self.package_folder, "licenses")) + if not self.options.header_only: + cmake = CMake(self) + cmake.install() + rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) + else: + copy( + self, + "*.h", + os.path.join(self.source_folder, "fixed_lib", "include", "fixedmath"), + os.path.join(self.package_folder, "include", "fixed_math"), + ) + copy( + self, + "*.hpp", + os.path.join(self.source_folder, "fixed_lib", "include", "fixedmath"), + os.path.join(self.package_folder, "include", "fixed_math"), + ) + + def package_info(self): + if self.options.header_only: + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] + else: + self.cpp_info.libs = ["fixed_math"] + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.system_libs.append("m") + + self.cpp_info.set_property("cmake_file_name", "fixed_math") + self.cpp_info.set_property("cmake_target_name", "fixed_math::fixed_math") + + if is_msvc(self): + self.cpp_info.cxxflags.append("/Zc:__cplusplus") diff --git a/recipes/fixed_math/all/test_package/CMakeLists.txt b/recipes/fixed_math/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..d63966d4ccdd2 --- /dev/null +++ b/recipes/fixed_math/all/test_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) + +find_package(fixed_math REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE fixed_math::fixed_math) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) diff --git a/recipes/fixed_math/all/test_package/conanfile.py b/recipes/fixed_math/all/test_package/conanfile.py new file mode 100644 index 0000000000000..ef5d7042163ec --- /dev/null +++ b/recipes/fixed_math/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/fixed_math/all/test_package/test_package.cpp b/recipes/fixed_math/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..fe7f675d4cade --- /dev/null +++ b/recipes/fixed_math/all/test_package/test_package.cpp @@ -0,0 +1,39 @@ +#include + +#include "fixed_math/fixed_math.hpp" +#include "fixed_math/iostream.h" + +using fixedmath::fixed_t; +using fixedmath::operator ""_fix; + +//fixed and all functionality is constexpr so You can declare constants see features [1] +inline constexpr fixed_t foo_constant{ fixedmath::tan( 15 * fixedmath::phi/180) }; + +constexpr fixed_t my_function( fixed_t value ) { + using namespace fixedmath; + return foo_constant + sin(value) / (1.41_fix - 2*cos(value) / 4); +} + +int main() { + // converting to/from fixed_t + // construction from other arithmetic types is explicit + fixed_t val { 3.14 }; + + //- there is no implicit assignment from other types + float some_float{val}; + fixed_t some_fixed{some_float}; + + some_fixed = fixed_t{some_float}; + + //- converting to other arithmetic types coud be done with static cast and is explicit + double some_double { static_cast(some_fixed) }; + + // for constant values postfix operator _fix may be used + some_fixed = some_float * 2.45_fix; //operation with float is promoted to fixed_t + some_double = 4.15 * some_fixed; //operation with double is promoted to double + + std::cout << some_fixed << '\n'; + std::cout << some_double << '\n'; + + return 0; +} diff --git a/recipes/fixed_math/config.yml b/recipes/fixed_math/config.yml new file mode 100644 index 0000000000000..8457ca9a4a8cd --- /dev/null +++ b/recipes/fixed_math/config.yml @@ -0,0 +1,3 @@ +versions: + "1.0.2": + folder: all From 3cba7ac535e0c21fd716b6ef608053f18713b66e Mon Sep 17 00:00:00 2001 From: philipp-m-w Date: Wed, 4 Sep 2024 11:50:13 +0200 Subject: [PATCH 467/641] (#24901) swig: add version 4.2.1 * add swig 4.2.1 * add swig 4.2.1 in conandata.yml * add patches for 4.2.1 * Update conandata.yml to use 4.2.1 patches * use bison > 3.5 for swig > 4.2 * bison 3.8.2 is not ready for msvc --- recipes/swig/all/conandata.yml | 10 ++++ recipes/swig/all/conanfile.py | 13 +++-- .../0001-4.2.1-swig-linux-library-path.patch | 51 +++++++++++++++++++ ....2.1-do-not-define-SWIG_LIB_WIN_UNIX.patch | 11 ++++ recipes/swig/config.yml | 2 + 5 files changed, 84 insertions(+), 3 deletions(-) create mode 100644 recipes/swig/all/patches/0001-4.2.1-swig-linux-library-path.patch create mode 100644 recipes/swig/all/patches/0002-4.2.1-do-not-define-SWIG_LIB_WIN_UNIX.patch diff --git a/recipes/swig/all/conandata.yml b/recipes/swig/all/conandata.yml index 5daf69357f98b..dbb625e2ee27c 100644 --- a/recipes/swig/all/conandata.yml +++ b/recipes/swig/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "4.2.1": + url: "https://github.com/swig/swig/archive/refs/tags/v4.2.1.tar.gz" + sha256: "8895878b9215612e73611203dc8f5232c626e4d07ffc4532922f375518f067ca" "4.1.1": url: "https://github.com/swig/swig/archive/refs/tags/v4.1.1.tar.gz" sha256: "4d97f9528dda8ced8b762e405dff2da38cc4603ef5f868f7287c94872f693265" @@ -12,6 +15,13 @@ sources: url: "https://github.com/swig/swig/archive/rel-4.0.1.tar.gz" sha256: "2eaf6fb89d071d1be280bf995c63360b3729860c0da64948123b5d7e4cfb6cb7" patches: + "4.2.1": + - patch_file: "patches/0001-4.2.1-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.2.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" "4.1.1": - patch_file: "patches/0001-4.1.0-swig-linux-library-path.patch" patch_type: "portability" diff --git a/recipes/swig/all/conanfile.py b/recipes/swig/all/conanfile.py index d1ed51bb5b937..fc0ddef14c147 100644 --- a/recipes/swig/all/conanfile.py +++ b/recipes/swig/all/conanfile.py @@ -62,10 +62,17 @@ def build_requirements(self): 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") + if Version(self.version) >= "4.2": + if is_msvc(self): + # bison 3.8.2 is not ready for msvc + self.tool_requires("bison/3.7.6") + else: + self.tool_requires("bison/3.8.2") else: - self.tool_requires("bison/3.8.2") + if is_msvc(self): + self.tool_requires("winflexbison/2.5.25") + else: + self.tool_requires("bison/3.8.2") self.tool_requires("automake/1.16.5") def source(self): diff --git a/recipes/swig/all/patches/0001-4.2.1-swig-linux-library-path.patch b/recipes/swig/all/patches/0001-4.2.1-swig-linux-library-path.patch new file mode 100644 index 0000000000000..f3c40eb7eab79 --- /dev/null +++ b/recipes/swig/all/patches/0001-4.2.1-swig-linux-library-path.patch @@ -0,0 +1,51 @@ +--- Source/Modules/main.cxx ++++ Source/Modules/main.cxx +@@ -861,6 +861,32 @@ + + static void SWIG_exit_handler(int status); + ++#if defined(HAVE_UNISTD_H) && !defined(_WIN32) ++#include ++#include ++#include ++ ++static String *get_exe_path(void) { ++ Dl_info info; ++ if (dladdr("main", &info)) { ++ char realp_buffer[PATH_MAX]; ++ char* res = NULL; ++ ++ res = realpath(info.dli_fname, realp_buffer); ++ if (!res) { ++ return NewString(SWIG_LIB); ++ } ++ ++ const char* dir = dirname(realp_buffer); ++ char dest_buf[PATH_MAX]; ++ strcpy(dest_buf, dir); ++ strcat(dest_buf, "/swiglib"); ++ return NewStringWithSize(dest_buf, strlen(dest_buf)); ++ } ++ return NewString(SWIG_LIB); ++} ++#endif ++ + int SWIG_main(int argc, char *argv[], const TargetLanguageModule *tlm) { + char *c; + +@@ -900,12 +926,14 @@ + char *p; + if (!(GetModuleFileName(0, buf, MAX_PATH) == 0 || (p = strrchr(buf, '\\')) == 0)) { + *(p + 1) = '\0'; +- SwigLib = NewStringf("%sLib", buf); // Native windows installation path ++ SwigLib = NewStringf("%sswiglib", buf); // Native windows installation path + } else { + SwigLib = NewStringf(""); // Unexpected error + } + if (Len(SWIG_LIB_WIN_UNIX) > 0) + SwigLibWinUnix = NewString(SWIG_LIB_WIN_UNIX); // Unix installation path using a drive letter (for msys/mingw) ++#elif defined(HAVE_UNISTD_H) && !defined(_WIN32) ++ SwigLib = get_exe_path(); + #else + SwigLib = NewString(SWIG_LIB); + #endif diff --git a/recipes/swig/all/patches/0002-4.2.1-do-not-define-SWIG_LIB_WIN_UNIX.patch b/recipes/swig/all/patches/0002-4.2.1-do-not-define-SWIG_LIB_WIN_UNIX.patch new file mode 100644 index 0000000000000..a58da257a1aef --- /dev/null +++ b/recipes/swig/all/patches/0002-4.2.1-do-not-define-SWIG_LIB_WIN_UNIX.patch @@ -0,0 +1,11 @@ +--- configure.ac ++++ configure.ac +@@ -2803,7 +2803,7 @@ + *-*-cygwin*) SWIG_LIB_WIN_UNIX=`cygpath --mixed "$SWIG_LIB"`;; + *) SWIG_LIB_WIN_UNIX="";; + esac +-AC_DEFINE_UNQUOTED(SWIG_LIB_WIN_UNIX, ["$SWIG_LIB_WIN_UNIX"], [Directory for SWIG system-independent libraries (Unix install on native Windows)]) ++AC_DEFINE_UNQUOTED(SWIG_LIB_WIN_UNIX, [""], [Directory for SWIG system-independent libraries (Unix install on native Windows)]) + + SWIG_LIB_PREINST=$ABS_SRCDIR/Lib + AC_SUBST(SWIG_LIB_PREINST) diff --git a/recipes/swig/config.yml b/recipes/swig/config.yml index e4181f963c4e1..5a11eaadfdc07 100644 --- a/recipes/swig/config.yml +++ b/recipes/swig/config.yml @@ -1,4 +1,6 @@ versions: + "4.2.1": + folder: "all" "4.1.1": folder: "all" "4.1.0": From 7848c1c8b0ab4097819cf4f93e901c01d66fddd8 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 4 Sep 2024 19:10:17 +0900 Subject: [PATCH 468/641] (#25101) cpp-httplib: add version 0.17.1 * cpp-httplib: add version 0.17.0 * update 0.17.1 --- recipes/cpp-httplib/all/conandata.yml | 3 +++ recipes/cpp-httplib/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/cpp-httplib/all/conandata.yml b/recipes/cpp-httplib/all/conandata.yml index 4d22c6879eeff..fa03b514810a3 100644 --- a/recipes/cpp-httplib/all/conandata.yml +++ b/recipes/cpp-httplib/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.17.1": + url: "https://github.com/yhirose/cpp-httplib/archive/v0.17.1.tar.gz" + sha256: "044c5a233da242e981d9543dd136a5945e0549c5641a0373934db88bbd192f41" "0.16.3": url: "https://github.com/yhirose/cpp-httplib/archive/v0.16.3.tar.gz" sha256: "c1742fc7179aaae2a67ad9bba0740b7e9ffaf4f5e62feef53101ecdef1478716" diff --git a/recipes/cpp-httplib/config.yml b/recipes/cpp-httplib/config.yml index acd05afb7ee9b..59063860159ad 100644 --- a/recipes/cpp-httplib/config.yml +++ b/recipes/cpp-httplib/config.yml @@ -1,4 +1,6 @@ versions: + "0.17.1": + folder: all "0.16.3": folder: all "0.16.0": From a6eed78118e82ac25a1b0686e32483fe81acbdf8 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 4 Sep 2024 19:30:10 +0900 Subject: [PATCH 469/641] (#25103) wiringpi: add version 3.8 --- recipes/wiringpi/all/conandata.yml | 3 +++ recipes/wiringpi/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/wiringpi/all/conandata.yml b/recipes/wiringpi/all/conandata.yml index 9b3f6dc4c04db..213d5e40f0cce 100644 --- a/recipes/wiringpi/all/conandata.yml +++ b/recipes/wiringpi/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.8": + url: "https://github.com/WiringPi/WiringPi/archive/refs/tags/3.8.tar.gz" + sha256: "6159764d3d036486f0a110cd5393b1413c1f334d464b7337117fece59ea04bc9" "3.6": url: "https://github.com/WiringPi/WiringPi/archive/refs/tags/3.6.tar.gz" sha256: "bec180a14ccd2d6b4eb5248d6553593511e7881348f56f8c98515a6d5d5444ee" diff --git a/recipes/wiringpi/config.yml b/recipes/wiringpi/config.yml index 64b1ec70829ae..7e735c5b7dd32 100644 --- a/recipes/wiringpi/config.yml +++ b/recipes/wiringpi/config.yml @@ -1,4 +1,6 @@ versions: + "3.8": + folder: "all" "3.6": folder: "all" "3.4": From 1131ace87843995cdc3a70127e75c69599b722fd Mon Sep 17 00:00:00 2001 From: Uilian Ries Date: Wed, 4 Sep 2024 13:01:56 +0200 Subject: [PATCH 470/641] (#25131) [premake] Build with Conan 1.x again * Re-enable Conan 1.x build Signed-off-by: Uilian Ries * Remove unused import Signed-off-by: Uilian Ries --------- Signed-off-by: Uilian Ries --- recipes/premake/5.x/conanfile.py | 6 +----- recipes/premake/5.x/test_package/conanfile.py | 8 +++----- 2 files changed, 4 insertions(+), 10 deletions(-) diff --git a/recipes/premake/5.x/conanfile.py b/recipes/premake/5.x/conanfile.py index d4fa461153f3c..0a761c061731a 100644 --- a/recipes/premake/5.x/conanfile.py +++ b/recipes/premake/5.x/conanfile.py @@ -3,7 +3,7 @@ import re import shutil -from conan import ConanFile, conan_version +from conan import ConanFile from conan.errors import ConanInvalidConfiguration from conan.tools.build import cross_building from conan.tools.files import apply_conandata_patches, chdir, copy, export_conandata_patches, get, replace_in_file @@ -55,10 +55,6 @@ def requirements(self): def validate(self): if hasattr(self, "settings_build") and cross_building(self, skip_x64_x86=True): raise ConanInvalidConfiguration("Cross-building not implemented") - if conan_version.major == 1 and self.settings.build_type == "Debug": - # This configuration fails without any error messages in C3I. - # https://c3i.jfrog.io/artifactory/misc/logs/pr/18844/15-linux-clang/premake/5.0.0-alpha15/ - raise ConanInvalidConfiguration("Debug build not supported with Conan 1.x") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) diff --git a/recipes/premake/5.x/test_package/conanfile.py b/recipes/premake/5.x/test_package/conanfile.py index d2d508976967c..0cbf9e48678a6 100644 --- a/recipes/premake/5.x/test_package/conanfile.py +++ b/recipes/premake/5.x/test_package/conanfile.py @@ -1,5 +1,5 @@ from conan import ConanFile -from conan.tools.cmake import cmake_layout +from conan.tools.build import can_run class TestPackageConan(ConanFile): @@ -10,8 +10,6 @@ class TestPackageConan(ConanFile): def build_requirements(self): self.tool_requires(self.tested_reference_str) - def layout(self): - cmake_layout(self) - def test(self): - self.run("premake5 --version") + if can_run(self): + self.run("premake5 --version") From 1cebce44f4218a6f238f89c84735936496fbe57c Mon Sep 17 00:00:00 2001 From: Uilian Ries Date: Wed, 4 Sep 2024 13:22:59 +0200 Subject: [PATCH 471/641] (#25015) [gobject-introspection] Migrate to Conan 2.x * gobject-introspection: migrate to Conan v2 * gobject-introspection: bump deps * gobject-introspection: bump deps, transitive_headers=True * gobject-introspection: use flexible version for glib * gobject-introspection: fix linker error * gobject-introspection: drop old versions, add v1.76.1 * gobject-introspection: cannot be built with shared glib * gobject-introspection: required_conan_version = ">=1.53.0" For rm_safe() * gobject-introspection: add a comment for the glib version requirement * gobject-introspection: fix build, add proper girepository test * gobject-introspection: set correct min Conan version * gobject-introspection: skip tests against g-ir tools when cross-compiling * gobject-introspection: bump to v78.1 * gobject-introspection: bump deps * gobject-introspection: disable Windows Debug builds * gobject-introspection: update version * Drop version 1.80.1 Signed-off-by: Uilian Ries * Simplify test package Signed-off-by: Uilian Ries * Use version range for pkgconf Signed-off-by: Uilian Ries * Do not enforce PKG_CONFIG_PATH Signed-off-by: Uilian Ries * Add short_paths due Conan 1.x Signed-off-by: Uilian Ries * Fix missing PKG_CONFIG_PATH Signed-off-by: Uilian Ries * Use generators folder Signed-off-by: Uilian Ries * Fix res folder location Signed-off-by: Uilian Ries * Add fix_apple_shared_install_name Signed-off-by: Uilian Ries * Disable introspection_data when cross-building Signed-off-by: Uilian Ries * Fix Conan 1.x test package execution Signed-off-by: Uilian Ries * Fix test paths Signed-off-by: Uilian Ries * Disable introspection_data for osx Signed-off-by: Uilian Ries * Disable introspection_data for osx Signed-off-by: Uilian Ries * Enforce using static glib when building Signed-off-by: Uilian Ries * Enforce glib 2.76 due compatibility Signed-off-by: Uilian Ries * use glib 2.78.3 Signed-off-by: Uilian Ries * avoid introspection data on Mac Signed-off-by: Uilian Ries * Add option for build_introspection_data Signed-off-by: Uilian Ries * set glib to shared=True Signed-off-by: Uilian Ries * Add libffi as dependency Signed-off-by: Uilian Ries * Define GIT PATH Signed-off-by: Uilian Ries * Fix typo Signed-off-by: Uilian Ries * Fix pkg config path define Signed-off-by: Uilian Ries * force glib only when using build_introspection_data Signed-off-by: Uilian Ries --------- Signed-off-by: Uilian Ries Co-authored-by: Martin Valgur --- .../gobject-introspection/all/conandata.yml | 17 +- .../gobject-introspection/all/conanfile.py | 253 +++++++++++------- .../all/test_package/CMakeLists.txt | 14 +- .../all/test_package/conanfile.py | 59 +++- .../{test_package.c => test_basic.c} | 6 +- .../all/test_package/test_girepository.c | 7 + .../all/test_v1_package/CMakeLists.txt | 8 + .../all/test_v1_package/conanfile.py | 17 ++ recipes/gobject-introspection/config.yml | 10 - 9 files changed, 246 insertions(+), 145 deletions(-) rename recipes/gobject-introspection/all/test_package/{test_package.c => test_basic.c} (77%) create mode 100644 recipes/gobject-introspection/all/test_package/test_girepository.c create mode 100644 recipes/gobject-introspection/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/gobject-introspection/all/test_v1_package/conanfile.py diff --git a/recipes/gobject-introspection/all/conandata.yml b/recipes/gobject-introspection/all/conandata.yml index 47eccc41d1faf..79e718c479400 100644 --- a/recipes/gobject-introspection/all/conandata.yml +++ b/recipes/gobject-introspection/all/conandata.yml @@ -1,19 +1,4 @@ sources: "1.72.0": - sha256: "02fe8e590861d88f83060dd39cda5ccaa60b2da1d21d0f95499301b186beaabc" url: "https://download.gnome.org/sources/gobject-introspection/1.72/gobject-introspection-1.72.0.tar.xz" - "1.70.0": - url: "https://download.gnome.org/sources/gobject-introspection/1.70/gobject-introspection-1.70.0.tar.xz" - sha256: "902b4906e3102d17aa2fcb6dad1c19971c70f2a82a159ddc4a94df73a3cafc4a" - "1.69.0": - url: "https://download.gnome.org/sources/gobject-introspection/1.69/gobject-introspection-1.69.0.tar.xz" - sha256: "c668cbe4a3aad7539e2cf669ab576ce7fbadac6890472f4095ca215dbbebee99" - "1.68.0": - url: "https://download.gnome.org/sources/gobject-introspection/1.68/gobject-introspection-1.68.0.tar.xz" - sha256: "d229242481a201b84a0c66716de1752bca41db4133672cfcfb37c93eb6e54a27" - "1.67.1": - url: "https://download.gnome.org/sources/gobject-introspection/1.67/gobject-introspection-1.67.1.tar.xz" - sha256: "9635184d668794609f9fe661c5bde11c106385d26c3babe291c24e3655987e47" - "1.66.1": - url: "https://download.gnome.org/sources/gobject-introspection/1.66/gobject-introspection-1.66.1.tar.xz" - sha256: "dd44a55ee5f426ea22b6b89624708f9e8d53f5cc94e5485c15c87cb30e06161d" + sha256: "02fe8e590861d88f83060dd39cda5ccaa60b2da1d21d0f95499301b186beaabc" diff --git a/recipes/gobject-introspection/all/conanfile.py b/recipes/gobject-introspection/all/conanfile.py index 4e30ffbb5f86f..74c5c3b60e338 100644 --- a/recipes/gobject-introspection/all/conanfile.py +++ b/recipes/gobject-introspection/all/conanfile.py @@ -1,129 +1,188 @@ -from conans import ConanFile, tools, Meson, VisualStudioBuildEnvironment -from conans.errors import ConanInvalidConfiguration import os -import shutil -import glob -required_conan_version = ">=1.36.0" +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import cross_building +from conan.tools.env import VirtualBuildEnv, VirtualRunEnv +from conan.tools.files import copy, get, replace_in_file, rm, rmdir +from conan.tools.gnu import PkgConfigDeps +from conan.tools.layout import basic_layout +from conan.tools.meson import MesonToolchain, Meson +from conan.tools.env import Environment +from conan.tools.apple import fix_apple_shared_install_name +from conan.tools.scm import Version +from conan import conan_version + +required_conan_version = ">=1.60.0 <2.0 || >=2.0.5" + class GobjectIntrospectionConan(ConanFile): name = "gobject-introspection" - description = "GObject introspection is a middleware layer between C libraries (using GObject) and language bindings" - topics = ("conan", "gobject-instrospection") + description = ("GObject introspection is a middleware layer between " + "C libraries (using GObject) and language bindings") + license = "LGPL-2.1-or-later" url = "https://github.com/conan-io/conan-center-index" homepage = "https://gitlab.gnome.org/GNOME/gobject-introspection" - license = "LGPL-2.1" - settings = "os", "arch", "compiler", "build_type" - options = {"shared": [True, False], "fPIC": [True, False]} - default_options = {"shared": False, "fPIC": True} - _source_subfolder = "source_subfolder" - _build_subfolder = "build_subfolder" - generators = "pkg_config" + topics = ("gobject-instrospection",) - @property - def _is_msvc(self): - return self.settings.compiler == "Visual Studio" - - def configure(self): - if self.options.shared: - del self.options.fPIC - del self.settings.compiler.libcxx - del self.settings.compiler.cppstd + package_type = "shared-library" + settings = "os", "arch", "compiler", "build_type" + options = { + "fPIC": [True, False], + "build_introspection_data": [True, False], + } + default_options = { + "fPIC": True, + "build_introspection_data": True, + } + short_paths = True def config_options(self): if self.settings.os == "Windows": del self.options.fPIC - if self.settings.os == "Windows": - raise ConanInvalidConfiguration("%s recipe does not support windows. Contributions are welcome!" % self.name) + if self.settings.os in ["Windows", "Macos"] or cross_building(self): + # FIXME: tools/g-ir-scanner fails to load glib + self.options.build_introspection_data = False + + def configure(self): + self.settings.rm_safe("compiler.libcxx") + self.settings.rm_safe("compiler.cppstd") + if self.options.get_safe("build_introspection_data"): + # INFO: g-ir-scanner looks for dynamic glib and gobject libraries when running + self.options["glib"].shared = True + + def layout(self): + basic_layout(self, src_folder="src") + + def requirements(self): + # https://gitlab.gnome.org/GNOME/gobject-introspection/-/blob/1.76.1/meson.build?ref_type=tags#L127-131 + self.requires("glib/2.78.3", transitive_headers=True, transitive_libs=True) + # ffi.h is exposed by public header gobject-introspection-1.0/girffi.h + self.requires("libffi/3.4.4", transitive_headers=True) + + def validate(self): + if self.settings.os == "Windows" and self.settings.build_type == "Debug": + # fatal error LNK1104: cannot open file 'python37_d.lib' + raise ConanInvalidConfiguration( + f"{self.ref} debug build on Windows is disabled due to debug version of Python libs likely not being available. Contributions to fix this are welcome.") + if self.options.build_introspection_data and not self.dependencies["glib"].options.shared: + # FIXME: tools/g-ir-scanner fails to load glib + # tools/g-ir-scanner --output=gir/GLib-2.0.gir ... + # ERROR: can't resolve libraries to shared libraries: glib-2.0, gobject-2.0 + raise ConanInvalidConfiguration(f"{self.ref} requires shared glib to be built as shared. Use -o 'glib/*:shared=True'.") + if self.options.build_introspection_data and self.settings.os in ["Windows", "Macos"]: + # FIXME: tools/g-ir-scanner', '--output=gir/GLib-2.0.gir' ... ERROR: can't resolve libraries to shared libraries: glib-2.0, gobject-2.0 + # FIXME: g-ir-scanner fails to find libgnuintl + # giscanner/_giscanner.cpython-37m-darwin.so, 0x0002): Library not loaded: /lib/libgnuintl.8.dylib + raise ConanInvalidConfiguration(f"{self.ref} fails to run g-ir-scanner due glib loaded as shared. Use -o 'glib/*:shared=False'. Contributions to fix this are welcome.") + if self.options.build_introspection_data and cross_building(self): + raise ConanInvalidConfiguration(f"{self.ref} build_introspection_data is not supported when cross-building. Use '&:build_introspection_data=False'.") def build_requirements(self): - if tools.Version(self.version) >= "1.71.0": - self.build_requires("meson/0.62.2") - else: - # https://gitlab.gnome.org/GNOME/gobject-introspection/-/issues/414 - self.build_requires("meson/0.59.3") - self.build_requires("pkgconf/1.7.4") + 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.2 <3]") if self.settings.os == "Windows": - self.build_requires("winflexbison/2.5.24") + self.tool_requires("winflexbison/2.5.25") else: - self.build_requires("flex/2.6.4") - self.build_requires("bison/3.7.6") - - def requirements(self): - self.requires("glib/2.73.0") + self.tool_requires("flex/2.6.4") + self.tool_requires("bison/3.8.2") + self.tool_requires("glib/") def source(self): - tools.get(**self.conan_data["sources"][self.version], strip_root=True, destination=self._source_subfolder) - - def _configure_meson(self): - meson = Meson(self) - defs = dict() - defs["build_introspection_data"] = self.options["glib"].shared - defs["datadir"] = os.path.join(self.package_folder, "res") - - meson.configure( - source_folder=self._source_subfolder, - args=["--wrap-mode=nofallback"], - build_folder=self._build_subfolder, - defs=defs, - ) - return meson + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + env = VirtualBuildEnv(self) + env.generate() + if not cross_building(self): + env = VirtualRunEnv(self) + env.generate(scope="build") + tc = MesonToolchain(self) + if cross_building(self): + tc.project_options["gi_cross_use_prebuilt_gi"] = "false" + tc.project_options["build_introspection_data"] = self.options.build_introspection_data + tc.project_options["datadir"] = "res" + tc.generate() + deps = PkgConfigDeps(self) + deps.generate() + # INFO: g-ir-scanner uses PKG_CONFIG_PATH directly instead of pkg-config Meson module + env = Environment() + env.define_path("PKG_CONFIG_PATH", self.generators_folder) + envvars = env.vars(self) + envvars.save_script("pkg_config_env") + + def _patch_sources(self): + # Disable tests + replace_in_file(self, os.path.join(self.source_folder, "meson.build"), + "subdir('tests')", + "#subdir('tests')") + # Look for data files in res/ instead of share/ + replace_in_file(self, os.path.join(self.source_folder, "tools", "g-ir-tool-template.in"), + "os.path.join(filedir, '..', 'share')", + "os.path.join(filedir, '..', 'res')") + if Version(conan_version) < "2": + # INFO: Conan 1.x generates PkgConfigDeps with libdir1 and includedir1 variables only for glib due its modules + replace_in_file(self, os.path.join(self.source_folder, "gir", "meson.build"), + "glib_dep.get_variable(pkgconfig: 'libdir')", + "glib_dep.get_variable(pkgconfig: 'libdir1')") + replace_in_file(self, os.path.join(self.source_folder, "gir", "meson.build"), + "join_paths(glib_dep.get_variable(pkgconfig: 'includedir'), 'glib-2.0')", + "join_paths(glib_dep.get_variable(pkgconfig: 'includedir1'), 'glib-2.0')") + # gir/meson.build expects the gio-unix-2.0 includedir to be passed as a build flag. + # Patch this for glib from Conan. + replace_in_file(self, os.path.join(self.source_folder, "gir", "meson.build"), + "join_paths(giounix_dep.get_variable(pkgconfig: 'includedir'), 'gio-unix-2.0')", + "giounix_dep.get_variable(pkgconfig: 'includedir1')") + else: + # gir/meson.build expects the gio-unix-2.0 includedir to be passed as a build flag. + # Patch this for glib from Conan. + replace_in_file(self, os.path.join(self.source_folder, "gir", "meson.build"), + "join_paths(giounix_dep.get_variable(pkgconfig: 'includedir'), 'gio-unix-2.0')", + "giounix_dep.get_variable(pkgconfig: 'includedir')") def build(self): - tools.replace_in_file( - os.path.join(self._source_subfolder, "meson.build"), - "subdir('tests')", - "#subdir('tests')", - ) - tools.replace_in_file( - os.path.join(self._source_subfolder, "meson.build"), - "if meson.version().version_compare('>=0.54.0')", - "if false", - ) - - with tools.environment_append( - VisualStudioBuildEnvironment(self).vars - if self._is_msvc - else {"PKG_CONFIG_PATH": self.build_folder} - ): - meson = self._configure_meson() - meson.build() + self._patch_sources() + meson = Meson(self) + meson.configure() + meson.build() def package(self): - self.copy(pattern="COPYING", dst="licenses", src=self._source_subfolder) - with tools.environment_append( - VisualStudioBuildEnvironment(self).vars - ) if self._is_msvc else tools.no_op(): - meson = self._configure_meson() - meson.install() - tools.rmdir(os.path.join(self.package_folder, "lib", "pkgconfig")) - tools.rmdir(os.path.join(self.package_folder, "share")) - for pdb_file in glob.glob(os.path.join(self.package_folder, "bin", "*.pdb")): - os.unlink(pdb_file) + copy(self, "COPYING", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + meson = Meson(self) + meson.install() + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) + rmdir(self, os.path.join(self.package_folder, "share")) + rm(self, "*.pdb", self.package_folder, recursive=True) + fix_apple_shared_install_name(self) def package_info(self): - self.cpp_info.names["pkg_config"] = "gobject-introspection-1.0" + self.cpp_info.set_property("pkg_config_name", "gobject-introspection-1.0") self.cpp_info.libs = ["girepository-1.0"] - self.cpp_info.includedirs.append( - os.path.join("include", "gobject-introspection-1.0") - ) - - bin_path = os.path.join(self.package_folder, "bin") - self.output.info("Appending PATH env var with: {}".format(bin_path)) - self.env_info.PATH.append(bin_path) + self.cpp_info.includedirs.append(os.path.join("include", "gobject-introspection-1.0")) exe_ext = ".exe" if self.settings.os == "Windows" else "" pkgconfig_variables = { - 'datadir': '${prefix}/res', - 'bindir': '${prefix}/bin', - 'g_ir_scanner': '${bindir}/g-ir-scanner', - 'g_ir_compiler': '${bindir}/g-ir-compiler%s' % exe_ext, - 'g_ir_generate': '${bindir}/g-ir-generate%s' % exe_ext, - 'gidatadir': '${datadir}/gobject-introspection-1.0', - 'girdir': '${datadir}/gir-1.0', - 'typelibdir': '${libdir}/girepository-1.0', + "datadir": "${prefix}/res", + "bindir": "${prefix}/bin", + "libdir": "${prefix}/lib", + "g_ir_scanner": "${bindir}/g-ir-scanner", + "g_ir_compiler": "${bindir}/g-ir-compiler%s" % exe_ext, + "g_ir_generate": "${bindir}/g-ir-generate%s" % exe_ext, + "gidatadir": "${datadir}/gobject-introspection-1.0", + "girdir": "${datadir}/gir-1.0", + "typelibdir": "${libdir}/girepository-1.0", } self.cpp_info.set_property( "pkg_config_custom_content", - "\n".join("%s=%s" % (key, value) for key,value in pkgconfig_variables.items())) + "\n".join(f"{key}={value}" for key, value in pkgconfig_variables.items()), + ) + self.buildenv_info.define_path("GI_GIR_PATH", os.path.join(self.package_folder, "res", "gir-1.0")) + self.buildenv_info.define_path("GI_TYPELIB_PATH", os.path.join(self.package_folder, "lib", "girepository-1.0")) + + # TODO: remove in conan v2 + bin_path = os.path.join(self.package_folder, "bin") + self.env_info.PATH.append(bin_path) + self.env_info.GI_GIR_PATH = os.path.join(self.package_folder, "res", "gir-1.0") + self.env_info.GI_TYPELIB_PATH = os.path.join(self.package_folder, "lib", "girepository-1.0") diff --git a/recipes/gobject-introspection/all/test_package/CMakeLists.txt b/recipes/gobject-introspection/all/test_package/CMakeLists.txt index 7b9b613cbb24a..228388b92ebea 100644 --- a/recipes/gobject-introspection/all/test_package/CMakeLists.txt +++ b/recipes/gobject-introspection/all/test_package/CMakeLists.txt @@ -1,8 +1,12 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(test_package C) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() +find_package(gobject-introspection REQUIRED CONFIG) -add_executable(${PROJECT_NAME} test_package.c) -target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS}) +add_executable(test_basic test_basic.c) +target_link_libraries(test_basic PRIVATE gobject-introspection::gobject-introspection) + +if(GLIB_INTROSPECTION_DATA_AVAILABLE) + add_executable(test_girepository test_girepository.c) + target_link_libraries(test_girepository PRIVATE gobject-introspection::gobject-introspection) +endif() diff --git a/recipes/gobject-introspection/all/test_package/conanfile.py b/recipes/gobject-introspection/all/test_package/conanfile.py index 32d4b65e5f11e..ec823a4f6e977 100644 --- a/recipes/gobject-introspection/all/test_package/conanfile.py +++ b/recipes/gobject-introspection/all/test_package/conanfile.py @@ -1,26 +1,57 @@ -from conans import ConanFile, CMake, tools import os +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake, CMakeToolchain +from conan.tools.files import save, load +from conan.tools.apple import is_apple_os + class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package", "pkg_config" + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "VirtualRunEnv" + test_type = "explicit" - def build(self): - if self.settings.os != 'Windows': - with tools.environment_append({'PKG_CONFIG_PATH': "."}): - pkg_config = tools.PkgConfig("gobject-introspection-1.0") - for tool in ["g_ir_compiler", "g_ir_generate", "g_ir_scanner"]: - self.run('%s --version' % pkg_config.variables[tool], run_environment=True) - self.run('g-ir-annotation-tool --version', run_environment=True) - self.run('g-ir-inspect -h', run_environment=True) + def requirements(self): + self.requires(self.tested_reference_str, run=True) + + def layout(self): + cmake_layout(self) + def generate(self): + introspection_data = self.dependencies["glib"].options.shared and not is_apple_os(self) + tc = CMakeToolchain(self) + tc.variables["GLIB_INTROSPECTION_DATA_AVAILABLE"] = introspection_data + tc.generate() + save(self, os.path.join(self.build_folder, "gobject_introspection_data"), str(introspection_data)) + save(self, os.path.join(self.build_folder, "gobject_introspection_bin"), + self.dependencies["gobject-introspection"].cpp_info.bindirs[0]) + + 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) + if can_run(self): + if self.settings.os != "Windows": + gobject_introspection_bin = load(self, os.path.join(self.build_folder, "gobject_introspection_bin")) + gobject_introspection_data = load(self, os.path.join(self.build_folder, "gobject_introspection_data")) == "True" + for tool in ["g-ir-compiler", "g-ir-generate", "g-ir-scanner", "g-ir-annotation-tool"]: + if not gobject_introspection_data and tool in ["g-ir-scanner", "g-ir-annotation-tool"]: + continue + tool_path = os.path.join(gobject_introspection_bin, tool) + if os.path.exists(tool_path): + self.run(f"{tool_path} --version", env="conanrun") + else: + raise Exception(f"Tool {tool} not found in {gobject_introspection_bin}") + tool_path = os.path.join(gobject_introspection_bin, "g-ir-inspect") + if os.path.exists(tool_path): + self.run(f"{tool_path} -h", env="conanrun") + + bin_path = os.path.join(self.cpp.build.bindir, "test_basic") + self.run(bin_path, env="conanrun") + bin_path = os.path.join(self.cpp.build.bindir, "test_girepository") + if os.path.exists(bin_path): + self.run(bin_path, env="conanrun") diff --git a/recipes/gobject-introspection/all/test_package/test_package.c b/recipes/gobject-introspection/all/test_package/test_basic.c similarity index 77% rename from recipes/gobject-introspection/all/test_package/test_package.c rename to recipes/gobject-introspection/all/test_package/test_basic.c index c1b18cd52e49e..44d8cd552ebdd 100644 --- a/recipes/gobject-introspection/all/test_package/test_package.c +++ b/recipes/gobject-introspection/all/test_package/test_basic.c @@ -1,12 +1,12 @@ +#include #include #include "girepository.h" -int main(int argc, char **argv) -{ +int main(void) { printf("gobject introspection version %d.%d.%d\n", gi_get_major_version(), gi_get_minor_version(), gi_get_micro_version()); - return 0; + return EXIT_SUCCESS; } diff --git a/recipes/gobject-introspection/all/test_package/test_girepository.c b/recipes/gobject-introspection/all/test_package/test_girepository.c new file mode 100644 index 0000000000000..d6994f8155c80 --- /dev/null +++ b/recipes/gobject-introspection/all/test_package/test_girepository.c @@ -0,0 +1,7 @@ +#include +#include "girepository.h" + +int main() { + GIRepository* repository = g_irepository_get_default(); + return EXIT_SUCCESS; +} diff --git a/recipes/gobject-introspection/all/test_v1_package/CMakeLists.txt b/recipes/gobject-introspection/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/gobject-introspection/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/gobject-introspection/all/test_v1_package/conanfile.py b/recipes/gobject-introspection/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..52695b0ce44eb --- /dev/null +++ b/recipes/gobject-introspection/all/test_v1_package/conanfile.py @@ -0,0 +1,17 @@ +from conans import ConanFile, CMake, tools +import os + + +class TestPackageConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self): + bin_path = os.path.join("bin", "test_basic") + self.run(bin_path, run_environment=True) diff --git a/recipes/gobject-introspection/config.yml b/recipes/gobject-introspection/config.yml index 06afabf3f5bc4..630625eb6d118 100644 --- a/recipes/gobject-introspection/config.yml +++ b/recipes/gobject-introspection/config.yml @@ -1,13 +1,3 @@ versions: "1.72.0": folder: all - "1.70.0": - folder: all - "1.69.0": - folder: all - "1.68.0": - folder: all - "1.67.1": - folder: all - "1.66.1": - folder: all From db6b6f86cb6e29f639bda862f43bb0fd136ff0b3 Mon Sep 17 00:00:00 2001 From: fdgStilla <79465612+fdgStilla@users.noreply.github.com> Date: Wed, 4 Sep 2024 16:25:46 +0200 Subject: [PATCH 472/641] (#22557) onnxruntime: add with_cuda option * Add with_cuda option * Require static registration from onnx disabled * Add some transitive headers * Test CUDA in the test_package * Add 1.15.1 patch * wip * add comment * wip * wip * wip * remove unused patch * better patching * remove unused patch * fix * copy dlls via cmake in v1 * check if win --------- Co-authored-by: czoido --- recipes/onnxruntime/all/conandata.yml | 11 ++++++++++ recipes/onnxruntime/all/conanfile.py | 22 ++++++++++++++++++- .../1.15.1-0002-fix-attention-15983.patch | 11 ++++++++++ ....17.3-0003-fix-cutlass-cuda-provider.patch | 15 +++++++++++++ ....18.1-0005-fix-cutlass-cuda-provider.patch | 15 +++++++++++++ .../all/test_package/CMakeLists.txt | 3 +++ .../onnxruntime/all/test_package/conanfile.py | 16 +++++++++++--- .../all/test_package/test_package.cpp | 16 +++++++++++++- .../all/test_v1_package/CMakeLists.txt | 18 +++++++++++++-- 9 files changed, 120 insertions(+), 7 deletions(-) create mode 100644 recipes/onnxruntime/all/patches/1.15.1-0002-fix-attention-15983.patch create mode 100644 recipes/onnxruntime/all/patches/1.17.3-0003-fix-cutlass-cuda-provider.patch create mode 100644 recipes/onnxruntime/all/patches/1.18.1-0005-fix-cutlass-cuda-provider.patch diff --git a/recipes/onnxruntime/all/conandata.yml b/recipes/onnxruntime/all/conandata.yml index eb75e43b388ce..5ad665fd49f79 100644 --- a/recipes/onnxruntime/all/conandata.yml +++ b/recipes/onnxruntime/all/conandata.yml @@ -22,6 +22,9 @@ patches: - patch_file: "patches/1.18.0-0004-abseil-no-string-view.patch" patch_description: "allow to build with abseil built without c++17 support" patch_type: "portability" + - patch_file: "patches/1.18.1-0005-fix-cutlass-cuda-provider.patch" + patch_description: "use cutlass from Conan" + patch_type: "portability" "1.17.3": - patch_file: "patches/1.17.3-0001-patch-macos-cpp20-date-compat.patch" patch_description: "allow to build with macos c++20 support" @@ -33,6 +36,9 @@ patches: - patch_file: "patches/1.14.1-0004-abseil-no-string-view.patch" patch_description: "allow to build with abseil built without c++17 support" patch_type: "portability" + - patch_file: "patches/1.17.3-0003-fix-cutlass-cuda-provider.patch" + patch_description: "use cutlass from Conan" + patch_type: "portability" "1.16.3": - patch_file: "patches/1.14.1-0004-abseil-no-string-view.patch" patch_description: "allow to build with abseil built without c++17 support" @@ -41,6 +47,10 @@ patches: - patch_file: "patches/1.14.1-0004-abseil-no-string-view.patch" patch_description: "allow to build with abseil built without c++17 support" patch_type: "portability" + - patch_file: "patches/1.15.1-0002-fix-attention-15983.patch" + patch_description: "Fix attention.cc" + patch_source: "https://github.com/microsoft/onnxruntime/pull/15983" + patch_type: "backport" "1.14.1": - patch_file: "patches/1.14.1-0001-cmake-dependencies.patch" patch_description: "CMake: ensure conan dependencies are used (upstreamed future versions)" @@ -56,6 +66,7 @@ patches: patch_description: "Ensures the forward compatibility with the newest versions of re2 library." patch_type: "portability" patch_source: "https://github.com/microsoft/onnxruntime/commit/126e7bf15fa4af8621814b82a3f7bd0d786f0239.patch" + # ONNX versions are based on the minor version used at # https://github.com/microsoft/onnxruntime/tree/main/cmake/external onnx_version_map: diff --git a/recipes/onnxruntime/all/conanfile.py b/recipes/onnxruntime/all/conanfile.py index 100362415a13b..ce3b31cb93581 100644 --- a/recipes/onnxruntime/all/conanfile.py +++ b/recipes/onnxruntime/all/conanfile.py @@ -27,11 +27,13 @@ class OnnxRuntimeConan(ConanFile): "shared": [True, False], "fPIC": [True, False], "with_xnnpack": [True, False], + "with_cuda": [True, False], } default_options = { "shared": False, "fPIC": True, "with_xnnpack": False, + "with_cuda": False, } short_paths = True @@ -70,6 +72,9 @@ def config_options(self): def configure(self): if self.options.shared: self.options.rm_safe("fPIC") + # onnxruntime forces this to be True + # https://github.com/microsoft/onnxruntime/blob/be76e1e1b8e2914e448d12a0cc683c00014c0490/cmake/external/onnxruntime_external_deps.cmake#L542 + self.options["onnx"].disable_static_registration = True def layout(self): cmake_layout(self, src_folder="src") @@ -105,6 +110,8 @@ def requirements(self): self.requires("xnnpack/cci.20230715") else: self.requires("xnnpack/cci.20220801") + if self.options.with_cuda: + self.requires("cutlass/3.5.0") def validate(self): if self.settings.compiler.get_safe("cppstd"): @@ -114,6 +121,10 @@ def validate(self): raise ConanInvalidConfiguration( f"{self.ref} requires minimum compiler version {minimum_version}." ) + if not self.dependencies["onnx"].options.disable_static_registration: + raise ConanInvalidConfiguration( + f"{self.ref} requires onnx compiled with `-o onnx:disable_static_registration=True`." + ) def validate_build(self): if self.version >= Version("1.15.0") and self.options.shared and sys.version_info[:2] < (3, 8): @@ -143,8 +154,10 @@ def generate(self): tc.variables["onnxruntime_USE_FULL_PROTOBUF"] = not self.dependencies["protobuf"].options.lite tc.variables["onnxruntime_USE_XNNPACK"] = self.options.with_xnnpack + tc.variables["onnxruntime_USE_CUDA"] = self.options.with_cuda tc.variables["onnxruntime_BUILD_UNIT_TESTS"] = False tc.variables["onnxruntime_DISABLE_CONTRIB_OPS"] = False + tc.variables["onnxruntime_USE_FLASH_ATTENTION"] = False tc.variables["onnxruntime_DISABLE_RTTI"] = False tc.variables["onnxruntime_DISABLE_EXCEPTIONS"] = False @@ -157,7 +170,7 @@ def generate(self): if Version(self.version) >= "1.17": tc.variables["onnxruntime_ENABLE_CUDA_EP_INTERNAL_TESTS"] = False tc.variables["onnxruntime_USE_NEURAL_SPEED"] = False - tc.variables["onnxruntime_USE_MEMORY_EFFICIENT_ATTENTION"] = True + tc.variables["onnxruntime_USE_MEMORY_EFFICIENT_ATTENTION"] = False # Disable a warning that gets converted to an error tc.preprocessor_definitions["_SILENCE_ALL_CXX23_DEPRECATION_WARNINGS"] = "1" @@ -180,6 +193,11 @@ def _patch_sources(self): if Version(self.version) >= "15.0": replace_in_file(self, os.path.join(self.source_folder, "cmake", "CMakeLists.txt"), "if (Git_FOUND)", "if (FALSE)") + if Version(self.version) >= "1.17": + # https://github.com/microsoft/onnxruntime/commit/5bfca1dc576720627f3af8f65e25af408271079b + replace_in_file(self, os.path.join(self.source_folder, "cmake", "onnxruntime_providers_cuda.cmake"), + 'option(onnxruntime_NVCC_THREADS "Number of threads that NVCC can use for compilation." 1)', + 'set(onnxruntime_NVCC_THREADS "1" CACHE STRING "Number of threads that NVCC can use for compilation.")') def build(self): self._patch_sources() @@ -252,6 +270,8 @@ def package_info(self): self.cpp_info.requires.append("wil::wil") if self.options.with_xnnpack: self.cpp_info.requires.append("xnnpack::xnnpack") + if self.options.with_cuda: + self.cpp_info.requires.append("cutlass::cutlass") # https://github.com/microsoft/onnxruntime/blob/v1.16.0/cmake/CMakeLists.txt#L1759-L1763 self.cpp_info.set_property("cmake_file_name", "onnxruntime") diff --git a/recipes/onnxruntime/all/patches/1.15.1-0002-fix-attention-15983.patch b/recipes/onnxruntime/all/patches/1.15.1-0002-fix-attention-15983.patch new file mode 100644 index 0000000000000..512fe43577ad8 --- /dev/null +++ b/recipes/onnxruntime/all/patches/1.15.1-0002-fix-attention-15983.patch @@ -0,0 +1,11 @@ +--- a/onnxruntime/contrib_ops/cuda/bert/attention.cc ++++ b/onnxruntime/contrib_ops/cuda/bert/attention.cc +@@ -164,7 +164,7 @@ + has_memory_efficient_attention(sm, sizeof(T) == 2); + #else + constexpr bool use_memory_efficient_attention = false; +- ORT_UNUSED_VARIABLE(is_mask_1d_key_seq_len_start); ++ ORT_UNUSED_PARAMETER(is_mask_1d_key_seq_len_start); + #endif + + cublasHandle_t cublas = GetCublasHandle(context); diff --git a/recipes/onnxruntime/all/patches/1.17.3-0003-fix-cutlass-cuda-provider.patch b/recipes/onnxruntime/all/patches/1.17.3-0003-fix-cutlass-cuda-provider.patch new file mode 100644 index 0000000000000..8ea3d51071e51 --- /dev/null +++ b/recipes/onnxruntime/all/patches/1.17.3-0003-fix-cutlass-cuda-provider.patch @@ -0,0 +1,15 @@ +diff --git a/cmake/onnxruntime_providers_cuda.cmake b/cmake/onnxruntime_providers_cuda.cmake +index b5c3100865..129c4f19f6 100644 +--- a/cmake/onnxruntime_providers_cuda.cmake ++++ b/cmake/onnxruntime_providers_cuda.cmake +@@ -180,8 +180,8 @@ + target_link_libraries(${target} PRIVATE CUDA::cuda_driver) + endif() + +- include(cutlass) +- target_include_directories(${target} PRIVATE ${cutlass_SOURCE_DIR}/include ${cutlass_SOURCE_DIR}/examples) ++ find_package(NvidiaCutlass) ++ target_link_libraries(${target} PRIVATE nvidia::cutlass::cutlass) + + target_include_directories(${target} PRIVATE ${ONNXRUNTIME_ROOT} ${CMAKE_CURRENT_BINARY_DIR} ${eigen_INCLUDE_DIRS} ${TVM_INCLUDES} + PUBLIC ${CUDAToolkit_INCLUDE_DIRS}) diff --git a/recipes/onnxruntime/all/patches/1.18.1-0005-fix-cutlass-cuda-provider.patch b/recipes/onnxruntime/all/patches/1.18.1-0005-fix-cutlass-cuda-provider.patch new file mode 100644 index 0000000000000..3024bfb1f7bb6 --- /dev/null +++ b/recipes/onnxruntime/all/patches/1.18.1-0005-fix-cutlass-cuda-provider.patch @@ -0,0 +1,15 @@ +diff --git a/cmake/onnxruntime_providers_cuda.cmake b/cmake/onnxruntime_providers_cuda.cmake +index 1346a9ce96..f40661d4bd 100644 +--- a/cmake/onnxruntime_providers_cuda.cmake ++++ b/cmake/onnxruntime_providers_cuda.cmake +@@ -211,8 +211,8 @@ + target_link_libraries(${target} PRIVATE CUDA::cuda_driver) + endif() + +- include(cutlass) +- target_include_directories(${target} PRIVATE ${cutlass_SOURCE_DIR}/include ${cutlass_SOURCE_DIR}/examples ${cutlass_SOURCE_DIR}/tools/util/include) ++ find_package(NvidiaCutlass) ++ target_link_libraries(${target} PRIVATE nvidia::cutlass::cutlass) + + target_include_directories(${target} PRIVATE ${ONNXRUNTIME_ROOT} ${CMAKE_CURRENT_BINARY_DIR} ${eigen_INCLUDE_DIRS} ${TVM_INCLUDES} + PUBLIC ${CUDAToolkit_INCLUDE_DIRS}) diff --git a/recipes/onnxruntime/all/test_package/CMakeLists.txt b/recipes/onnxruntime/all/test_package/CMakeLists.txt index b5d8ccbfcd52c..483ebf5ead1ee 100644 --- a/recipes/onnxruntime/all/test_package/CMakeLists.txt +++ b/recipes/onnxruntime/all/test_package/CMakeLists.txt @@ -5,5 +5,8 @@ project(test_package CXX) find_package(onnxruntime REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) +if(WITH_CUDA) + target_compile_definitions(${PROJECT_NAME} PRIVATE WITH_CUDA) +endif() target_link_libraries(${PROJECT_NAME} PRIVATE onnxruntime::onnxruntime) target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) diff --git a/recipes/onnxruntime/all/test_package/conanfile.py b/recipes/onnxruntime/all/test_package/conanfile.py index 18016812d8c7e..17284808fb050 100644 --- a/recipes/onnxruntime/all/test_package/conanfile.py +++ b/recipes/onnxruntime/all/test_package/conanfile.py @@ -1,13 +1,14 @@ from conan import ConanFile from conan.tools.build import can_run -from conan.tools.cmake import cmake_layout, CMake +from conan.tools.cmake import cmake_layout, CMake, CMakeToolchain +from conan.tools.files import copy import os # It will become the standard on Conan 2.x class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" - generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + generators = "CMakeDeps", "VirtualRunEnv" test_type = "explicit" def requirements(self): @@ -15,6 +16,15 @@ def requirements(self): def layout(self): cmake_layout(self, src_folder=".") + + def generate(self): + tc = CMakeToolchain(self) + tc.cache_variables["WITH_CUDA"] = self.dependencies["onnxruntime"].options.with_cuda + tc.generate() + if self.settings.os == "Windows": + # on windows the system dll C:\WINDOWS\system32\onnxruntime.dll may be loaded instead even if the conan lib is first in the PATH, see https://learn.microsoft.com/en-us/windows/win32/dlls/dynamic-link-library-search-order + for bindir in self.dependencies[self.tested_reference_str].cpp_info.bindirs: + copy(self, "*.dll", bindir, os.path.join(self.build_folder, str(self.settings.build_type))) def build(self): cmake = CMake(self) @@ -23,5 +33,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/onnxruntime/all/test_package/test_package.cpp b/recipes/onnxruntime/all/test_package/test_package.cpp index a9cc6b11cef74..09281241c4ad8 100644 --- a/recipes/onnxruntime/all/test_package/test_package.cpp +++ b/recipes/onnxruntime/all/test_package/test_package.cpp @@ -2,8 +2,22 @@ #include #include +#ifdef WITH_CUDA +#include +#endif + int main() { const auto& api = Ort::GetApi(); - std::cout << OrtGetApiBase()->GetVersionString() << std::endl; + std::cout << "Version: " << OrtGetApiBase()->GetVersionString() << std::endl; + std::cout << "Providers: " << std::endl; + for(const auto& provider: Ort::GetAvailableProviders()) + std::cout << provider << ", " << std::endl; + +#ifdef WITH_CUDA + Ort::SessionOptions session_options; + OrtSessionOptionsAppendExecutionProvider_CUDA(session_options, 1); + std::cout << "with cuda!" << std::endl; +#endif + return 0; } diff --git a/recipes/onnxruntime/all/test_v1_package/CMakeLists.txt b/recipes/onnxruntime/all/test_v1_package/CMakeLists.txt index 0d20897301b68..691d35acd08dc 100644 --- a/recipes/onnxruntime/all/test_v1_package/CMakeLists.txt +++ b/recipes/onnxruntime/all/test_v1_package/CMakeLists.txt @@ -4,5 +4,19 @@ 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) +find_package(onnxruntime REQUIRED CONFIG) +add_executable(${PROJECT_NAME} ${CMAKE_CURRENT_SOURCE_DIR}/../test_package/test_package.cpp) +if(WITH_CUDA) + target_compile_definitions(${PROJECT_NAME} PRIVATE WITH_CUDA) +endif() + +target_link_libraries(${PROJECT_NAME} PRIVATE onnxruntime::onnxruntime) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) + +if(WIN32 AND DEFINED CONAN_BIN_DIRS_ONNXRUNTIME AND EXISTS ${CONAN_BIN_DIRS_ONNXRUNTIME}) + add_custom_command(TARGET ${PROJECT_NAME} POST_BUILD + COMMAND ${CMAKE_COMMAND} -E copy_directory + ${CONAN_BIN_DIRS_ONNXRUNTIME} + $ + ) +endif() From 18c96ad96a4099c1d37dffeba783c5611541f9b1 Mon Sep 17 00:00:00 2001 From: Ernesto de Gracia Herranz Date: Wed, 4 Sep 2024 18:21:55 +0200 Subject: [PATCH 473/641] (#25135) Alpine support for `xorg` MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * alpine support * Update recipes/xorg/all/conanfile.py Co-authored-by: Martin Valgur * Apk is only available in Conan 2 * Typoe * !! * Update recipes/xorg/all/conanfile.py Co-authored-by: Uilian Ries * Fix missing Version Signed-off-by: Uilian Ries * Simplify version validation Signed-off-by: Uilian Ries --------- Signed-off-by: Uilian Ries Co-authored-by: Martin Valgur Co-authored-by: Abril Rincón Blanco Co-authored-by: Uilian Ries --- recipes/xorg/all/conanfile.py | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/recipes/xorg/all/conanfile.py b/recipes/xorg/all/conanfile.py index 4b5a1dfb54844..18c7f048404e4 100644 --- a/recipes/xorg/all/conanfile.py +++ b/recipes/xorg/all/conanfile.py @@ -2,6 +2,7 @@ from conan.tools.gnu import PkgConfig from conan.tools.system import package_manager from conan.errors import ConanInvalidConfiguration +from conan.tools.scm import Version required_conan_version = ">=1.50.0" @@ -73,8 +74,17 @@ def system_requirements(self): "libXScrnSaver", "xcb-util-wm", "xcb-util-image", "xcb-util-keysyms", "xcb-util-renderutil", "libxxf86vm", "libxv", "xkeyboard-config", "xcb-util", "xcb-util-cursor"], update=True, check=True) + if Version(conan_version) >= "2.0.10": + alpine = package_manager.Apk(self) + alpine.install(["libx11-dev", " libxcb-dev", "libfontenc-dev", "libice-dev", "libsm-dev", " libxau-dev", "libxaw-dev", + "libxcomposite-dev", "libxcursor-dev", "libxdamage-dev", "libxdmcp-dev", " libxext-dev", "libxfixes-dev", "libxi-dev", + "libxinerama-dev", "libxkbfile-dev", " libxmu-dev", "libxpm-dev", "libxrandr-dev", "libxrender-dev", "libxres-dev", + "libxscrnsaver-dev", "libxt-dev", "libxtst-dev", "libxv-dev", "libxxf86vm-dev", + "xcb-util-wm-dev", "xcb-util-image-dev", "xcb-util-keysyms-dev", "xcb-util-renderutil-dev", + "libxinerama-dev", "libxcb-dev", "xcb-util-dev", "xcb-util-cursor-dev"], update=True, check=True) + def package_info(self): - if conan_version.major >= 2: + if Version(conan_version) >= 2: self.cpp_info.bindirs = [] self.cpp_info.includedirs = [] self.cpp_info.libdirs = [] From 30a5ab7ce630cba3d970279654f05d9b553ece4b Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Thu, 5 Sep 2024 11:42:13 +0300 Subject: [PATCH 474/641] (#18980) openmpi: migrate to Conan v2 * openmpi: migrate to Conan v2 * openmpi: bump deps * openmpi: do not print created env vars * openmpi: add v4.1.6 * openmpi: improve options coverage * openmpi: fix path env vars * openmpi: fix a PMIX error * openmpi: add MPI::MPI_CXX only if `cxx` is enabled * openmpi: fix static build issues, add external_hwloc option * openmpi: fix libltdl issue, replace AutotoolsDeps with PkgConfigDeps * openmpi: disable buildign of docs * openmpi: drop libltdl dependency * openmpi: external libevent does not really work * openmpi: model components correctly * openmpi: fix pkg-config names * openmpi: disable armv8 for v4.1.0 * openmpi: bump libnl * openmpi: enable with_verbs * openmpi: use REQUIRED CONFIG in test_package for legacy generators * bump rdma-core * openmpi: fix libibverbs.so not being found * openmpi: drop test_v1_package * openmpi: fix apple-clang cross-compilation * openmpi: run autoreconf * openmpi: drop v4.1.0 * openmpi: Revert "run autoreconf" This reverts commit 6f678dab6d734cb6b5723b2ea8ea407465fcd485. * openmpi: disable Clang on Conan v1 * openmpi: restore v4.1.0 This reverts commit 04611660ba75fa06edbcd58ff28ca3c9021bac0e. * openmpi: add --allow-run-as-root to test_package Co-authored-by: Maksim Petukhov <6967052+maksim-petukhov@users.noreply.github.com> * openmpi: adjust deps * openmpi: enable cxx by default * openmpi: drop external_hwloc option * openmpi: fix an invalid require name * openmpi: add missing requires * openmpi: add VirtualRunEnv to fix ./configure * openmpi: workaround for macOS build failure * openmpi: re-enable Clang/AppleClang for Conan v1 * openmpi: fix_apple_shared_install_name() * openmpi: apply review suggestions * openmpi: drop --with-libevent=internal * openmpi: drop --allow-run-as-root in test_package * openmpi: add a comment for pkg_config_name Co-authored-by: Uilian Ries * openmpi: get_safe("with_verbs") * openmpi: Revert "re-enable Clang/AppleClang for Conan v1" This reverts commit 40d407ee66231a2df8efc376ff6e5acf77a80090. * openmpi: VirtualRunEnv is required to find libhwloc.so during ./configure * openmpi: macOS armv8 fails when shared=True * Simplify test package to avoid networking usage The current openmpi test package tries to use networking, and in OS like Mac, the GUI asks about permission to execute the test package. It's too much for a simple package validation. It would be better keep a version check for library linkage validation. Signed-off-by: Uilian Ries * Revert "openmpi: macOS armv8 fails when shared=True" Enable again dynamic library build for Mac. With the simplified test package, I see no errors locally for Mac M1. This reverts commit d79c757c2f05864b6decedc835ad08c693386374. --------- Signed-off-by: Uilian Ries Co-authored-by: Maksim Petukhov <6967052+maksim-petukhov@users.noreply.github.com> Co-authored-by: Uilian Ries --- recipes/openmpi/all/conandata.yml | 7 +- recipes/openmpi/all/conanfile.py | 284 ++++++++++++++---- .../openmpi/all/test_package/CMakeLists.txt | 13 +- recipes/openmpi/all/test_package/conanfile.py | 24 +- .../openmpi/all/test_package/test_package.c | 13 + .../openmpi/all/test_package/test_package.cpp | 23 -- recipes/openmpi/config.yml | 2 + 7 files changed, 265 insertions(+), 101 deletions(-) create mode 100644 recipes/openmpi/all/test_package/test_package.c delete mode 100644 recipes/openmpi/all/test_package/test_package.cpp diff --git a/recipes/openmpi/all/conandata.yml b/recipes/openmpi/all/conandata.yml index 4580e17ba76a3..7211bc311a719 100644 --- a/recipes/openmpi/all/conandata.yml +++ b/recipes/openmpi/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "4.1.6": + url: "https://download.open-mpi.org/release/open-mpi/v4.1/openmpi-4.1.6.tar.bz2" + sha256: "f740994485516deb63b5311af122c265179f5328a0d857a567b85db00b11e415" "4.1.0": - sha256: 73866fb77090819b6a8c85cb8539638d37d6877455825b74e289d647a39fd5b5 - url: https://download.open-mpi.org/release/open-mpi/v4.1/openmpi-4.1.0.tar.bz2 + url: "https://download.open-mpi.org/release/open-mpi/v4.1/openmpi-4.1.0.tar.bz2" + sha256: "73866fb77090819b6a8c85cb8539638d37d6877455825b74e289d647a39fd5b5" diff --git a/recipes/openmpi/all/conanfile.py b/recipes/openmpi/all/conanfile.py index 26cc0e027159c..785217bcba3dc 100644 --- a/recipes/openmpi/all/conanfile.py +++ b/recipes/openmpi/all/conanfile.py @@ -1,97 +1,259 @@ -from conans import ConanFile, tools, AutoToolsBuildEnvironment -from conans.errors import ConanInvalidConfiguration import os -required_conan_version = ">=1.29.1" +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.apple import is_apple_os, fix_apple_shared_install_name +from conan.tools.env import VirtualRunEnv +from conan.tools.files import copy, get, rm, rmdir, save, replace_in_file +from conan.tools.gnu import Autotools, AutotoolsToolchain, AutotoolsDeps +from conan.tools.layout import basic_layout +from conan.tools.microsoft import unix_path + +required_conan_version = ">=1.53.0" class OpenMPIConan(ConanFile): name = "openmpi" - homepage = "https://www.open-mpi.org" - url = "https://github.com/conan-io/conan-center-index" - topics = ("conan", "mpi", "openmpi") description = "A High Performance Message Passing Library" license = "BSD-3-Clause" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://www.open-mpi.org" + topics = ("mpi", "openmpi") + provides = "mpi" + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], "fPIC": [True, False], - "fortran": ["yes", "mpifh", "usempi", "usempi80", "no"] + "fortran": ["yes", "mpifh", "usempi", "usempi80", "no"], + "enable_cxx": [True, False], + "enable_cxx_exceptions": [True, False], + "with_verbs": [True, False], } default_options = { "shared": False, "fPIC": True, - "fortran": "no" + "fortran": "no", + "enable_cxx": False, + "enable_cxx_exceptions": False, + "with_verbs": False, } - _autotools = None - - @property - def _source_subfolder(self): - return "source_subfolder" + def config_options(self): + if self.settings.os == "Windows": + del self.options.fPIC def configure(self): if self.options.shared: - del self.options.fPIC - del self.settings.compiler.libcxx - del self.settings.compiler.cppstd + self.options.rm_safe("fPIC") + if not self.options.enable_cxx: + self.settings.rm_safe("compiler.libcxx") + self.settings.rm_safe("compiler.cppstd") + del self.options.enable_cxx_exceptions + if is_apple_os(self): + # Unavailable due to dependency on libnl + del self.options.with_verbs + + def layout(self): + basic_layout(self, src_folder="src") + + def requirements(self): + # OpenMPI public headers don't include anything besides stddef.h. + # transitive_headers=True is not needed for any dependencies. + self.requires("hwloc/2.10.0") + self.requires("zlib/[>=1.2.11 <2]") + if self.settings.os == "Linux": + self.requires("libnl/3.8.0") + if self.options.get_safe("with_verbs"): + self.requires("rdma-core/52.0") + + def validate(self): if self.settings.os == "Windows": + # Requires Cygwin or WSL raise ConanInvalidConfiguration("OpenMPI doesn't support Windows") - def requirements(self): - # FIXME : self.requires("libevent/2.1.12") - try to use libevent from conan - self.requires("zlib/1.2.11") + if self.version == "4.1.0" and is_apple_os(self) and self.settings.arch == "armv8": + # INFO: https://github.com/open-mpi/ompi/issues/8410 + raise ConanInvalidConfiguration(f"{self.ref} is not supported in Mac M1. Use a newer version.") def source(self): - tools.get(**self.conan_data["sources"][self.version]) - extracted_dir = self.name + "-" + self.version - os.rename(extracted_dir, self._source_subfolder) - - def _configure_autotools(self): - if self._autotools: - return self._autotools - self._autotools = AutoToolsBuildEnvironment(self) - args = ["--disable-wrapper-rpath", "--disable-wrapper-runpath"] - if self.settings.build_type == "Debug": - args.append("--enable-debug") - if self.options.shared: - args.extend(["--enable-shared", "--disable-static"]) - else: - args.extend(["--enable-static", "--disable-shared"]) - args.append("--with-pic" if self.options.get_safe("fPIC", True) else "--without-pic") - args.append("--enable-mpi-fortran={}".format(str(self.options.fortran))) - args.append("--with-zlib={}".format(self.deps_cpp_info["zlib"].rootpath)) - args.append("--with-zlib-libdir={}".format(self.deps_cpp_info["zlib"].lib_paths[0])) - args.append("--datarootdir=${prefix}/res") - self._autotools.configure(args=args) - return self._autotools + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + def root(pkg): + return unix_path(self, self.dependencies[pkg].package_folder) + + def yes_no(v): + return "yes" if v else "no" + + tc = AutotoolsToolchain(self) + tc.configure_args += [ + f"--enable-mpi-fortran={self.options.fortran}", + f"--enable-mpi-cxx={yes_no(self.options.enable_cxx)}", + f"--enable-cxx-exceptions={yes_no(self.options.get_safe('enable_cxx_exceptions'))}", + f"--with-hwloc={root('hwloc')}", + f"--with-libnl={root('libnl') if not is_apple_os(self) else 'no'}", + f"--with-verbs={root('rdma-core') if self.options.get_safe('with_verbs') else 'no'}", + f"--with-zlib={root('zlib')}", + "--with-pic" if self.options.get_safe("fPIC", True) else "--without-pic", + "--disable-wrapper-rpath", + "--disable-wrapper-runpath", + "--exec-prefix=/", + "--datarootdir=${prefix}/res", + # Disable other external libraries explicitly + "--with-alps=no", # ALPS + "--with-cuda=no", # CUDA + "--with-fca=no", # FCA + "--with-gpfs=no", # Gpfs + "--with-hcoll=no", # hcoll + "--with-ime=no", # IME + "--with-lsf=no", # LSF + "--with-lustre=no", # Lustre + "--with-memkind=no", # memkind + "--with-moab=no", # Moab + "--with-mxm=no", # Mellanox MXM + "--with-ofi=no", # libfabric, TODO: enable once libfabric is available + "--with-pmi=no", # PMI + "--with-pmix=internal", # PMIx + "--with-portals4=no", # Portals4 + "--with-psm2=no", # PSM2 + "--with-psm=no", # PSM + "--with-pvfs2=no", # Pvfs2 + "--with-treematch=no", # TreeMatch + "--with-ucx=no", # UCX + "--with-valgrind=no", # Valgrind + "--with-x=no", # X11 + "--with-xpmem=no", # XPMEM + ] + if is_apple_os(self): + if self.settings.arch == "armv8": + tc.configure_args.append("--host=aarch64-apple-darwin") + tc.extra_ldflags.append("-arch arm64") + # macOS has no libnl + tc.configure_args.append("--enable-mca-no-build=reachable-netlink") + # libtool's libltdl is not really needed, OpenMPI provides its own equivalent. + # Not adding it as it fails to be detected by ./configure in some cases. + # https://github.com/open-mpi/ompi/blob/v4.1.6/opal/mca/dl/dl.h#L20-L25 + tc.configure_args.append("--with-libltdl=no") + tc.generate() + + deps = AutotoolsDeps(self) + deps.generate() + + # Needed for ./configure to find libhwloc.so and libibnetdisc.so + VirtualRunEnv(self).generate(scope="build") + + # TODO: might want to enable reproducible builds by setting + # $SOURCE_DATE_EPOCH, $USER and $HOSTNAME + + def _patch_sources(self): + # Not needed and fails with v5.0 due to additional Python dependencies + save(self, os.path.join(self.source_folder, "docs", "Makefile.in"), "all:\ninstall:\n") + # Workaround for trying to include VERSION from source dir due to a case-insensitive filesystem on macOS + # Based on https://github.com/macports/macports-ports/blob/22dded99ae76a287f04a9685bbc820ecaa397fea/science/openmpi/files/patch-configure.diff + replace_in_file(self, os.path.join(self.source_folder, "configure"), + "-I$(top_srcdir) ", "-idirafter$(top_srcdir) ") def build(self): - with tools.chdir(self._source_subfolder): - autotools = self._configure_autotools() - autotools.make() + self._patch_sources() + autotools = Autotools(self) + autotools.configure() + autotools.make() def package(self): - self.copy(pattern="LICENSE", src=self._source_subfolder, dst="licenses") - with tools.chdir(self._source_subfolder): - autotools = self._configure_autotools() - autotools.install() - tools.rmdir(os.path.join(self.package_folder, "lib", "pkgconfig")) - tools.rmdir(os.path.join(self.package_folder, "share")) - tools.rmdir(os.path.join(self.package_folder, "etc")) - tools.remove_files_by_mask(os.path.join(self.package_folder, "lib"), "*.la") + copy(self, "LICENSE", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + autotools = Autotools(self) + autotools.install() + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) + rmdir(self, os.path.join(self.package_folder, "etc")) + rmdir(self, os.path.join(self.package_folder, "res", "man")) + rm(self, "*.la", self.package_folder, recursive=True) + fix_apple_shared_install_name(self) def package_info(self): - self.cpp_info.libs = ['mpi', 'open-rte', 'open-pal'] + # Based on https://cmake.org/cmake/help/latest/module/FindMPI.html#variables-for-using-mpi + self.cpp_info.set_property("cmake_find_mode", "both") + self.cpp_info.set_property("cmake_file_name", "MPI") + # TODO: Use None when available as Conan feature. + self.cpp_info.set_property("pkg_config_name", "_ompi-do-not-use") + # TODO: export a .cmake module to correctly set all variables set by CMake's FindMPI.cmake + + requires = [ + "hwloc::hwloc", + "zlib::zlib", + ] if self.settings.os == "Linux": - self.cpp_info.system_libs = ["dl", "pthread", "rt", "util"] + requires.append("libnl::libnl") + if self.options.get_safe("with_verbs"): + requires.extend(["rdma-core::libibverbs", "rdma-core::librdmacm"]) + + # The components are modelled based on OpenMPI's pkg-config files - self.output.info("Creating MPI_HOME environment variable: {}".format(self.package_folder)) + # Run-time environment library + self.cpp_info.components["orte"].set_property("pkg_config_name", "orte") + self.cpp_info.components["orte"].libs = ["open-rte", "open-pal"] + self.cpp_info.components["orte"].includedirs.append(os.path.join("include", "openmpi")) + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.components["orte"].system_libs = ["dl", "pthread", "rt", "util"] + self.cpp_info.components["orte"].cflags = ["-pthread"] + if self.options.get_safe("enable_cxx_exceptions"): + self.cpp_info.components["orte"].cflags.append("-fexceptions") + self.cpp_info.components["orte"].requires = requires + + self.cpp_info.components["ompi"].set_property("pkg_config_name", "ompi") + self.cpp_info.components["ompi"].libs = ["mpi"] + self.cpp_info.components["ompi"].requires = ["orte"] + + self.cpp_info.components["ompi-c"].set_property("pkg_config_name", "ompi-c") + self.cpp_info.components["ompi-c"].set_property("cmake_target_name", "MPI::MPI_C") + self.cpp_info.components["ompi-c"].requires = ["ompi"] + + self.cpp_info.components["ompitrace"].set_property("pkg_config_name", "ompitrace") + self.cpp_info.components["ompitrace"].libs = ["ompitrace"] + self.cpp_info.components["ompitrace"].requires = ["ompi"] + + if self.options.enable_cxx: + self.cpp_info.components["ompi-cxx"].set_property("pkg_config_name", "ompi-cxx") + self.cpp_info.components["ompi-cxx"].set_property("cmake_target_name", "MPI::MPI_CXX") + self.cpp_info.components["ompi-cxx"].libs = ["mpi_cxx"] + self.cpp_info.components["ompi-cxx"].requires = ["ompi"] + + if self.options.fortran != "no": + self.cpp_info.components["ompi-fort"].set_property("pkg_config_name", "ompi-fort") + self.cpp_info.components["ompi-fort"].set_property("cmake_target_name", "MPI::MPI_Fortran") + self.cpp_info.components["ompi-fort"].libs = ["mpi_mpifh"] + self.cpp_info.components["ompi-fort"].requires = ["ompi"] + # Aliases + self.cpp_info.components["ompi-f77"].set_property("pkg_config_name", "ompi-f77") + self.cpp_info.components["ompi-f77"].requires = ["ompi-fort"] + self.cpp_info.components["ompi-f90"].set_property("pkg_config_name", "ompi-f90") + self.cpp_info.components["ompi-f90"].requires = ["ompi-fort"] + + bin_folder = os.path.join(self.package_folder, "bin") + # Prepend to PATH to avoid a conflict with system MPI + self.runenv_info.prepend_path("PATH", bin_folder) + self.runenv_info.define_path("MPI_BIN", bin_folder) + self.runenv_info.define_path("MPI_HOME", self.package_folder) + self.runenv_info.define_path("OPAL_PREFIX", self.package_folder) + self.runenv_info.define_path("OPAL_EXEC_PREFIX", self.package_folder) + self.runenv_info.define_path("OPAL_LIBDIR", os.path.join(self.package_folder, "lib")) + self.runenv_info.define_path("OPAL_DATADIR", os.path.join(self.package_folder, "res")) + self.runenv_info.define_path("OPAL_DATAROOTDIR", os.path.join(self.package_folder, "res")) + + # TODO: Legacy, to be removed on Conan 2.0 + self.env_info.PATH.append(bin_folder) + self.env_info.MPI_BIN = bin_folder self.env_info.MPI_HOME = self.package_folder - self.output.info("Creating OPAL_PREFIX environment variable: {}".format(self.package_folder)) self.env_info.OPAL_PREFIX = self.package_folder - mpi_bin = os.path.join(self.package_folder, 'bin') - self.output.info("Creating MPI_BIN environment variable: {}".format(mpi_bin)) - self.env_info.MPI_BIN = mpi_bin - self.output.info("Appending PATH environment variable: {}".format(mpi_bin)) - self.env_info.PATH.append(mpi_bin) + self.env_info.OPAL_EXEC_PREFIX = self.package_folder + self.env_info.OPAL_LIBDIR = os.path.join(self.package_folder, "lib") + self.env_info.OPAL_DATADIR = os.path.join(self.package_folder, "res") + self.env_info.OPAL_DATAROOTDIR = os.path.join(self.package_folder, "res") + + self.cpp_info.names["cmake_find_package"] = "MPI" + self.cpp_info.names["cmake_find_package_multi"] = "MPI" + self.cpp_info.components["ompi-c"].names["cmake_find_package"] = "MPI_C" + if self.options.enable_cxx: + self.cpp_info.components["ompi-cxx"].names["cmake_find_package"] = "MPI_CXX" + if self.options.fortran != "no": + self.cpp_info.components["ompi-fort"].names["cmake_find_package"] = "MPI_Fortran" diff --git a/recipes/openmpi/all/test_package/CMakeLists.txt b/recipes/openmpi/all/test_package/CMakeLists.txt index d61f3c4bef33a..a166065f8b662 100644 --- a/recipes/openmpi/all/test_package/CMakeLists.txt +++ b/recipes/openmpi/all/test_package/CMakeLists.txt @@ -1,10 +1,7 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES C) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() +find_package(MPI REQUIRED CONFIG) -find_package(MPI REQUIRED) - -add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS}) +add_executable(${PROJECT_NAME} test_package.c) +target_link_libraries(${PROJECT_NAME} PRIVATE MPI::MPI_C) diff --git a/recipes/openmpi/all/test_package/conanfile.py b/recipes/openmpi/all/test_package/conanfile.py index c63b947b1cb95..09ff6fcc3cc71 100644 --- a/recipes/openmpi/all/test_package/conanfile.py +++ b/recipes/openmpi/all/test_package/conanfile.py @@ -1,10 +1,20 @@ -from conans import ConanFile, CMake, tools import os +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake + class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake" + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): cmake = CMake(self) @@ -12,7 +22,7 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self.settings): - mpiexec = os.path.join(os.environ['MPI_BIN'], 'mpiexec') - command = '%s -mca plm_rsh_agent yes -np 2 %s' % (mpiexec, os.path.join("bin", "test_package")) - self.run(command, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + command = f"mpiexec -mca plm_rsh_agent yes {bin_path}" + self.run(command, env="conanrun") diff --git a/recipes/openmpi/all/test_package/test_package.c b/recipes/openmpi/all/test_package/test_package.c new file mode 100644 index 0000000000000..540ba2f9beacc --- /dev/null +++ b/recipes/openmpi/all/test_package/test_package.c @@ -0,0 +1,13 @@ +#include +#include + +#include + +int main(int argc, char* argv[]) +{ + char version[MPI_MAX_LIBRARY_VERSION_STRING] = {0}; + int len = 0; + MPI_Get_library_version(version, &len); + printf("MPI version: %s\n", version); + return EXIT_SUCCESS; +} diff --git a/recipes/openmpi/all/test_package/test_package.cpp b/recipes/openmpi/all/test_package/test_package.cpp deleted file mode 100644 index d6fa9065fdf2a..0000000000000 --- a/recipes/openmpi/all/test_package/test_package.cpp +++ /dev/null @@ -1,23 +0,0 @@ -#include -#include - -int main(int argc, char* argv[]) -{ - MPI_Init(&argc, &argv); - - int rank; - MPI_Comm_rank(MPI_COMM_WORLD, &rank); - if (rank == 0) { - int value = 17; - int result = MPI_Send(&value, 1, MPI_INT, 1, 0, MPI_COMM_WORLD); - if (result == MPI_SUCCESS) - std::cout << "Rank 0 OK!" << std::endl; - } else if (rank == 1) { - int value; - int result = MPI_Recv(&value, 1, MPI_INT, 0, 0, MPI_COMM_WORLD, MPI_STATUS_IGNORE); - if (result == MPI_SUCCESS && value == 17) - std::cout << "Rank 1 OK!" << std::endl; - } - MPI_Finalize(); - return 0; -} diff --git a/recipes/openmpi/config.yml b/recipes/openmpi/config.yml index 702888c159594..b6ed9888d0176 100644 --- a/recipes/openmpi/config.yml +++ b/recipes/openmpi/config.yml @@ -1,3 +1,5 @@ versions: + "4.1.6": + folder: all "4.1.0": folder: all From 177a639d835a043d476b600865309ca30dd11fdb Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 5 Sep 2024 18:33:07 +0900 Subject: [PATCH 475/641] (#25113) fast_float: add version 6.1.5 --- 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 a2e5691cf1b29..a71f0d864046f 100644 --- a/recipes/fast_float/all/conandata.yml +++ b/recipes/fast_float/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "6.1.5": + url: "https://github.com/fastfloat/fast_float/archive/v6.1.5.tar.gz" + sha256: "597126ff5edc3ee59d502c210ded229401a30dafecb96a513135e9719fcad55f" "6.1.4": url: "https://github.com/fastfloat/fast_float/archive/v6.1.4.tar.gz" sha256: "12cb6d250824160ca16bcb9d51f0ca7693d0d10cb444f34f1093bc02acfce704" diff --git a/recipes/fast_float/config.yml b/recipes/fast_float/config.yml index 3234ab8636ae4..58f7867f85a24 100644 --- a/recipes/fast_float/config.yml +++ b/recipes/fast_float/config.yml @@ -1,4 +1,6 @@ versions: + "6.1.5": + folder: all "6.1.4": folder: all "6.1.3": From 87e81b61358f62665c88726d7e59123f4f028766 Mon Sep 17 00:00:00 2001 From: Uilian Ries Date: Thu, 5 Sep 2024 11:42:13 +0200 Subject: [PATCH 476/641] (#25134) [systemc] Re-enable Conan 1.x build Signed-off-by: Uilian Ries --- recipes/systemc/all/conanfile.py | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/recipes/systemc/all/conanfile.py b/recipes/systemc/all/conanfile.py index 60fb8e631adf2..a6161b53eeb5f 100644 --- a/recipes/systemc/all/conanfile.py +++ b/recipes/systemc/all/conanfile.py @@ -1,10 +1,9 @@ -from conan import ConanFile, conan_version +from conan import ConanFile from conan.errors import ConanInvalidConfiguration from conan.tools.apple import is_apple_os from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rmdir from conan.tools.microsoft import is_msvc -from conan.tools.scm import Version import os required_conan_version = ">=1.53.0" @@ -70,15 +69,6 @@ def validate(self): "Building SystemC as a shared library on Windows is currently not supported" ) - if ( - conan_version.major == 1 - and self.settings.compiler == "gcc" - and Version(self.settings.compiler.version) <= "5" - ): - raise ConanInvalidConfiguration( - f"GCC {self.settings.compiler.version} is not supported by SystemC on Conan v1" - ) - def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) From 9a16dcf6d3e8052927c04c09b2b9c559e29d5834 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Thu, 5 Sep 2024 11:53:59 +0200 Subject: [PATCH 477/641] (#25048) eigen: add version cci. 20240315 (pre 3.4.1) * eigen: add version cci. 20240315 (pre 3.4.1) * update naming scheme for cci version * Update config.yml --- recipes/eigen/all/conandata.yml | 3 +++ recipes/eigen/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/eigen/all/conandata.yml b/recipes/eigen/all/conandata.yml index c035b5ceb11c3..5d1bba3ebea60 100644 --- a/recipes/eigen/all/conandata.yml +++ b/recipes/eigen/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.4.0.cci.20240315": + url: "https://gitlab.com/libeigen/eigen/-/archive/9df21dc8b4b576a7aa5c0094daa8d7e8b8be60f0/eigen-9df21dc8b4b576a7aa5c0094daa8d7e8b8be60f0.tar.bz2" + sha256: "bde2e293663204ffd28b788bda9a0b48aeb55d1773a314ea9eb5d440376a5167" "3.4.0": url: "https://gitlab.com/libeigen/eigen/-/archive/3.4.0/eigen-3.4.0.tar.bz2" sha256: "b4c198460eba6f28d34894e3a5710998818515104d6e74e5cc331ce31e46e626" diff --git a/recipes/eigen/config.yml b/recipes/eigen/config.yml index 13a66d304efa9..b667e90e0690b 100644 --- a/recipes/eigen/config.yml +++ b/recipes/eigen/config.yml @@ -1,4 +1,6 @@ versions: + "3.4.0.cci.20240315": + folder: all "3.4.0": folder: all "3.3.9": From cbcad90879760353603a34b682c5beb3eff04f4a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Abril=20Rinc=C3=B3n=20Blanco?= Date: Thu, 5 Sep 2024 12:07:03 +0200 Subject: [PATCH 478/641] Revert "(#25048) eigen: add version cci. 20240315 (pre 3.4.1)" (#25150) This reverts commit 9a16dcf6d3e8052927c04c09b2b9c559e29d5834. --- recipes/eigen/all/conandata.yml | 3 --- recipes/eigen/config.yml | 2 -- 2 files changed, 5 deletions(-) diff --git a/recipes/eigen/all/conandata.yml b/recipes/eigen/all/conandata.yml index 5d1bba3ebea60..c035b5ceb11c3 100644 --- a/recipes/eigen/all/conandata.yml +++ b/recipes/eigen/all/conandata.yml @@ -1,7 +1,4 @@ sources: - "3.4.0.cci.20240315": - url: "https://gitlab.com/libeigen/eigen/-/archive/9df21dc8b4b576a7aa5c0094daa8d7e8b8be60f0/eigen-9df21dc8b4b576a7aa5c0094daa8d7e8b8be60f0.tar.bz2" - sha256: "bde2e293663204ffd28b788bda9a0b48aeb55d1773a314ea9eb5d440376a5167" "3.4.0": url: "https://gitlab.com/libeigen/eigen/-/archive/3.4.0/eigen-3.4.0.tar.bz2" sha256: "b4c198460eba6f28d34894e3a5710998818515104d6e74e5cc331ce31e46e626" diff --git a/recipes/eigen/config.yml b/recipes/eigen/config.yml index b667e90e0690b..13a66d304efa9 100644 --- a/recipes/eigen/config.yml +++ b/recipes/eigen/config.yml @@ -1,6 +1,4 @@ versions: - "3.4.0.cci.20240315": - folder: all "3.4.0": folder: all "3.3.9": From f94df3ce13fb761b463e1140d39a4437ba847b64 Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 5 Sep 2024 19:14:35 +0900 Subject: [PATCH 479/641] (#25116) ada: add version 2.9.2 --- recipes/ada/all/conandata.yml | 3 +++ recipes/ada/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/ada/all/conandata.yml b/recipes/ada/all/conandata.yml index 9dc48dadae03a..d02f03916e176 100644 --- a/recipes/ada/all/conandata.yml +++ b/recipes/ada/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.9.2": + url: "https://github.com/ada-url/ada/archive/v2.9.2.tar.gz" + sha256: "f41575ad7eec833afd9f6a0d6101ee7dc2f947fdf19ae8f1b54a71d59f4ba5ec" "2.9.1": url: "https://github.com/ada-url/ada/archive/v2.9.1.tar.gz" sha256: "64eb3d91db941645d1b68ac8d1cbb7b534fbe446b66c1da11e384e17fca975e7" diff --git a/recipes/ada/config.yml b/recipes/ada/config.yml index e320c36b8f7af..29ab8232ac483 100644 --- a/recipes/ada/config.yml +++ b/recipes/ada/config.yml @@ -1,4 +1,6 @@ versions: + "2.9.2": + folder: all "2.9.1": folder: all "2.9.0": From 8430442149d7d8df06fdb20c146dbf5a9bc9df8e Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 5 Sep 2024 19:30:02 +0900 Subject: [PATCH 480/641] (#25117) librdkafka: add version 2.5.3 --- recipes/librdkafka/all/conandata.yml | 10 ++++++++++ recipes/librdkafka/config.yml | 2 ++ 2 files changed, 12 insertions(+) diff --git a/recipes/librdkafka/all/conandata.yml b/recipes/librdkafka/all/conandata.yml index 921f059de2f9b..8eee4feaf9f9f 100644 --- a/recipes/librdkafka/all/conandata.yml +++ b/recipes/librdkafka/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.5.3": + url: "https://github.com/edenhill/librdkafka/archive/v2.5.3.tar.gz" + sha256: "eaa1213fdddf9c43e28834d9a832d9dd732377d35121e42f875966305f52b8ff" "2.5.0": url: "https://github.com/edenhill/librdkafka/archive/v2.5.0.tar.gz" sha256: "3dc62de731fd516dfb1032861d9a580d4d0b5b0856beb0f185d06df8e6c26259" @@ -18,6 +21,13 @@ sources: url: "https://github.com/edenhill/librdkafka/archive/v1.9.2.tar.gz" sha256: "3fba157a9f80a0889c982acdd44608be8a46142270a389008b22d921be1198ad" patches: + "2.5.3": + - patch_file: patches/0001-Change-library-names-1-9-1.patch + patch_description: "find_package conan packages" + patch_type: "conan" + - patch_file: patches/0002-Change-library-targets-and-result-variables-2-5-0.patch + patch_description: "refer conan package names" + patch_type: "conan" "2.5.0": - patch_file: patches/0001-Change-library-names-1-9-1.patch patch_description: "find_package conan packages" diff --git a/recipes/librdkafka/config.yml b/recipes/librdkafka/config.yml index bd8d716daedb1..eeb9c91785a59 100644 --- a/recipes/librdkafka/config.yml +++ b/recipes/librdkafka/config.yml @@ -1,4 +1,6 @@ versions: + "2.5.3": + folder: all "2.5.0": folder: all "2.4.0": From 6b4726843cbd876b2b42f058f057ad71d072e014 Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 5 Sep 2024 19:50:06 +0900 Subject: [PATCH 481/641] (#25118) itlib: add version 1.11.3 --- recipes/itlib/all/conandata.yml | 3 +++ recipes/itlib/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/itlib/all/conandata.yml b/recipes/itlib/all/conandata.yml index 8191eb04d8685..0e171d0bc94a0 100644 --- a/recipes/itlib/all/conandata.yml +++ b/recipes/itlib/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.11.3": + url: "https://github.com/iboB/itlib/archive/v1.11.3.tar.gz" + sha256: "38999b3c4c2425ac3700529457fb2683d6fa5853752747c3afb97b2e688255b8" "1.11.2": url: "https://github.com/iboB/itlib/archive/v1.11.2.tar.gz" sha256: "bbf734f6084af77a1e886e54e4efadab491ada242f5858afa561353db6a0a03f" diff --git a/recipes/itlib/config.yml b/recipes/itlib/config.yml index de11a9bcfecef..e096818e5b805 100644 --- a/recipes/itlib/config.yml +++ b/recipes/itlib/config.yml @@ -1,4 +1,6 @@ versions: + "1.11.3": + folder: all "1.11.2": folder: all "1.11.1": From 79c67c585a4a9c40ca2cc102b1b7dafd37da9d91 Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 5 Sep 2024 20:10:09 +0900 Subject: [PATCH 482/641] (#25127) glaze: add version 3.3.2 --- recipes/glaze/all/conandata.yml | 3 +++ recipes/glaze/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/glaze/all/conandata.yml b/recipes/glaze/all/conandata.yml index 16c9e4be34193..ea137d22ef4a5 100644 --- a/recipes/glaze/all/conandata.yml +++ b/recipes/glaze/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.3.2": + url: "https://github.com/stephenberry/glaze/archive/v3.3.2.tar.gz" + sha256: "e492d3f662c3c096ce7abac86780af6c84f74c4f19b29223ad92fccc054aafad" "3.3.1": url: "https://github.com/stephenberry/glaze/archive/v3.3.1.tar.gz" sha256: "edb16f7b75bf9a7c86a704c006a9859474e1d49467f8ddeabdc8c3a3d5a982a2" diff --git a/recipes/glaze/config.yml b/recipes/glaze/config.yml index 8d3814ab96f92..8fccd1e8ade2c 100644 --- a/recipes/glaze/config.yml +++ b/recipes/glaze/config.yml @@ -1,4 +1,6 @@ versions: + "3.3.2": + folder: all "3.3.1": folder: all "3.1.9": From 454bfe42953f00b0c5a80a40fff128f1744d03af Mon Sep 17 00:00:00 2001 From: Andrew Marshall Date: Thu, 5 Sep 2024 12:30:14 +0100 Subject: [PATCH 483/641] (#25138) [frozen] add 1.2.0 --- recipes/frozen/all/conandata.yml | 3 +++ recipes/frozen/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/frozen/all/conandata.yml b/recipes/frozen/all/conandata.yml index 4d9b977925cb2..cf0083d308f87 100644 --- a/recipes/frozen/all/conandata.yml +++ b/recipes/frozen/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.2.0": + url: "https://github.com/serge-sans-paille/frozen/archive/1.2.0.tar.gz" + sha256: "ed8339c017d7c5fe019ac2c642477f435278f0dc643c1d69d3f3b1e95915e823" "1.1.1": url: "https://github.com/serge-sans-paille/frozen/archive/1.1.1.tar.gz" sha256: "f7c7075750e8fceeac081e9ef01944f221b36d9725beac8681cbd2838d26be45" diff --git a/recipes/frozen/config.yml b/recipes/frozen/config.yml index 9234b604d8ed1..188555eba6e58 100644 --- a/recipes/frozen/config.yml +++ b/recipes/frozen/config.yml @@ -1,4 +1,6 @@ versions: + "1.2.0": + folder: all "1.1.1": folder: all "1.0.1": From e50cb79d90fef64ce7f448f3f145593ab7072c17 Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Thu, 5 Sep 2024 14:01:41 +0100 Subject: [PATCH 484/641] (#25151) [bot] Update authorized users list (2024-09-05) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Add/remove users to Access Request * Changes --------- Co-authored-by: conan-center-bot Co-authored-by: Abril Rincón Blanco --- .c3i/authorized_users.yml | 5 +++++ .c3i/waitlist_users.yml | 1 + 2 files changed, 6 insertions(+) diff --git a/.c3i/authorized_users.yml b/.c3i/authorized_users.yml index a11a5bb171587..67560358c08e3 100644 --- a/.c3i/authorized_users.yml +++ b/.c3i/authorized_users.yml @@ -1407,3 +1407,8 @@ authorized_users: - mattangus - arnaudmathias - hankhsu1996 +- stephematician +- awest03 +- sun-mir +- fhamonic +- simbahebinbo diff --git a/.c3i/waitlist_users.yml b/.c3i/waitlist_users.yml index ba4e9a78c0fc8..afe5440d065af 100644 --- a/.c3i/waitlist_users.yml +++ b/.c3i/waitlist_users.yml @@ -8,3 +8,4 @@ waitlist_users: - connor-i-clark - NeXuS4Developer - sabapathim +- pixelsoba From 4cb71d3d2a7a0bdfd265cbefbf25ca7054ff2512 Mon Sep 17 00:00:00 2001 From: Kevin Albertson Date: Fri, 6 Sep 2024 09:50:56 +0000 Subject: [PATCH 485/641] (#25124) mongo-c-driver: add version 1.27.6 --- recipes/mongo-c-driver/all/conandata.yml | 3 +++ recipes/mongo-c-driver/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/mongo-c-driver/all/conandata.yml b/recipes/mongo-c-driver/all/conandata.yml index 1d8a512b5a0c7..ad753c1d37bdd 100644 --- a/recipes/mongo-c-driver/all/conandata.yml +++ b/recipes/mongo-c-driver/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.27.6": + url: "https://github.com/mongodb/mongo-c-driver/archive/refs/tags/1.27.6.tar.gz" + sha256: "7dee166dd106e3074582dd107f62815aa29311520149cda52efb69590b2cae7a" "1.27.5": url: "https://github.com/mongodb/mongo-c-driver/archive/refs/tags/1.27.5.tar.gz" sha256: "b90dab0856448c5919c1e04fe8d5a4d80d57779ccf8cf08e3981314a5961973d" diff --git a/recipes/mongo-c-driver/config.yml b/recipes/mongo-c-driver/config.yml index c0eafff1accf2..544d212a2ed90 100644 --- a/recipes/mongo-c-driver/config.yml +++ b/recipes/mongo-c-driver/config.yml @@ -1,4 +1,6 @@ versions: + "1.27.6": + folder: all "1.27.5": folder: all "1.27.4": From d1ce33f2223674567a7bc213fa88351651d05dc9 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Fri, 6 Sep 2024 13:04:28 +0300 Subject: [PATCH 486/641] (#21389) getdns: migrate to Conan v2, bump to v1.7.3 * getdns: migrate to Conan v2 * getdns: bump deps * getdns: bump to 1.7.3, finish migration * getdns: temporarily disable libidn2 * getdns: bump cmake, remove pkg-config * getdns: check that OpenSSL configuration has not failed * getdns: don't need to use cache_variables CMake is 3.20+. * getdns: temporarily print detailed CMake logs * getdns: add Windows system libs * getdns: set CMAKE_TRY_COMPILE_CONFIGURATION * getdns: fix Windows build * getdns: disable libidn2 for now * getdns: fix Windows build * Use CMAKE_PROJECT_INCLUDE Signed-off-by: Uilian Ries * Avoid capturing network on test package Signed-off-by: Uilian Ries * Remove option for gnutls Signed-off-by: Uilian Ries * Remove stub option Signed-off-by: Uilian Ries * Enable libidn2 by default Signed-off-by: Uilian Ries * ignore incompatible pointer type Signed-off-by: Uilian Ries * Import libidn2 defines Signed-off-by: Uilian Ries * Make CMaktoolchain compatible to Conan 1.x Signed-off-by: Uilian Ries * Inject libidn2 defines to executables Signed-off-by: Uilian Ries * Add todo comment for future refactor Signed-off-by: Uilian Ries --------- Signed-off-by: Uilian Ries Co-authored-by: Uilian Ries --- recipes/getdns/all/CMakeLists.txt | 11 - recipes/getdns/all/conan_deps.cmake | 29 + recipes/getdns/all/conandata.yml | 19 +- recipes/getdns/all/conanfile.py | 204 +++--- .../patches/1.6.0-0001-install-runtimes.patch | 33 - ...-0003-let-find-modules-use-pkgconfig.patch | 641 ------------------ ...-0004-dont-install-symlinked-license.patch | 16 - .../all/patches/1.7.3-fix-windows-build.patch | 121 ++++ .../getdns/all/test_package/CMakeLists.txt | 7 +- recipes/getdns/all/test_package/conanfile.py | 21 +- .../getdns/all/test_package/test_package.c | 24 +- .../getdns/all/test_v1_package/CMakeLists.txt | 8 + .../getdns/all/test_v1_package/conanfile.py | 17 + recipes/getdns/config.yml | 2 +- 14 files changed, 305 insertions(+), 848 deletions(-) delete mode 100644 recipes/getdns/all/CMakeLists.txt create mode 100644 recipes/getdns/all/conan_deps.cmake delete mode 100644 recipes/getdns/all/patches/1.6.0-0001-install-runtimes.patch delete mode 100644 recipes/getdns/all/patches/1.6.0-0003-let-find-modules-use-pkgconfig.patch delete mode 100644 recipes/getdns/all/patches/1.6.0-0004-dont-install-symlinked-license.patch create mode 100644 recipes/getdns/all/patches/1.7.3-fix-windows-build.patch create mode 100644 recipes/getdns/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/getdns/all/test_v1_package/conanfile.py diff --git a/recipes/getdns/all/CMakeLists.txt b/recipes/getdns/all/CMakeLists.txt deleted file mode 100644 index f96c6dd4ed727..0000000000000 --- a/recipes/getdns/all/CMakeLists.txt +++ /dev/null @@ -1,11 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(cmake_wrapper) - -include(conanbuildinfo.cmake) -conan_basic_setup() - -if(WIN32) - set(CMAKE_REQUIRED_LIBRARIES ws2_32) -endif() - -add_subdirectory(source_subfolder) diff --git a/recipes/getdns/all/conan_deps.cmake b/recipes/getdns/all/conan_deps.cmake new file mode 100644 index 0000000000000..0925ccf84a265 --- /dev/null +++ b/recipes/getdns/all/conan_deps.cmake @@ -0,0 +1,29 @@ +cmake_minimum_required(VERSION 3.15) +project(cmake_wrapper) + +# Wrapper for find_package() that sets variables in the format expected by the project +macro(custom_find_package name) + find_package(${name} REQUIRED CONFIG + # Allow only Conan packages + NO_DEFAULT_PATH + PATHS ${CMAKE_PREFIX_PATH} + ) + string(TOUPPER ${name} name_upper) + set(${name_upper}_FOUND TRUE) + set(${name_upper}_INCLUDE_DIR ${${name}_INCLUDE_DIR}) + set(${name_upper}_LIBRARIES ${${name}_LIBRARIES}) +endmacro() + +custom_find_package(OpenSSL) +if(BUILD_LIBEV) + custom_find_package(Libev) +endif() +if(BUILD_LIBEVENT2) + custom_find_package(Libevent2) +endif() +if(BUILD_LIBUV) + custom_find_package(Libuv) +endif() +if(USE_LIBIDN2) + custom_find_package(Libidn2) +endif() diff --git a/recipes/getdns/all/conandata.yml b/recipes/getdns/all/conandata.yml index 63656d1d51254..a97e641f541f4 100644 --- a/recipes/getdns/all/conandata.yml +++ b/recipes/getdns/all/conandata.yml @@ -1,14 +1,11 @@ sources: - "1.6.0": - url: "https://getdnsapi.net/dist/getdns-1.6.0.tar.gz" - sha256: "40e5737471a3902ba8304b0fd63aa7c95802f66ebbc6eae53c487c8e8a380f4a" + "1.7.3": + url: "https://getdnsapi.net/dist/getdns-1.7.3.tar.gz" + sha256: "f1404ca250f02e37a118aa00cf0ec2cbe11896e060c6d369c6761baea7d55a2c" patches: - "1.6.0": - - patch_file: "patches/1.6.0-0001-install-runtimes.patch" - base_path: "source_subfolder" + "1.7.3": - patch_file: "patches/1.6.0-0002-fix-exports-extension-libraries.patch" - base_path: "source_subfolder" - - patch_file: "patches/1.6.0-0003-let-find-modules-use-pkgconfig.patch" - base_path: "source_subfolder" - - patch_file: "patches/1.6.0-0004-dont-install-symlinked-license.patch" - base_path: "source_subfolder" + - patch_file: "patches/1.7.3-fix-windows-build.patch" + patch_description: "Fix Windows build" + patch_source: "https://github.com/getdnsapi/getdns/pull/538" + patch_type: "portability" diff --git a/recipes/getdns/all/conanfile.py b/recipes/getdns/all/conanfile.py index a1d7aed1728a6..33e5e1ab9e6c1 100644 --- a/recipes/getdns/all/conanfile.py +++ b/recipes/getdns/all/conanfile.py @@ -1,24 +1,28 @@ -from conans import CMake, ConanFile, tools -from conans.errors import ConanInvalidConfiguration -import glob import os +from conan import ConanFile +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.env import VirtualBuildEnv +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rmdir, rm +from conan.tools.microsoft import is_msvc + +required_conan_version = ">=1.53.0" + class GetDnsConan(ConanFile): name = "getdns" description = "A modern asynchronous DNS API" - topics = "conan", "getdns", "asynchronous", "event" license = "BSD-3-Clause" - homepage = "https://getdnsapi.net/" url = "https://github.com/conan-io/conan-center-index" + homepage = "https://getdnsapi.net/" + topics = ("dns", "asynchronous", "event") + + package_type = "library" settings = "os", "arch", "compiler", "build_type" - exports_sources = "CMakeLists.txt", "patches/**" options = { "shared": [True, False], "fPIC": [True, False], - "tls": [False, "gnutls"], - "stub_only": ["auto", True, False], - "with_libev": ["auto", True, False], + "with_libev": [True, False], "with_libevent": [True, False], "with_libuv": [True, False], "with_libidn2": [True, False], @@ -26,36 +30,15 @@ class GetDnsConan(ConanFile): default_options = { "shared": False, "fPIC": True, - "stub_only": "auto", - "tls": False, - "with_libev": "auto", + "with_libev": True, "with_libevent": True, "with_libuv": True, - "with_libidn2": True, + "with_libidn2": True } - generators = "cmake", "pkg_config", "cmake_find_package" - - _cmake = None - - @property - def _with_libev(self): - if self.options.with_libev == "auto": - return self.settings.os != "Windows" - else: - return self.options.with_libev - - @property - def _stub_only(self): - if self.options.stub_only == "auto": - # FIXME: uncomment the next line when libunbound is available - # return self.settings.os == "Windows" - return True - else: - return self.options.stub_only - - @property - def _source_subfolder(self): - return "source_subfolder" + + def export_sources(self): + export_conandata_patches(self) + copy(self, "conan_deps.cmake", src=self.recipe_folder, dst=os.path.join(self.export_sources_folder, "src")) def config_options(self): if self.settings.os == "Windows": @@ -63,108 +46,119 @@ def config_options(self): def configure(self): if self.options.shared: - del self.options.fPIC - del self.settings.compiler.libcxx - del self.settings.compiler.cppstd + self.options.rm_safe("fPIC") + self.settings.rm_safe("compiler.libcxx") + self.settings.rm_safe("compiler.cppstd") + + def layout(self): + cmake_layout(self, src_folder="src") def requirements(self): - self.requires("openssl/1.1.1j") - if self._with_libev: + self.requires("openssl/[>=1.1 <4]") + if self.options.with_libev: self.requires("libev/4.33") if self.options.with_libevent: self.requires("libevent/2.1.12") if self.options.with_libuv: - self.requires("libuv/1.41.0") + self.requires("libuv/1.48.0") if self.options.with_libidn2: self.requires("libidn2/2.3.0") - if self.options.tls == "gnutls": - self.requires("nettle/3.6") - # FIXME: missing gnutls recipe - raise ConanInvalidConfiguration("gnutls is not (yet) available on cci") - if not self._stub_only: - # FIXME: missing libunbound recipe - raise ConanInvalidConfiguration("libunbound is not (yet) available on cci") def build_requirements(self): - self.build_requires("pkgconf/1.7.3") + self.tool_requires("cmake/[>=3.20 <4]") def source(self): - tools.get(**self.conan_data["sources"][self.version]) - os.rename("getdns-{}".format(self.version), self._source_subfolder) - - def _configure_cmake(self): - if self._cmake: - return self._cmake - self._cmake = CMake(self) - self._cmake.definitions["OPENSSL_USE_STATIC_LIBS"] = not self.options["openssl"].shared - self._cmake.definitions["ENABLE_SHARED"] = self.options.shared - self._cmake.definitions["ENABLE_STATIC"] = not self.options.shared - self._cmake.definitions["ENABLE_STUB_ONLY"] = self._stub_only - self._cmake.definitions["BUILD_LIBEV"] = self._with_libev - self._cmake.definitions["BUILD_LIBEVENT2"] = self.options.with_libevent - self._cmake.definitions["BUILD_LIBUV"] = self.options.with_libuv - self._cmake.definitions["USE_LIBIDN2"] = self.options.with_libidn2 - self._cmake.definitions["USE_GNUTLS"] = self.options.tls == "gnutls" - self._cmake.definitions["BUILD_TESTING"] = False - - self._cmake.configure() - return self._cmake + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + VirtualBuildEnv(self).generate() + + tc = CMakeToolchain(self) + tc.variables["CMAKE_PROJECT_getdns_INCLUDE"] = "conan_deps.cmake" + tc.variables["OPENSSL_USE_STATIC_LIBS"] = not self.dependencies["openssl"].options.shared + tc.variables["ENABLE_SHARED"] = self.options.shared + tc.variables["ENABLE_STATIC"] = not self.options.shared + # INFO: Disabling stub-only requires libunbound + tc.variables["ENABLE_STUB_ONLY"] = True + tc.variables["BUILD_LIBEV"] = self.options.with_libev + tc.variables["BUILD_LIBEVENT2"] = self.options.with_libevent + tc.variables["BUILD_LIBUV"] = self.options.with_libuv + tc.variables["USE_LIBIDN2"] = self.options.with_libidn2 + # INFO: GnuTLS requires libdane support and is not supported by MSVC + tc.variables["USE_GNUTLS"] = False + # Force use of internal strptime when cross-compiling + tc.variables["FORCE_COMPAT_STRPTIME"] = True + tc.variables["BUILD_TESTING"] = False + # To fix OpenSSL try_compile() checks + # https://github.com/conan-io/conan/issues/12180 + tc.variables["CMAKE_TRY_COMPILE_CONFIGURATION"] = str(self.settings.build_type) + if self.settings.compiler in ["clang", "apple-clang"]: + # INFO: https://github.com/getdnsapi/getdns/issues/544 + # TODO: Change to extra_clfags when CCI only uses Conan 2.x + tc.blocks["cmake_flags_init"].template += '\nstring(APPEND CMAKE_C_FLAGS_INIT " -Wno-incompatible-function-pointer-types")' + if self.options.with_libidn2 and is_msvc(self): + # INFO: getdns_static.lib(convert.c.obj): error LNK2019: unresolved external symbol __imp_idn2_lookup_u8 + tc.preprocessor_definitions.update({it: 1 for it in self.dependencies["libidn2"].cpp_info.defines}) + tc.generate() + + deps = CMakeDeps(self) + deps.set_property("libev", "cmake_file_name", "Libev") + deps.set_property("libev", "cmake_target_name", "Libev::Libev") + deps.set_property("libevent", "cmake_file_name", "Libevent2") + deps.set_property("libevent::core", "cmake_target_name", "Libevent2::Libevent_core") + deps.set_property("libidn2", "cmake_file_name", "Libidn2") + deps.set_property("libidn2", "cmake_target_name", "Libidn2::Libidn2") + deps.set_property("libuv", "cmake_file_name", "Libuv") + deps.set_property("libuv", "cmake_target_name", "Libuv::Libuv") + deps.generate() + + def _patch_sources(self): + apply_conandata_patches(self) + rm(self, "Find*.cmake", os.path.join(self.source_folder, "cmake", "modules")) def build(self): - for patch in self.conan_data.get("patches", {}).get(self.version, []): - tools.patch(**patch) - # Use FindOpenSSL.cmake to let check_function_exists succeed - # Remove other cmake modules as they use FindPkgConfig - for fn in glob.glob("Find*cmake"): - if "OpenSSL" not in fn: - os.unlink(fn) - cmake = self._configure_cmake() + self._patch_sources() + cmake = CMake(self) + cmake.configure() cmake.build() def package(self): - self.copy("COPYING", src=self._source_subfolder, dst="licenses") - cmake = self._configure_cmake() + copy(self, "LICENSE", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + cmake = CMake(self) cmake.install() - tools.rmdir(os.path.join(self.package_folder, "lib", "cmake")) - tools.rmdir(os.path.join(self.package_folder, "lib", "pkgconfig")) - tools.rmdir(os.path.join(self.package_folder, "share")) - - def package_id(self): - self.info.options.stub_only = self._stub_only - self.info.options.with_libev = self._with_libev + rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) + rmdir(self, os.path.join(self.package_folder, "share")) def package_info(self): libsuffix = "" - if self.settings.compiler == "Visual Studio" and not self.options.shared: + if is_msvc(self) and not self.options.shared: libsuffix = "_static" - self.cpp_info.components["libgetdns"].libs = ["getdns" + libsuffix] self.cpp_info.components["libgetdns"].includedirs.append(os.path.join("include", "getdns")) - self.cpp_info.components["libgetdns"].names["pkg_config"]= "getdns" + self.cpp_info.components["libgetdns"].set_property("pkg_config_name", "getdns") self.cpp_info.components["libgetdns"].requires = ["openssl::openssl"] if self.options.with_libidn2: self.cpp_info.components["libgetdns"].requires.append("libidn2::libidn2") - if self.options.with_libidn2: - self.cpp_info.components["libgetdns"].requires.append("libidn2::libidn2") - if self.options.tls == "gnutls": - self.cpp_info.components["libgetdns"].requires.extend(["nettle::nettle", "gnutls::gnutls"]) + if self.settings.os == "Windows": + self.cpp_info.components["libgetdns"].system_libs.extend(["ws2_32", "crypt32", "gdi32", "iphlpapi", "psapi", "userenv"]) if self.options.with_libevent: - self.cpp_info.components["dns_ex_event"].libs = ["getdns_ex_event" + libsuffix] - self.cpp_info.components["dns_ex_event"].requires= ["libgetdns", "libevent::libevent"] - self.cpp_info.components["dns_ex_event"].names["pkg_config"]= "getdns_ext_event" + self.cpp_info.components["dns_ext_event"].libs = ["getdns_ext_event" + libsuffix] + self.cpp_info.components["dns_ext_event"].requires = ["libgetdns", "libevent::libevent"] + self.cpp_info.components["dns_ext_event"].set_property("pkg_config_name", "getdns_ext_event") - if self._with_libev: - self.cpp_info.components["dns_ex_ev"].libs = ["getdns_ex_ev" + libsuffix] - self.cpp_info.components["dns_ex_ev"].requires = ["libgetdns", "libev::libev"] - self.cpp_info.components["dns_ex_ev"].names["pkg_config"]= "getdns_ext_ev" + if self.options.with_libev: + self.cpp_info.components["dns_ext_ev"].libs = ["getdns_ext_ev" + libsuffix] + self.cpp_info.components["dns_ext_ev"].requires = ["libgetdns", "libev::libev"] + self.cpp_info.components["dns_ext_ev"].set_property("pkg_config_name", "getdns_ext_ev") if self.options.with_libuv: - self.cpp_info.components["dns_ex_uv"].libs = ["getdns_ex_uv" + libsuffix] - self.cpp_info.components["dns_ex_uv"].requires = ["libgetdns", "libuv::libuv"] - self.cpp_info.components["dns_ex_uv"].names["pkg_config"]= "getdns_ext_uv" + self.cpp_info.components["dns_ext_uv"].libs = ["getdns_ext_uv" + libsuffix] + self.cpp_info.components["dns_ext_uv"].requires = ["libgetdns", "libuv::libuv"] + self.cpp_info.components["dns_ext_uv"].set_property("pkg_config_name", "getdns_ext_uv") + # TODO: Remove after dropping support for Conan 1.x in ConanCenterIndex 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/getdns/all/patches/1.6.0-0001-install-runtimes.patch b/recipes/getdns/all/patches/1.6.0-0001-install-runtimes.patch deleted file mode 100644 index de23061cc40af..0000000000000 --- a/recipes/getdns/all/patches/1.6.0-0001-install-runtimes.patch +++ /dev/null @@ -1,33 +0,0 @@ -Based on https://github.com/getdnsapi/getdns/pull/477 - ---- CMakeLists.txt -+++ CMakeLists.txt -@@ -1055,22 +1055,22 @@ - endif () - endif () - if (ENABLE_SHARED) -- install(TARGETS getdns_shared LIBRARY DESTINATION lib ARCHIVE DESTINATION lib) -+ install(TARGETS getdns_shared LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) - if (USE_LIBEV) -- install(TARGETS getdns_ex_ev_shared LIBRARY DESTINATION lib ARCHIVE DESTINATION lib) -+ install(TARGETS getdns_ex_ev_shared LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) - endif () - if (USE_LIBEVENT2) -- install(TARGETS getdns_ex_event_shared LIBRARY DESTINATION lib ARCHIVE DESTINATION lib) -+ install(TARGETS getdns_ex_event_shared LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) - endif () - if (USE_LIBUV) -- install(TARGETS getdns_ex_uv_shared LIBRARY DESTINATION lib ARCHIVE DESTINATION lib) -+ install(TARGETS getdns_ex_uv_shared LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) - endif () - endif () - if (BUILD_GETDNS_QUERY) -- install(TARGETS getdns_query RUNTIME DESTINATION bin) -+ install(TARGETS getdns_query RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) - endif () - if (BUILD_GETDNS_SERVER_MON) -- install(TARGETS getdns_server_mon RUNTIME DESTINATION bin) -+ install(TARGETS getdns_server_mon RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) - endif () - - install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/getdns DESTINATION include) diff --git a/recipes/getdns/all/patches/1.6.0-0003-let-find-modules-use-pkgconfig.patch b/recipes/getdns/all/patches/1.6.0-0003-let-find-modules-use-pkgconfig.patch deleted file mode 100644 index 9e446cae01b2a..0000000000000 --- a/recipes/getdns/all/patches/1.6.0-0003-let-find-modules-use-pkgconfig.patch +++ /dev/null @@ -1,641 +0,0 @@ ---- CMakeLists.txt -+++ CMakeLists.txt -@@ -659,9 +659,9 @@ - target_include_directories(getdns_objects PRIVATE src/ssl_dane) - set(USE_DANESSL 1) - endif () --if (Libidn_FOUND) -- target_include_directories(getdns_objects PRIVATE ${LIBIDN_INCLUDE_DIR}) --endif () -+#if (Libidn_FOUND) -+# target_include_directories(getdns_objects PRIVATE ${LIBIDN_INCLUDE_DIR}) -+#endif () - if (Libidn2_FOUND) - target_include_directories(getdns_objects PRIVATE ${LIBIDN2_INCLUDE_DIR}) - endif () -@@ -695,9 +695,9 @@ - if (Libunbound_FOUND) - target_link_libraries(getdns PUBLIC Libunbound::Libunbound) - endif () -- if (Libidn_FOUND) -- target_link_libraries(getdns PUBLIC Libidn::Libidn) -- endif () -+# if (Libidn_FOUND) -+# target_link_libraries(getdns PUBLIC Libidn::Libidn) -+# endif () - if (Libidn2_FOUND) - target_link_libraries(getdns PUBLIC Libidn2::Libidn2) - endif () ---- cmake/modules/FindGnuTLS.cmake -+++ cmake/modules/FindGnuTLS.cmake -@@ -30,51 +30,65 @@ - - #]=======================================================================] - --find_path(GNUTLS_INCLUDE_DIR gnutls/gnutls.h -- HINTS -- "${GNUTLS_DIR}" -- "${GNUTLS_DIR}/include" --) -- --find_library(GNUTLS_LIBRARY NAMES gnutls libgnutls -- HINTS -- "${GNUTLS_DIR}" -- "${GNUTLS_DIR}/lib" --) -- --find_library(GNUTLS_DANE_LIBRARY NAMES gnutls-dane libgnutls-dane -- HINTS -- "${GNUTLS_DIR}" -- "${GNUTLS_DIR}/lib" --) -- --set(GNUTLS_LIBRARIES "") -- --if (GNUTLS_INCLUDE_DIR AND GNUTLS_LIBRARY AND GNUTLS_DANE_LIBRARY) -- if (NOT TARGET GnuTLS::GnuTLS) -- add_library(GnuTLS::GnuTLS UNKNOWN IMPORTED) -- set_target_properties(GnuTLS::GnuTLS PROPERTIES -- INTERFACE_INCLUDE_DIRECTORIES "${GNUTLS_INCLUDE_DIR}" -- IMPORTED_LINK_INTERFACE_LANGUAGES "C" -- IMPORTED_LOCATION "${GNUTLS_LIBRARY}" -- ) -- endif () -- if (NOT TARGET GnuTLS::Dane) -- add_library(GnuTLS::Dane UNKNOWN IMPORTED) -- set_target_properties(GnuTLS::Dane PROPERTIES -- INTERFACE_INCLUDE_DIRECTORIES "${GNUTLS_INCLUDE_DIR}" -- IMPORTED_LINK_INTERFACE_LANGUAGES "C" -- IMPORTED_LOCATION "${GNUTLS_DANE_LIBRARY}" -- ) -- endif () -- -- if (NOT GNUTLS_VERSION AND GNUTLS_INCLUDE_DIR) -- file(STRINGS "${GNUTLS_INCLUDE_DIR}/gnutls/gnutls.h" GNUTLS_VER_H REGEX "^#define GNUTLS_VERSION_(MAJOR|MINOR|PATCH) ") -- string(REGEX REPLACE "^.*_MAJOR ([0-9]+).*_MINOR ([0-9]+).*_PATCH ([0-9]+).*$" "\\1.\\2.\\3c" GNUTLS_VERSION "${GNUTLS_VER_H}") -- endif () -+include(FindPkgConfig) -+if(PKG_CONFIG_FOUND) -+ pkg_check_modules(PkgGnuTLS IMPORTED_TARGET GLOBAL QUIET gnutls) -+ pkg_check_modules(PkgGnuTLSDane IMPORTED_TARGET GLOBAL QUIET gnutls-dane) - endif() - --list(APPEND GNUTLS_LIBRARIES "${GNUTLS_LIBRARY}" "${GNUTLS_DANE_LIBRARY}") -+if(PkgGnuTLS_FOUND AND PkgGnuTLSDane_FOUND) -+ set(GNUTLS_INCLUDE_DIR ${PkgGnuTLS_INCLUDE_DIRS} $PkgGnuTLSDane_INCLUDE_DIRS}) -+ set(NETTLE_LIBRARIES ${PkgGnuTLS_LIBRARIES} ${PkgGnuTLSDane_LIBRARIES}) -+ set(NETTLE_VERSION ${PkgGnuTLS_VERSION}) -+ add_library(GnuTLS::GnuTLS ALIAS PkgConfig::PkgGnuTLS) -+ add_library(GnuTLS::Dane ALIAS PkgConfig::PkgGnuTLSDane) -+else() -+ find_path(GNUTLS_INCLUDE_DIR gnutls/gnutls.h -+ HINTS -+ "${GNUTLS_DIR}" -+ "${GNUTLS_DIR}/include" -+ ) -+ -+ find_library(GNUTLS_LIBRARY NAMES gnutls libgnutls -+ HINTS -+ "${GNUTLS_DIR}" -+ "${GNUTLS_DIR}/lib" -+ ) -+ -+ find_library(GNUTLS_DANE_LIBRARY NAMES gnutls-dane libgnutls-dane -+ HINTS -+ "${GNUTLS_DIR}" -+ "${GNUTLS_DIR}/lib" -+ ) -+ -+ set(GNUTLS_LIBRARIES "") -+ -+ if (GNUTLS_INCLUDE_DIR AND GNUTLS_LIBRARY AND GNUTLS_DANE_LIBRARY) -+ if (NOT TARGET GnuTLS::GnuTLS) -+ add_library(GnuTLS::GnuTLS UNKNOWN IMPORTED) -+ set_target_properties(GnuTLS::GnuTLS PROPERTIES -+ INTERFACE_INCLUDE_DIRECTORIES "${GNUTLS_INCLUDE_DIR}" -+ IMPORTED_LINK_INTERFACE_LANGUAGES "C" -+ IMPORTED_LOCATION "${GNUTLS_LIBRARY}" -+ ) -+ endif () -+ if (NOT TARGET GnuTLS::Dane) -+ add_library(GnuTLS::Dane UNKNOWN IMPORTED) -+ set_target_properties(GnuTLS::Dane PROPERTIES -+ INTERFACE_INCLUDE_DIRECTORIES "${GNUTLS_INCLUDE_DIR}" -+ IMPORTED_LINK_INTERFACE_LANGUAGES "C" -+ IMPORTED_LOCATION "${GNUTLS_DANE_LIBRARY}" -+ ) -+ endif () -+ -+ if (NOT GNUTLS_VERSION AND GNUTLS_INCLUDE_DIR) -+ file(STRINGS "${GNUTLS_INCLUDE_DIR}/gnutls/gnutls.h" GNUTLS_VER_H REGEX "^#define GNUTLS_VERSION_(MAJOR|MINOR|PATCH) ") -+ string(REGEX REPLACE "^.*_MAJOR ([0-9]+).*_MINOR ([0-9]+).*_PATCH ([0-9]+).*$" "\\1.\\2.\\3c" GNUTLS_VERSION "${GNUTLS_VER_H}") -+ endif () -+ endif() -+ -+ list(APPEND GNUTLS_LIBRARIES "${GNUTLS_LIBRARY}" "${GNUTLS_DANE_LIBRARY}") -+endif() - - include(FindPackageHandleStandardArgs) - find_package_handle_standard_args(GnuTLS ---- cmake/modules/FindLibevent2.cmake -+++ cmake/modules/FindLibevent2.cmake -@@ -28,37 +28,49 @@ - - #]=======================================================================] - --find_path(LIBEVENT2_INCLUDE_DIR event2/event.h -- HINTS -- "${LIBEVENT2_DIR}" -- "${LIBEVENT2_DIR}/include" --) -- --find_library(LIBEVENT2_LIBRARY NAMES event_core libevent_core -- HINTS -- "${LIBEVENT2_DIR}" -- "${LIBEVENT2_DIR}/lib" --) -- --set(LIBEVENT2_LIBRARIES "") -- --if (LIBEVENT2_INCLUDE_DIR AND LIBEVENT2_LIBRARY) -- if (NOT TARGET Libevent2::Libevent_core) -- add_library(Libevent2::Libevent_core UNKNOWN IMPORTED) -- set_target_properties(Libevent2::Libevent_core PROPERTIES -- INTERFACE_INCLUDE_DIRECTORIES "${LIBEVENT2_INCLUDE_DIR}" -- IMPORTED_LINK_INTERFACE_LANGUAGES "C" -- IMPORTED_LOCATION "${LIBEVENT2_LIBRARY}" -- ) -- endif () -- -- if (NOT LIBEVENT2_VERSION AND LIBEVENT2_INCLUDE_DIR AND EXISTS "${LIBEVENT2_INCLUDE_DIR}/event2/event.h") -- file(STRINGS "${LIBEVENT2_INCLUDE_DIR}/event2/event-config.h" LIBEVENT2_H REGEX "^#define _?EVENT_+VERSION ") -- string(REGEX REPLACE "^.*EVENT_+VERSION \"([^\"]+)\".*$" "\\1" LIBEVENT2_VERSION "${LIBEVENT2_H}") -- endif () -+include(FindPkgConfig) -+if(PKG_CONFIG_FOUND) -+ pkg_check_modules(PkgLibevent IMPORTED_TARGET GLOBAL QUIET libevent>=2) - endif() - --list(APPEND LIBEVENT2_LIBRARIES "${LIBEVENT2_LIBRARY}") -+if(PkgLibevent_FOUND) -+ set(LIBEVENT2_INCLUDE_DIR ${PkgLibevent_INCLUDE_DIRS}) -+ set(LIBEVENT2_LIBRARIES ${PkgLibevent_LIBRARIES}) -+ set(LIBEVENT2_VERSION ${PkgLibevent_VERSION}) -+ add_library(Libevent2::Libevent_core ALIAS PkgConfig::PkgLibevent) -+else() -+ find_path(LIBEVENT2_INCLUDE_DIR event2/event.h -+ HINTS -+ "${LIBEVENT2_DIR}" -+ "${LIBEVENT2_DIR}/include" -+ ) -+ -+ find_library(LIBEVENT2_LIBRARY NAMES event_core libevent_core -+ HINTS -+ "${LIBEVENT2_DIR}" -+ "${LIBEVENT2_DIR}/lib" -+ ) -+ -+ set(LIBEVENT2_LIBRARIES "") -+ -+ if (LIBEVENT2_INCLUDE_DIR AND LIBEVENT2_LIBRARY) -+ if (NOT TARGET Libevent2::Libevent_core) -+ add_library(Libevent2::Libevent_core UNKNOWN IMPORTED) -+ set_target_properties(Libevent2::Libevent_core PROPERTIES -+ INTERFACE_INCLUDE_DIRECTORIES "${LIBEVENT2_INCLUDE_DIR}" -+ IMPORTED_LINK_INTERFACE_LANGUAGES "C" -+ IMPORTED_LOCATION "${LIBEVENT2_LIBRARY}" -+ ) -+ endif () -+ -+ if (NOT LIBEVENT2_VERSION AND LIBEVENT2_INCLUDE_DIR AND EXISTS "${LIBEVENT2_INCLUDE_DIR}/event2/event.h") -+ file(STRINGS "${LIBEVENT2_INCLUDE_DIR}/event2/event-config.h" LIBEVENT2_H REGEX "^#define _?EVENT_+VERSION ") -+ string(REGEX REPLACE "^.*EVENT_+VERSION \"([^\"]+)\".*$" "\\1" LIBEVENT2_VERSION "${LIBEVENT2_H}") -+ endif () -+ endif() -+ -+ list(APPEND LIBEVENT2_LIBRARIES "${LIBEVENT2_LIBRARY}") -+endif() - - include(FindPackageHandleStandardArgs) - find_package_handle_standard_args(Libevent2 ---- cmake/modules/FindLibidn2.cmake -+++ cmake/modules/FindLibidn2.cmake -@@ -28,37 +28,49 @@ - - #]=======================================================================] - --find_path(LIBIDN2_INCLUDE_DIR idn2.h -- HINTS -- "${LIBIDN2_DIR}" -- "${LIBIDN2_DIR}/include" --) -- --find_library(LIBIDN2_LIBRARY NAMES idn2 libidn2 -- HINTS -- "${LIBIDN2_DIR}" -- "${LIBIDN2_DIR}/lib" --) -- --set(LIBIDN2_LIBRARIES "") -- --if (LIBIDN2_INCLUDE_DIR AND LIBIDN2_LIBRARY) -- if (NOT TARGET Libidn2::Libidn2) -- add_library(Libidn2::Libidn2 UNKNOWN IMPORTED) -- set_target_properties(Libidn2::Libidn2 PROPERTIES -- INTERFACE_INCLUDE_DIRECTORIES "${LIBIDN2_INCLUDE_DIR}" -- IMPORTED_LINK_INTERFACE_LANGUAGES "C" -- IMPORTED_LOCATION "${LIBIDN2_LIBRARY}" -+include(FindPkgConfig) -+if(PKG_CONFIG_FOUND) -+ pkg_check_modules(PkgLibIdn2 IMPORTED_TARGET GLOBAL libidn2) -+endif() -+ -+if(PkgLibIdn2_FOUND) -+ set(LIBIDN2_INCLUDE_DIR ${PkgLibIdn2_INCLUDE_DIRS}) -+ set(LIBIDN2_LIBRARIES ${PkgLibIdn2_LIBRARIES}) -+ set(LIBIDN2_VERSION ${PkgLibIdn2_VERSION}) -+ add_library(Libidn2::Libidn2 ALIAS PkgConfig::PkgLibIdn2) -+else() -+ find_path(LIBIDN2_INCLUDE_DIR idn2.h -+ HINTS -+ "${LIBIDN2_DIR}" -+ "${LIBIDN2_DIR}/include" -+ ) -+ -+ find_library(LIBIDN2_LIBRARY NAMES idn2 libidn2 -+ HINTS -+ "${LIBIDN2_DIR}" -+ "${LIBIDN2_DIR}/lib" -+ ) -+ -+ set(LIBIDN2_LIBRARIES "") -+ -+ if (LIBIDN2_INCLUDE_DIR AND LIBIDN2_LIBRARY) -+ if (NOT TARGET Libidn2::Libidn2) -+ add_library(Libidn2::Libidn2 UNKNOWN IMPORTED) -+ set_target_properties(Libidn2::Libidn2 PROPERTIES -+ INTERFACE_INCLUDE_DIRECTORIES "${LIBIDN2_INCLUDE_DIR}" -+ IMPORTED_LINK_INTERFACE_LANGUAGES "C" -+ IMPORTED_LOCATION "${LIBIDN2_LIBRARY}" - ) -- endif () -+ endif () - -- if (NOT LIBIDN2_VERSION AND LIBIDN2_INCLUDE_DIR AND EXISTS "${LIBIDN2_INCLUDE_DIR}/unbound.h") -- file(STRINGS "${LIBIDN2_INCLUDE_DIR}/idn2.h" LIBIDN2_H REGEX "^#define IDN2_VERSION ") -- string(REGEX REPLACE "^.*IDN2_VERSION \"([0-9.]+)\".*$" "\\1" LIBIDN2_VERSION "${LIBIDN2_H}") -- endif () --endif() -+ if (NOT LIBIDN2_VERSION AND LIBIDN2_INCLUDE_DIR AND EXISTS "${LIBIDN2_INCLUDE_DIR}/unbound.h") -+ file(STRINGS "${LIBIDN2_INCLUDE_DIR}/idn2.h" LIBIDN2_H REGEX "^#define IDN2_VERSION ") -+ string(REGEX REPLACE "^.*IDN2_VERSION \"([0-9.]+)\".*$" "\\1" LIBIDN2_VERSION "${LIBIDN2_H}") -+ endif () - --list(APPEND LIBIDN2_LIBRARIES "${LIBIDN2_LIBRARY}") -+ list(APPEND LIBIDN2_LIBRARIES "${LIBIDN2_LIBRARY}") -+ endif() -+endif() - - include(FindPackageHandleStandardArgs) - find_package_handle_standard_args(Libidn2 ---- cmake/modules/FindLibunbound.cmake -+++ cmake/modules/FindLibunbound.cmake -@@ -28,58 +28,70 @@ - - #]=======================================================================] - --find_path(LIBUNBOUND_INCLUDE_DIR unbound.h -- HINTS -- "${LIBUNBOUND_DIR}" -- "${LIBUNBOUND_DIR}/include" --) -- --find_library(LIBUNBOUND_LIBRARY NAMES unbound -- HINTS -- "${LIBUNBOUND_DIR}" -- "${LIBUNBOUND_DIR}/lib" --) -- --set(LIBUNBOUND_LIBRARIES "") -- --if (UNIX) -- find_package(Threads REQUIRED) -- find_package(OpenSSL REQUIRED) -- -- list(APPEND LIBUNBOUND_LIBRARIES "${CMAKE_THREAD_LIBS_INIT}") -- list(APPEND LIBUNBOUND_LIBRARIES "${OPENSSL_LIBRARIES}") -+include(FindPkgConfig) -+if(PKG_CONFIG_FOUND) -+ pkg_check_modules(PkgLibunbound IMPORTED_TARGET GLOBAL QUIET libunbound) - endif() - --if (LIBUNBOUND_INCLUDE_DIR AND LIBUNBOUND_LIBRARY) -- if (NOT TARGET Libunbound::Libunbound) -- add_library(Libunbound::Libunbound UNKNOWN IMPORTED) -- set_target_properties(Libunbound::Libunbound PROPERTIES -- INTERFACE_INCLUDE_DIRECTORIES "${LIBUNBOUND_INCLUDE_DIR}" -- IMPORTED_LINK_INTERFACE_LANGUAGES "C" -- IMPORTED_LOCATION "${LIBUNBOUND_LIBRARY}" -- ) -- -- if(UNIX AND TARGET Threads::Threads) -- set_property(TARGET Libunbound::Libunbound APPEND PROPERTY -- INTERFACE_LINK_LIBRARIES Threads::Threads) -- endif () -- if(UNIX AND TARGET OpenSSL::SSL) -- set_property(TARGET Libunbound::Libunbound APPEND PROPERTY -- INTERFACE_LINK_LIBRARIES OpenSSL::SSL) -+if(PkgLibunbound_FOUND) -+ set(LIBUNBOUND_INCLUDE_DIR ${PkgLibunbound_INCLUDE_DIRS}) -+ set(LIBUNBOUND_LIBRARIES ${PkgLibunbound_LIBRARIES}) -+ set(LIBUNBOUND_VERSION ${PkgLibunbound_VERSION}) -+ add_library(Libunbound::Libunbound ALIAS PkgConfig::PkgLibunbound) -+else() -+ find_path(LIBUNBOUND_INCLUDE_DIR unbound.h -+ HINTS -+ "${LIBUNBOUND_DIR}" -+ "${LIBUNBOUND_DIR}/include" -+ ) -+ -+ find_library(LIBUNBOUND_LIBRARY NAMES unbound -+ HINTS -+ "${LIBUNBOUND_DIR}" -+ "${LIBUNBOUND_DIR}/lib" -+ ) -+ -+ set(LIBUNBOUND_LIBRARIES "") -+ -+ if (UNIX) -+ find_package(Threads REQUIRED) -+ find_package(OpenSSL REQUIRED) -+ -+ list(APPEND LIBUNBOUND_LIBRARIES "${CMAKE_THREAD_LIBS_INIT}") -+ list(APPEND LIBUNBOUND_LIBRARIES "${OPENSSL_LIBRARIES}") -+ endif() -+ -+ if (LIBUNBOUND_INCLUDE_DIR AND LIBUNBOUND_LIBRARY) -+ if (NOT TARGET Libunbound::Libunbound) -+ add_library(Libunbound::Libunbound UNKNOWN IMPORTED) -+ set_target_properties(Libunbound::Libunbound PROPERTIES -+ INTERFACE_INCLUDE_DIRECTORIES "${LIBUNBOUND_INCLUDE_DIR}" -+ IMPORTED_LINK_INTERFACE_LANGUAGES "C" -+ IMPORTED_LOCATION "${LIBUNBOUND_LIBRARY}" -+ ) -+ -+ if(UNIX AND TARGET Threads::Threads) -+ set_property(TARGET Libunbound::Libunbound APPEND PROPERTY -+ INTERFACE_LINK_LIBRARIES Threads::Threads) -+ endif () -+ if(UNIX AND TARGET OpenSSL::SSL) -+ set_property(TARGET Libunbound::Libunbound APPEND PROPERTY -+ INTERFACE_LINK_LIBRARIES OpenSSL::SSL) -+ endif () -+ if(UNIX AND TARGET OpenSSL::Crypto) -+ set_property(TARGET Libunbound::Libunbound APPEND PROPERTY -+ INTERFACE_LINK_LIBRARIES OpenSSL::Crypto) -+ endif () - endif () -- if(UNIX AND TARGET OpenSSL::Crypto) -- set_property(TARGET Libunbound::Libunbound APPEND PROPERTY -- INTERFACE_LINK_LIBRARIES OpenSSL::Crypto) -+ -+ if (NOT LIBUNBOUND_VERSION AND LIBUNBOUND_INCLUDE_DIR AND EXISTS "${LIBUNBOUND_INCLUDE_DIR}/unbound.h") -+ file(STRINGS "${LIBUNBOUND_INCLUDE_DIR}/unbound.h" LIBUNBOUND_H REGEX "^#define UNBOUND_VERSION_M[A-Z]+") -+ string(REGEX REPLACE "^.*MAJOR ([0-9]+).*MINOR ([0-9]+).*MICRO ([0-9]+).*$" "\\1.\\2.\\3" LIBUNBOUND_VERSION "${LIBUNBOUND_H}") - endif () -- endif () -- -- if (NOT LIBUNBOUND_VERSION AND LIBUNBOUND_INCLUDE_DIR AND EXISTS "${LIBUNBOUND_INCLUDE_DIR}/unbound.h") -- file(STRINGS "${LIBUNBOUND_INCLUDE_DIR}/unbound.h" LIBUNBOUND_H REGEX "^#define UNBOUND_VERSION_M[A-Z]+") -- string(REGEX REPLACE "^.*MAJOR ([0-9]+).*MINOR ([0-9]+).*MICRO ([0-9]+).*$" "\\1.\\2.\\3" LIBUNBOUND_VERSION "${LIBUNBOUND_H}") -- endif () --endif() -- --list(APPEND LIBUNBOUND_LIBRARIES "${LIBUNBOUND_LIBRARY}") -+ endif() -+ -+ list(APPEND LIBUNBOUND_LIBRARIES "${LIBUNBOUND_LIBRARY}") -+endif - - include(FindPackageHandleStandardArgs) - find_package_handle_standard_args(Libunbound ---- cmake/modules/FindLibuv.cmake -+++ cmake/modules/FindLibuv.cmake -@@ -28,42 +28,54 @@ - - #]=======================================================================] - --find_path(LIBUV_INCLUDE_DIR uv.h -- HINTS -- "${LIBUV_DIR}" -- "${LIBUV_DIR}/include" --) -- --find_library(LIBUV_LIBRARY NAMES uv libuv -- HINTS -- "${LIBUV_DIR}" -- "${LIBUV_DIR}/lib" --) -- --set(LIBUV_LIBRARIES "") -- --if (LIBUV_INCLUDE_DIR AND LIBUV_LIBRARY) -- if (NOT TARGET Libuv::Libuv) -- add_library(Libuv::Libuv UNKNOWN IMPORTED) -- set_target_properties(Libuv::Libuv PROPERTIES -- INTERFACE_INCLUDE_DIRECTORIES "${LIBUV_INCLUDE_DIR}" -- IMPORTED_LINK_INTERFACE_LANGUAGES "C" -- IMPORTED_LOCATION "${LIBUV_LIBRARY}" -- ) -- endif () -+include(FindPkgConfig) -+if(PKG_CONFIG_FOUND) -+ pkg_check_modules(PkgLibuv IMPORTED_TARGET GLOBAL QUIET libuv) -+endif() - -- if (NOT LIBUV_VERSION AND LIBUV_INCLUDE_DIR) -- if (EXISTS "${LIBUV_INCLUDE_DIR}/uv-version.h") -- file(STRINGS "${LIBUV_INCLUDE_DIR}/uv-version.h" LIBUV_VER_H REGEX "^#define UV_VERSION_(MAJOR|MINOR|PATCH) ") -- elseif (EXISTS "${LIBUV_INCLUDE_DIR}/uv/version.h") -- file(STRINGS "${LIBUV_INCLUDE_DIR}/uv/version.h" LIBUV_VER_H REGEX "^#define UV_VERSION_(MAJOR|MINOR|PATCH) ") -+if(PkgLibuv_FOUND) -+ set(LIBUV_INCLUDE_DIR ${PkgLibuv_INCLUDE_DIRS}) -+ set(LIBUV_LIBRARIES ${PkgLibuv_LIBRARIES}) -+ set(LIBUV_VERSION ${PkgLibuv_VERSION}) -+ add_library(Libuv::Libuv ALIAS PkgConfig::PkgLibuv) -+else() -+ find_path(LIBUV_INCLUDE_DIR uv.h -+ HINTS -+ "${LIBUV_DIR}" -+ "${LIBUV_DIR}/include" -+ ) -+ -+ find_library(LIBUV_LIBRARY NAMES uv libuv -+ HINTS -+ "${LIBUV_DIR}" -+ "${LIBUV_DIR}/lib" -+ ) -+ -+ set(LIBUV_LIBRARIES "") -+ -+ if (LIBUV_INCLUDE_DIR AND LIBUV_LIBRARY) -+ if (NOT TARGET Libuv::Libuv) -+ add_library(Libuv::Libuv UNKNOWN IMPORTED) -+ set_target_properties(Libuv::Libuv PROPERTIES -+ INTERFACE_INCLUDE_DIRECTORIES "${LIBUV_INCLUDE_DIR}" -+ IMPORTED_LINK_INTERFACE_LANGUAGES "C" -+ IMPORTED_LOCATION "${LIBUV_LIBRARY}" -+ ) - endif () -- string(REGEX REPLACE "^.*_MAJOR ([0-9]+).*_MINOR ([0-9]+).*_PATCH ([0-9]+).*$" "\\1.\\2.\\3" LIBUV_VERSION "${LIBUV_VER_H}") -- endif () -+ -+ if (NOT LIBUV_VERSION AND LIBUV_INCLUDE_DIR) -+ if (EXISTS "${LIBUV_INCLUDE_DIR}/uv-version.h") -+ file(STRINGS "${LIBUV_INCLUDE_DIR}/uv-version.h" LIBUV_VER_H REGEX "^#define UV_VERSION_(MAJOR|MINOR|PATCH) ") -+ elseif (EXISTS "${LIBUV_INCLUDE_DIR}/uv/version.h") -+ file(STRINGS "${LIBUV_INCLUDE_DIR}/uv/version.h" LIBUV_VER_H REGEX "^#define UV_VERSION_(MAJOR|MINOR|PATCH) ") -+ endif () -+ string(REGEX REPLACE "^.*_MAJOR ([0-9]+).*_MINOR ([0-9]+).*_PATCH ([0-9]+).*$" "\\1.\\2.\\3" LIBUV_VERSION "${LIBUV_VER_H}") -+ endif () -+ endif() -+ -+ list(APPEND LIBUV_LIBRARIES "${LIBUV_LIBRARY}") - endif() - --list(APPEND LIBUV_LIBRARIES "${LIBUV_LIBRARY}") -- - include(FindPackageHandleStandardArgs) - find_package_handle_standard_args(Libuv - REQUIRED_VARS LIBUV_LIBRARIES LIBUV_INCLUDE_DIR ---- cmake/modules/FindNettle.cmake -+++ cmake/modules/FindNettle.cmake -@@ -30,62 +30,76 @@ - - #]=======================================================================] - --find_path(NETTLE_INCLUDE_DIR nettle/version.h -- HINTS -- "${NETTLE_DIR}" -- "${NETTLE_DIR}/include" --) -- --find_library(NETTLE_LIBRARY NAMES nettle libnettle -- HINTS -- "${NETTLE_DIR}" -- "${NETTLE_DIR}/lib" --) -- --find_library(HOGWEED_LIBRARY NAMES hogweed libhogweed -- HINTS -- "${NETTLE_DIR}" -- "${NETTLE_DIR}/lib" --) -- --set(NETTLE_LIBRARIES "") -- --# May need gmp library on Unix. --if (UNIX) -- find_library(NETTLE_GMP_LIBRARY gmp) -- -- if (NETTLE_GMP_LIBRARY) -- list(APPEND NETTLE_LIBRARIES "${NETTLE_GMP_LIBRARY}") -- endif () --endif () -- --if (NETTLE_INCLUDE_DIR AND NETTLE_LIBRARY AND HOGWEED_LIBRARY) -- if (NOT TARGET Nettle::Nettle) -- add_library(Nettle::Nettle UNKNOWN IMPORTED) -- set_target_properties(Nettle::Nettle PROPERTIES -- INTERFACE_INCLUDE_DIRECTORIES "${NETTLE_INCLUDE_DIR}" -- INTERFACE_LINK_LIBRARIES "${NETTLE_LIBRARIES}" -- IMPORTED_LINK_INTERFACE_LANGUAGES "C" -- IMPORTED_LOCATION "${NETTLE_LIBRARY}" -- ) -- endif () -- if (NOT TARGET Nettle::Hogweed) -- add_library(Nettle::Hogweed UNKNOWN IMPORTED) -- set_target_properties(Nettle::Hogweed PROPERTIES -- INTERFACE_INCLUDE_DIRECTORIES "${NETTLE_INCLUDE_DIR}" -- IMPORTED_LINK_INTERFACE_LANGUAGES "C" -- IMPORTED_LOCATION "${HOGWEED_LIBRARY}" -- ) -- endif () -+include(FindPkgConfig) -+if(PKG_CONFIG_FOUND) -+ pkg_check_modules(PkgNettle IMPORTED_TARGET GLOBAL nettle) -+ pkg_check_modules(PkgHogweed IMPORTED_TARGET GLOBAL QUIET hogweed) -+endif() - -- if (NOT NETTLE_VERSION AND NETTLE_INCLUDE_DIR) -- file(STRINGS "${NETTLE_INCLUDE_DIR}/nettle/version.h" NETTLE_VER_H REGEX "^#define NETTLE_VERSION_(MAJOR|MINOR) ") -- string(REGEX REPLACE "^.*_MAJOR ([0-9]+).*_MINOR ([0-9]+).*$" "\\1.\\2" NETTLE_VERSION "${NETTLE_VER_H}") -+if(PkgNettle_FOUND AND PkHogweed_FOUND) -+ set(NETTLE_INCLUDE_DIR ${PkgNettle_INCLUDE_DIRS} ${PkgHogweed_INCLUDE_DIRS}) -+ set(NETTLE_LIBRARIES ${PkgNettle_LIBRARIES} ${PkgHogweed_LIBRARIES}) -+ set(NETTLE_VERSION ${PkgNettle_VERSION}) -+ add_library(Nettle::Nettle ALIAS PkgConfig::PkgNettle) -+ add_library(Nettle::Hogweed ALIAS PkgConfig::PkgHogweed) -+else() -+ find_path(NETTLE_INCLUDE_DIR nettle/version.h -+ HINTS -+ "${NETTLE_DIR}" -+ "${NETTLE_DIR}/include" -+ ) -+ -+ find_library(NETTLE_LIBRARY NAMES nettle libnettle -+ HINTS -+ "${NETTLE_DIR}" -+ "${NETTLE_DIR}/lib" -+ ) -+ -+ find_library(HOGWEED_LIBRARY NAMES hogweed libhogweed -+ HINTS -+ "${NETTLE_DIR}" -+ "${NETTLE_DIR}/lib" -+ ) -+ -+ set(NETTLE_LIBRARIES "") -+ -+ # May need gmp library on Unix. -+ if (UNIX) -+ find_library(NETTLE_GMP_LIBRARY gmp) -+ -+ if (NETTLE_GMP_LIBRARY) -+ list(APPEND NETTLE_LIBRARIES "${NETTLE_GMP_LIBRARY}") -+ endif () - endif () -+ -+ if (NETTLE_INCLUDE_DIR AND NETTLE_LIBRARY AND HOGWEED_LIBRARY) -+ if (NOT TARGET Nettle::Nettle) -+ add_library(Nettle::Nettle UNKNOWN IMPORTED) -+ set_target_properties(Nettle::Nettle PROPERTIES -+ INTERFACE_INCLUDE_DIRECTORIES "${NETTLE_INCLUDE_DIR}" -+ INTERFACE_LINK_LIBRARIES "${NETTLE_LIBRARIES}" -+ IMPORTED_LINK_INTERFACE_LANGUAGES "C" -+ IMPORTED_LOCATION "${NETTLE_LIBRARY}" -+ ) -+ endif () -+ if (NOT TARGET Nettle::Hogweed) -+ add_library(Nettle::Hogweed UNKNOWN IMPORTED) -+ set_target_properties(Nettle::Hogweed PROPERTIES -+ INTERFACE_INCLUDE_DIRECTORIES "${NETTLE_INCLUDE_DIR}" -+ IMPORTED_LINK_INTERFACE_LANGUAGES "C" -+ IMPORTED_LOCATION "${HOGWEED_LIBRARY}" -+ ) -+ endif () -+ -+ if (NOT NETTLE_VERSION AND NETTLE_INCLUDE_DIR) -+ file(STRINGS "${NETTLE_INCLUDE_DIR}/nettle/version.h" NETTLE_VER_H REGEX "^#define NETTLE_VERSION_(MAJOR|MINOR) ") -+ string(REGEX REPLACE "^.*_MAJOR ([0-9]+).*_MINOR ([0-9]+).*$" "\\1.\\2" NETTLE_VERSION "${NETTLE_VER_H}") -+ endif () -+ endif() -+ -+ list(APPEND NETTLE_LIBRARIES "${NETTLE_LIBRARY}" "${HOGWEED_LIBRARY}") - endif() - --list(APPEND NETTLE_LIBRARIES "${NETTLE_LIBRARY}" "${HOGWEED_LIBRARY}") -- - include(FindPackageHandleStandardArgs) - find_package_handle_standard_args(Nettle - REQUIRED_VARS NETTLE_LIBRARIES NETTLE_INCLUDE_DIR diff --git a/recipes/getdns/all/patches/1.6.0-0004-dont-install-symlinked-license.patch b/recipes/getdns/all/patches/1.6.0-0004-dont-install-symlinked-license.patch deleted file mode 100644 index fadb8d2d20e5f..0000000000000 --- a/recipes/getdns/all/patches/1.6.0-0004-dont-install-symlinked-license.patch +++ /dev/null @@ -1,16 +0,0 @@ -Avoids weird issue on c3i Windows builders: - - CMake Error at source_subfolder/cmake_install.cmake:104 (file): - file INSTALL cannot read symlink - "C:/J/w/cci_PR-2903@2/.conan/data/getdns/1.6.0/_/_/build/dd6d0e14f162a68e24ee52fee674d130eac57dea/source_subfolder/COPYING" - to duplicate at - "C:/J/w/cci_PR-2903@2/.conan/data/getdns/1.6.0/_/_/package/dd6d0e14f162a68e24ee52fee674d130eac57dea/share/doc/getdns/COPYING": - File exists. - Call Stack (most recent call first): - - ---- CMakeLists.txt -+++ CMakeLists.txt -@@ -1080,1 +1080,1 @@ --install(FILES AUTHORS ChangeLog COPYING LICENSE NEWS README.md DESTINATION ${docdir}) -+install(FILES AUTHORS ChangeLog NEWS README.md DESTINATION ${docdir}) diff --git a/recipes/getdns/all/patches/1.7.3-fix-windows-build.patch b/recipes/getdns/all/patches/1.7.3-fix-windows-build.patch new file mode 100644 index 0000000000000..dc0f91e105f96 --- /dev/null +++ b/recipes/getdns/all/patches/1.7.3-fix-windows-build.patch @@ -0,0 +1,121 @@ +From bfd53d3cc3afbf199fa27f74bf4b35c1ad955c2e Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Rados=C5=82aw=20Szkodzi=C5=84ski?= +Date: Tue, 3 Jan 2023 14:14:07 +0100 +Subject: [PATCH] Fix Windows build + +Fixes all found instances of missing APIs and headers on Windows. +--- + src/anchor.c | 12 ++++++++++++ + src/compat/mkstemp.c | 6 +++--- + src/gldns/parse.c | 2 +- + src/gldns/parseutil.c | 2 ++ + src/stub.c | 5 +++++ + 5 files changed, 23 insertions(+), 4 deletions(-) + +diff --git a/src/anchor.c b/src/anchor.c +index f50c4a3d1..fc357b649 100644 +--- a/src/anchor.c ++++ b/src/anchor.c +@@ -551,7 +551,11 @@ static void tas_rinse(getdns_context *context, tas_connection *a) + GETDNS_CLEAR_EVENT(a->loop, &a->event); + a->event.ev = NULL; + if (a->fd >= 0) ++#ifdef USE_WINSOCK ++ closesocket(a->fd); ++#else + close(a->fd); ++#endif + a->fd = -1; + if (a->xml.data) + GETDNS_FREE(context->mf, a->xml.data); +@@ -662,7 +666,11 @@ static void tas_reconnect_cb(void *userarg) + , "Waiting for second document timeout. Reconnecting...\n"); + + GETDNS_CLEAR_EVENT(a->loop, &a->event); ++#ifdef USE_WINSOCK ++ closesocket(a->fd); ++#else + close(a->fd); ++#endif + a->fd = -1; + if (a->state == TAS_READ_PS7_HDR) { + a->state = TAS_RETRY; +@@ -778,7 +786,11 @@ static void tas_read_cb(void *userarg) + if (n == 0) { + DEBUG_ANCHOR("Connection closed\n"); + GETDNS_CLEAR_EVENT(a->loop, &a->event); ++#ifdef USE_WINSOCK ++ closesocket(a->fd); ++#else + close(a->fd); ++#endif + a->fd = -1; + if (a->state == TAS_READ_PS7_HDR) { + a->state = TAS_RETRY; +diff --git a/src/compat/mkstemp.c b/src/compat/mkstemp.c +index 49d3e919a..86d1dfd67 100644 +--- a/src/compat/mkstemp.c ++++ b/src/compat/mkstemp.c +@@ -30,14 +30,14 @@ + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +-#include +-#include + #include ++#include + #include ++#include + + int mkstemp(char *template) + { + if (_mktemp_s(template, strlen(template) + 1) != 0) + return -1; +- return open(template, _O_CREAT | _O_EXCL | _O_RDWR, _S_IWRITE | _S_IREAD); ++ return _open(template, _O_CREAT | _O_EXCL | _O_RDWR, _S_IWRITE | _S_IREAD); + } +diff --git a/src/gldns/parse.c b/src/gldns/parse.c +index 367fa80f3..c107c0df9 100644 +--- a/src/gldns/parse.c ++++ b/src/gldns/parse.c +@@ -13,7 +13,7 @@ + #include "gldns/gbuffer.h" + + #include +-#include ++#include + + gldns_lookup_table gldns_directive_types[] = { + { GLDNS_DIR_TTL, "$TTL" }, +diff --git a/src/gldns/parseutil.c b/src/gldns/parseutil.c +index 293496a90..1e4367898 100644 +--- a/src/gldns/parseutil.c ++++ b/src/gldns/parseutil.c +@@ -14,7 +14,9 @@ + + #include "config.h" + #include "gldns/parseutil.h" ++#ifdef HAVE_SYS_TIME_H + #include ++#endif + #include + #include + +diff --git a/src/stub.c b/src/stub.c +index ee3193126..ab393885d 100644 +--- a/src/stub.c ++++ b/src/stub.c +@@ -903,8 +903,13 @@ stub_tcp_write(int fd, getdns_tcp_state *tcp, getdns_network_req *netreq) + just fall back to a 'normal' write. */ + if (written == -1 + && _getdns_socketerror() == _getdns_EISCONN) ++#ifdef USE_WINSOCK ++ written = send(fd, (const char *)(netreq->query - 2) ++ , pkt_len + 2, 0); ++#else + written = write(fd, netreq->query - 2 + , pkt_len + 2); ++#endif + } else + written = send(fd, (const char *)(netreq->query - 2) + , pkt_len + 2, 0); diff --git a/recipes/getdns/all/test_package/CMakeLists.txt b/recipes/getdns/all/test_package/CMakeLists.txt index 3a403dc404b41..e78d760c7b17a 100644 --- a/recipes/getdns/all/test_package/CMakeLists.txt +++ b/recipes/getdns/all/test_package/CMakeLists.txt @@ -1,8 +1,7 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(test_package C) -include("${CMAKE_BINARY_DIR}/conanbuildinfo.cmake") -conan_basic_setup() +find_package(getdns REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.c) -target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS}) +target_link_libraries(${PROJECT_NAME} PRIVATE getdns::getdns) diff --git a/recipes/getdns/all/test_package/conanfile.py b/recipes/getdns/all/test_package/conanfile.py index bd7165a553cf4..ef5d7042163ec 100644 --- a/recipes/getdns/all/test_package/conanfile.py +++ b/recipes/getdns/all/test_package/conanfile.py @@ -1,10 +1,19 @@ -from conans import ConanFile, CMake, tools +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake import os class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake" + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): cmake = CMake(self) @@ -12,6 +21,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self.settings): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/getdns/all/test_package/test_package.c b/recipes/getdns/all/test_package/test_package.c index c55c14f559026..b60140d92b44b 100644 --- a/recipes/getdns/all/test_package/test_package.c +++ b/recipes/getdns/all/test_package/test_package.c @@ -1,26 +1,10 @@ #include "getdns.h" -#include #include -#define CHECK(V) if ((V) != GETDNS_RETURN_GOOD) { \ - fprintf(stderr, "Fail: " #V "!\n"); \ - return 1; \ -} - -int main() -{ - getdns_context *context; - CHECK(getdns_context_create(&context, 1)); - getdns_dict *info = getdns_context_get_api_information(context); - if (info == NULL) { - fprintf(stderr, "Could not get api information\n"); - return 1; - } - char *txt = getdns_pretty_print_dict(info); - printf("%s\n", txt); - free(txt); - getdns_dict_destroy(info); +int main() { + getdns_context *context = NULL; + getdns_context_create(&context, 0); getdns_context_destroy(context); - return 0; + return EXIT_SUCCESS; } diff --git a/recipes/getdns/all/test_v1_package/CMakeLists.txt b/recipes/getdns/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/getdns/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/getdns/all/test_v1_package/conanfile.py b/recipes/getdns/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..7e2dfe859bb27 --- /dev/null +++ b/recipes/getdns/all/test_v1_package/conanfile.py @@ -0,0 +1,17 @@ +from conans import ConanFile, CMake, tools +import os + + +class TestPackageConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self.settings): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) diff --git a/recipes/getdns/config.yml b/recipes/getdns/config.yml index 10acb3ad5b1e8..e14fae48c780f 100644 --- a/recipes/getdns/config.yml +++ b/recipes/getdns/config.yml @@ -1,3 +1,3 @@ versions: - "1.6.0": + "1.7.3": folder: "all" From bd3902c331da7143e111f75d5d3657542133b6ed Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 6 Sep 2024 19:31:06 +0900 Subject: [PATCH 487/641] (#25128) cpp-peglib: add version 1.9.0 --- recipes/cpp-peglib/1.x.x/conandata.yml | 3 +++ recipes/cpp-peglib/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/cpp-peglib/1.x.x/conandata.yml b/recipes/cpp-peglib/1.x.x/conandata.yml index 7aa81fd5b52ff..8c4317d3da7ef 100644 --- a/recipes/cpp-peglib/1.x.x/conandata.yml +++ b/recipes/cpp-peglib/1.x.x/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.9.0": + url: "https://github.com/yhirose/cpp-peglib/archive/v1.9.0.tar.gz" + sha256: "6f4f0956ea2f44fd1c5882f8adc5782451ba9d227c467d214196390ddedb024c" "1.8.8": url: "https://github.com/yhirose/cpp-peglib/archive/v1.8.8.tar.gz" sha256: "3019d8084a146562fe2fd4c71e3226ac6e3994e8cee21cab27b3cd5a86bcef34" diff --git a/recipes/cpp-peglib/config.yml b/recipes/cpp-peglib/config.yml index 81349971ce40f..a8b6a2fd0565c 100644 --- a/recipes/cpp-peglib/config.yml +++ b/recipes/cpp-peglib/config.yml @@ -1,4 +1,6 @@ versions: + "1.9.0": + folder: "1.x.x" "1.8.8": folder: "1.x.x" "1.8.7": From 70f64a216bdec2171dfa0a89c4e8d986a2668c3b Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 6 Sep 2024 19:52:34 +0900 Subject: [PATCH 488/641] (#25129) intx: add version 0.12.0 --- recipes/intx/all/conandata.yml | 3 +++ recipes/intx/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/intx/all/conandata.yml b/recipes/intx/all/conandata.yml index c353b5bd5861f..5e7cb7a5f366d 100644 --- a/recipes/intx/all/conandata.yml +++ b/recipes/intx/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.12.0": + url: "https://github.com/chfast/intx/archive/v0.12.0.tar.gz" + sha256: "d68ff5dde9a2f340c73be67888f3f72bb18a2ad30aa16cd663ec3bc611afc9b4" "0.11.0": url: "https://github.com/chfast/intx/archive/v0.11.0.tar.gz" sha256: "bff2a78e3a9a3b9bbabf50500feae65bc0ec50a2364f4a83768277d6eba7a844" diff --git a/recipes/intx/config.yml b/recipes/intx/config.yml index 94a2676b93212..85ca9aa067b7a 100644 --- a/recipes/intx/config.yml +++ b/recipes/intx/config.yml @@ -1,4 +1,6 @@ versions: + "0.12.0": + folder: all "0.11.0": folder: all "0.10.1": From 6cd4e9f012b54e4e860829b36b7eaadfc82c3932 Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 6 Sep 2024 20:13:55 +0900 Subject: [PATCH 489/641] (#25130) roaring: add version 4.1.2 --- recipes/roaring/all/conandata.yml | 3 +++ recipes/roaring/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/roaring/all/conandata.yml b/recipes/roaring/all/conandata.yml index 4b22213f390c1..cc860b4e0343e 100644 --- a/recipes/roaring/all/conandata.yml +++ b/recipes/roaring/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "4.1.2": + url: "https://github.com/RoaringBitmap/CRoaring/archive/refs/tags/v4.1.2.tar.gz" + sha256: "dd9e9d9a28dcf9ba1622fb4a3a7b4d7f5e12732bb35e99a7cb028b7512731a7b" "4.1.1": url: "https://github.com/RoaringBitmap/CRoaring/archive/refs/tags/v4.1.1.tar.gz" sha256: "42804cc2bb5c9279ec4fcaa56d2d6b389da934634abcce8dbc4e4c1d60e1468d" diff --git a/recipes/roaring/config.yml b/recipes/roaring/config.yml index 36112c3ea8ab6..6265b94ca9cbf 100644 --- a/recipes/roaring/config.yml +++ b/recipes/roaring/config.yml @@ -1,4 +1,6 @@ versions: + "4.1.2": + folder: all "4.1.1": folder: all "4.1.0": From bcf07fefaf27c19cf2530d038fc73a7221e6e54d Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 6 Sep 2024 20:31:23 +0900 Subject: [PATCH 490/641] (#25154) c-ares: add version 1.33.1 --- recipes/c-ares/all/conandata.yml | 3 +++ recipes/c-ares/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/c-ares/all/conandata.yml b/recipes/c-ares/all/conandata.yml index 6945ba0452847..a67dccf1e1ee5 100644 --- a/recipes/c-ares/all/conandata.yml +++ b/recipes/c-ares/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.33.1": + url: "https://github.com/c-ares/c-ares/releases/download/v1.33.1/c-ares-1.33.1.tar.gz" + sha256: "06869824094745872fa26efd4c48e622b9bd82a89ef0ce693dc682a23604f415" "1.33.0": url: "https://github.com/c-ares/c-ares/releases/download/v1.33.0/c-ares-1.33.0.tar.gz" sha256: "3e41df2f172041eb4ecb754a464c11ccc5046b2a1c8b1d6a40dac45d3a3b2346" diff --git a/recipes/c-ares/config.yml b/recipes/c-ares/config.yml index 9cfeb7e016eec..16fb0dfe22209 100644 --- a/recipes/c-ares/config.yml +++ b/recipes/c-ares/config.yml @@ -1,4 +1,6 @@ versions: + "1.33.1": + folder: all "1.33.0": folder: all "1.32.3": From 9c735da2eaf79848daa816742d4425035f24e516 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Fri, 6 Sep 2024 14:51:11 +0300 Subject: [PATCH 491/641] (#25163) hwloc: add v2.11.1 --- recipes/hwloc/all/conandata.yml | 3 +++ recipes/hwloc/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/hwloc/all/conandata.yml b/recipes/hwloc/all/conandata.yml index 1f50c80dd4055..98b2b2bec0fbe 100644 --- a/recipes/hwloc/all/conandata.yml +++ b/recipes/hwloc/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.11.1": + url: "https://download.open-mpi.org/release/hwloc/v2.11/hwloc-2.11.1.tar.bz2" + sha256: "04cdfbffad225ce15f66184f0f4141327dabf288d10a8b84d13f517acb7870c6" "2.10.0": url: "https://download.open-mpi.org/release/hwloc/v2.10/hwloc-2.10.0.tar.bz2" sha256: "0305dd60c9de2fbe6519fe2a4e8fdc6d3db8de574a0ca7812b92e80c05ae1392" diff --git a/recipes/hwloc/config.yml b/recipes/hwloc/config.yml index 2da6ef856dca9..c94edb0b5eb63 100644 --- a/recipes/hwloc/config.yml +++ b/recipes/hwloc/config.yml @@ -1,4 +1,6 @@ versions: + "2.11.1": + folder: all "2.10.0": folder: all "2.9.3": From fafd26b65909feacb46fc7dd26f3d51f0deed335 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Fri, 6 Sep 2024 23:11:46 +0300 Subject: [PATCH 492/641] (#25167) gobject-introspection: add v2.78.1 --- recipes/gobject-introspection/all/conandata.yml | 3 +++ recipes/gobject-introspection/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/gobject-introspection/all/conandata.yml b/recipes/gobject-introspection/all/conandata.yml index 79e718c479400..4203b61eacd08 100644 --- a/recipes/gobject-introspection/all/conandata.yml +++ b/recipes/gobject-introspection/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.78.1": + url: "https://download.gnome.org/sources/gobject-introspection/1.78/gobject-introspection-1.78.1.tar.xz" + sha256: "bd7babd99af7258e76819e45ba4a6bc399608fe762d83fde3cac033c50841bb4" "1.72.0": url: "https://download.gnome.org/sources/gobject-introspection/1.72/gobject-introspection-1.72.0.tar.xz" sha256: "02fe8e590861d88f83060dd39cda5ccaa60b2da1d21d0f95499301b186beaabc" diff --git a/recipes/gobject-introspection/config.yml b/recipes/gobject-introspection/config.yml index 630625eb6d118..42a826aff4ed3 100644 --- a/recipes/gobject-introspection/config.yml +++ b/recipes/gobject-introspection/config.yml @@ -1,3 +1,5 @@ versions: + "1.78.1": + folder: all "1.72.0": folder: all From 90ae52b4a83d5742a11fe328b8d8f1272ffe6f62 Mon Sep 17 00:00:00 2001 From: Rob Boehne Date: Mon, 9 Sep 2024 00:51:15 -0700 Subject: [PATCH 493/641] (#25142) [expxat] Add expat version 2.6.3 Three CVEs have been fixed in this version according to the ChangeLog https://github.com/libexpat/libexpat/blob/R_2_6_3/expat/Changes --- recipes/expat/all/conandata.yml | 3 +++ recipes/expat/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/expat/all/conandata.yml b/recipes/expat/all/conandata.yml index f010a588a6317..70a835971e10a 100644 --- a/recipes/expat/all/conandata.yml +++ b/recipes/expat/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.6.3": + url: "https://github.com/libexpat/libexpat/releases/download/R_2_6_3/expat-2.6.3.tar.xz" + sha256: "274db254a6979bde5aad404763a704956940e465843f2a9bd9ed7af22e2c0efc" "2.6.2": url: "https://github.com/libexpat/libexpat/releases/download/R_2_6_2/expat-2.6.2.tar.xz" sha256: "ee14b4c5d8908b1bec37ad937607eab183d4d9806a08adee472c3c3121d27364" diff --git a/recipes/expat/config.yml b/recipes/expat/config.yml index ee86cf4cc73ee..14651d18d6467 100644 --- a/recipes/expat/config.yml +++ b/recipes/expat/config.yml @@ -1,4 +1,6 @@ versions: + "2.6.3": + folder: all "2.6.2": folder: all "2.6.0": From ad200aef7d166e2b617c39fbeb6e054cdc44c668 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 9 Sep 2024 17:12:26 +0900 Subject: [PATCH 494/641] (#25146) simdutf: add version 5.5.0 --- recipes/simdutf/all/conandata.yml | 3 +++ recipes/simdutf/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/simdutf/all/conandata.yml b/recipes/simdutf/all/conandata.yml index 33d65c8affb8e..b7901ec89c9c1 100644 --- a/recipes/simdutf/all/conandata.yml +++ b/recipes/simdutf/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "5.5.0": + url: "https://github.com/simdutf/simdutf/archive/v5.5.0.tar.gz" + sha256: "47090a770b8eecf610ac4d1fafadde60bb7ba3c9d576d2a3a545aba989a3d749" "5.4.15": url: "https://github.com/simdutf/simdutf/archive/v5.4.15.tar.gz" sha256: "188a9516ee208659cab9a1e5063c1b8385d63d171c2381e9ce18af97936d9879" diff --git a/recipes/simdutf/config.yml b/recipes/simdutf/config.yml index e9481de774965..f002a2c442833 100644 --- a/recipes/simdutf/config.yml +++ b/recipes/simdutf/config.yml @@ -1,4 +1,6 @@ versions: + "5.5.0": + folder: all "5.4.15": folder: all "5.3.7": From 7ef9f51fd9602f3b71521d0cda46bb97efd8d6af Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 9 Sep 2024 17:30:47 +0900 Subject: [PATCH 495/641] (#25149) plutovg: add version 0.0.4 * plutovg: add version 0.0.2 * update 0.0.3 * update 0.0.4 --- recipes/plutovg/all/conandata.yml | 3 +++ recipes/plutovg/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/plutovg/all/conandata.yml b/recipes/plutovg/all/conandata.yml index 6ca1f29254c5b..fa45839bc7646 100644 --- a/recipes/plutovg/all/conandata.yml +++ b/recipes/plutovg/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.0.4": + url: "https://github.com/sammycage/plutovg/archive/refs/tags/v0.0.4.tar.gz" + sha256: "6d7c6ad1ef3cf0085e0a375b770590a8cea79d4754b732e892635639c5546076" "0.0.1": url: "https://github.com/sammycage/plutovg/archive/refs/tags/v0.0.1.tar.gz" sha256: "593653d226dd54dc322bc0874c19bd0a80314b5471ae4da6b9cd9e12211e3261" diff --git a/recipes/plutovg/config.yml b/recipes/plutovg/config.yml index f6f5b5679b9d4..e1a4f8d935403 100644 --- a/recipes/plutovg/config.yml +++ b/recipes/plutovg/config.yml @@ -1,3 +1,5 @@ versions: + "0.0.4": + folder: all "0.0.1": folder: all From 6dcd51120e77bb2cd356296689c0ca97175c5741 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 9 Sep 2024 19:51:48 +0900 Subject: [PATCH 496/641] (#25174) s2n: add version 1.5.2 --- recipes/s2n/all/conandata.yml | 3 +++ recipes/s2n/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/s2n/all/conandata.yml b/recipes/s2n/all/conandata.yml index 9610b0698a59d..b9eb147f98b56 100644 --- a/recipes/s2n/all/conandata.yml +++ b/recipes/s2n/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.5.2": + url: "https://github.com/aws/s2n-tls/archive/refs/tags/v1.5.2.tar.gz" + sha256: "896d9f8f8e9bd2fdcb9a21b18aede4f7afc65bde279afabc60abf97fa5069dd1" "1.5.1": url: "https://github.com/aws/s2n-tls/archive/refs/tags/v1.5.1.tar.gz" sha256: "d79710d6ef089097a3b84fc1e5cec2f08d1ec46e93b1d400df59fcfc859e15a3" diff --git a/recipes/s2n/config.yml b/recipes/s2n/config.yml index 82f81d966dc96..760e55c793225 100644 --- a/recipes/s2n/config.yml +++ b/recipes/s2n/config.yml @@ -1,4 +1,6 @@ versions: + "1.5.2": + folder: all "1.5.1": folder: all "1.5.0": From eed82e59dbf46e0668120286d476c42d1dee36cf Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 10 Sep 2024 00:32:27 +0900 Subject: [PATCH 497/641] (#25160) cpp-httplib: add version 0.17.3 * cpp-httplib: add version 0.17.2 * update 0.17.3 --- recipes/cpp-httplib/all/conandata.yml | 3 +++ recipes/cpp-httplib/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/cpp-httplib/all/conandata.yml b/recipes/cpp-httplib/all/conandata.yml index fa03b514810a3..d3693f4478c4c 100644 --- a/recipes/cpp-httplib/all/conandata.yml +++ b/recipes/cpp-httplib/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.17.3": + url: "https://github.com/yhirose/cpp-httplib/archive/v0.17.3.tar.gz" + sha256: "95bd6dba4241656c59d6f0854d408d14c220f7c71e673319ee27d30aee741aaa" "0.17.1": url: "https://github.com/yhirose/cpp-httplib/archive/v0.17.1.tar.gz" sha256: "044c5a233da242e981d9543dd136a5945e0549c5641a0373934db88bbd192f41" diff --git a/recipes/cpp-httplib/config.yml b/recipes/cpp-httplib/config.yml index 59063860159ad..992888a540248 100644 --- a/recipes/cpp-httplib/config.yml +++ b/recipes/cpp-httplib/config.yml @@ -1,4 +1,6 @@ versions: + "0.17.3": + folder: all "0.17.1": folder: all "0.16.3": From 0cd6253684a877894d9220dcaa4f064f2b3222fe Mon Sep 17 00:00:00 2001 From: Martin Delille Date: Mon, 9 Sep 2024 17:50:08 +0200 Subject: [PATCH 498/641] (#24720) [sentry-native] Add 0.7.8 * [sentry-native] Add 0.7.7 * Remove 0.7.4 * Use cpp 20 for 0.7.7 and above * Set apple-clang minimal version one time * Minor formatting fix * Bump to 0.7.8 instead of 0.7.7 * Revert compiler related changes * cpp20 for native-sentry 0.7.8 * Add compiler version required for version 0.7.8 Signed-off-by: Uilian Ries --------- Signed-off-by: Uilian Ries Co-authored-by: Ernesto de Gracia Herranz Co-authored-by: Uilian Ries --- recipes/sentry-native/all/conandata.yml | 6 +++--- recipes/sentry-native/all/conanfile.py | 23 ++++++++++++++++++----- recipes/sentry-native/config.yml | 4 ++-- 3 files changed, 23 insertions(+), 10 deletions(-) diff --git a/recipes/sentry-native/all/conandata.yml b/recipes/sentry-native/all/conandata.yml index 9e305b2ec5e67..12d9363d69381 100644 --- a/recipes/sentry-native/all/conandata.yml +++ b/recipes/sentry-native/all/conandata.yml @@ -1,13 +1,13 @@ sources: + "0.7.8": + url: "https://github.com/getsentry/sentry-native/releases/download/0.7.8/sentry-native.zip" + sha256: "7cfde453866edf4ae7991f4300fc08a5cb4e6d679d31011ff93b4cfe5e3e5d8a" "0.7.6": url: "https://github.com/getsentry/sentry-native/releases/download/0.7.6/sentry-native.zip" sha256: "42180ad933a3a2bd86a1649ed0f1a41df20e783ce17c5cb1f86775f7caf06bc1" "0.7.5": url: "https://github.com/getsentry/sentry-native/releases/download/0.7.5/sentry-native.zip" sha256: "d9f1b44753fae3e9462aa1e6fd3021cb0ff2f51c1a1fa02b34510e3bc311f429" - "0.7.4": - url: "https://github.com/getsentry/sentry-native/releases/download/0.7.4/sentry-native.zip" - sha256: "9d17961d91c845ad8eb6f5106b2f5930f24a6e64077d7432013d4b379a8db7ac" "0.6.6": url: "https://github.com/getsentry/sentry-native/releases/download/0.6.6/sentry-native.zip" sha256: "7a98467c0b2571380a3afc5e681cb13aa406a709529be12d74610b0015ccde0c" diff --git a/recipes/sentry-native/all/conanfile.py b/recipes/sentry-native/all/conanfile.py index 2f31f5efdc35b..569658beb597f 100644 --- a/recipes/sentry-native/all/conanfile.py +++ b/recipes/sentry-native/all/conanfile.py @@ -1,3 +1,5 @@ +import os + from conan import ConanFile from conan.errors import ConanInvalidConfiguration from conan.tools.apple import is_apple_os @@ -5,9 +7,7 @@ from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout from conan.tools.env import VirtualBuildEnv from conan.tools.files import copy, get, rm, rmdir -from conan.tools.microsoft import is_msvc from conan.tools.scm import Version -import os required_conan_version = ">=1.55.0" @@ -35,7 +35,7 @@ class SentryNativeConan(ConanFile): "with_crashpad": ["google", "sentry"], "crashpad_with_tls": ["openssl", False], "with_breakpad": ["google", "sentry"], - "wer" : [True, False], + "wer": [True, False], } default_options = { "shared": False, @@ -46,15 +46,28 @@ class SentryNativeConan(ConanFile): "with_crashpad": "sentry", "crashpad_with_tls": "openssl", "with_breakpad": "sentry", - "wer": False + "wer": False, } @property def _min_cppstd(self): - return "17" + if Version(self.version) >= "0.7.8" and self.options.get_safe("with_crashpad") == "sentry": + return "20" + else: + return "17" @property def _minimum_compilers_version(self): + if Version(self.version) >= "0.7.8" and self.options.get_safe("with_crashpad") == "sentry": + # Sentry-native 0.7.8 requires C++20: Concepts and bit_cast + # https://github.com/chromium/mini_chromium/blob/e49947ad445c4ed4bc1bb4ed60bbe0fe17efe6ec/base/numerics/byte_conversions.h#L88 + return { + "Visual Studio": "16", + "msvc": "192", + "gcc": "11", + "clang": "14", + "apple-clang": "14", + } minimum_gcc_version = "5" if self.options.get_safe("backend") == "breakpad" or self.options.get_safe("backend") == "crashpad": minimum_gcc_version = "7" diff --git a/recipes/sentry-native/config.yml b/recipes/sentry-native/config.yml index 5e508311ba38c..4abee834d6ecf 100644 --- a/recipes/sentry-native/config.yml +++ b/recipes/sentry-native/config.yml @@ -1,10 +1,10 @@ versions: + "0.7.8": + folder: all "0.7.6": folder: all "0.7.5": folder: all - "0.7.4": - folder: all "0.6.6": folder: all "0.5.4": From f30ecae7a57e70dd21fe5678d096e35815165ef2 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Mon, 9 Sep 2024 21:23:44 +0300 Subject: [PATCH 499/641] (#21138) openslide: new recipe MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * openslide: new recipe * openslide: fix license copying * openslide: improve topics * openslide: disable for MSVC * openslide: improve test_package.c Based on #19592. * openslide: add support for libjpeg-turbo, set cpp_info.requires * openslide: fix typo * openslide: drop force=True, bump deps * openslide: backport a build bugfix * Bump more version ranges * Add coretext usage --------- Co-authored-by: Abril Rincón Blanco --- recipes/openslide/all/conandata.yml | 10 + recipes/openslide/all/conanfile.py | 138 ++++++++ .../patches/0001-no-openslide-poison.patch | 308 ++++++++++++++++++ .../openslide/all/test_package/conanfile.py | 32 ++ .../openslide/all/test_package/meson.build | 5 + .../openslide/all/test_package/test_package.c | 7 + recipes/openslide/config.yml | 3 + 7 files changed, 503 insertions(+) create mode 100644 recipes/openslide/all/conandata.yml create mode 100644 recipes/openslide/all/conanfile.py create mode 100644 recipes/openslide/all/patches/0001-no-openslide-poison.patch create mode 100644 recipes/openslide/all/test_package/conanfile.py create mode 100644 recipes/openslide/all/test_package/meson.build create mode 100644 recipes/openslide/all/test_package/test_package.c create mode 100644 recipes/openslide/config.yml diff --git a/recipes/openslide/all/conandata.yml b/recipes/openslide/all/conandata.yml new file mode 100644 index 0000000000000..ca29cdf478653 --- /dev/null +++ b/recipes/openslide/all/conandata.yml @@ -0,0 +1,10 @@ +sources: + "4.0.0": + url: "https://github.com/openslide/openslide/releases/download/v4.0.0/openslide-4.0.0.tar.xz" + sha256: "cc227c44316abb65fb28f1c967706eb7254f91dbfab31e9ae6a48db6cf4ae562" +patches: + "4.0.0": + - patch_file: "patches/0001-no-openslide-poison.patch" + patch_description: "Fix 'error__use__openslide_fclose_instead' compilation error" + patch_type: "backport" + patch_source: "https://github.com/openslide/openslide/commit/048865a3b61e9bc2b61219168d434b61e784d355" diff --git a/recipes/openslide/all/conanfile.py b/recipes/openslide/all/conanfile.py new file mode 100644 index 0000000000000..0557d9913ef70 --- /dev/null +++ b/recipes/openslide/all/conanfile.py @@ -0,0 +1,138 @@ +import os + +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.apple import fix_apple_shared_install_name +from conan.tools.env import VirtualBuildEnv +from conan.tools.files import copy, get, rm, rmdir, export_conandata_patches, apply_conandata_patches +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 + +required_conan_version = ">=1.53.0" + + +class OpenSlideConan(ConanFile): + name = "openslide" + description = "OpenSlide is a C library for reading whole slide image files (also known as virtual slides)" + license = "LGPL-2.1" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://openslide.org/" + topics = ("image", "pathology", "whole-slide-imaging", "slide-image", + # supported formats + "bif", "dicom", "dcm", "mrxs", "ndpi", "scn", "svs", "svslide", "tiff", "vms", "vmu") + + package_type = "library" + settings = "os", "arch", "compiler", "build_type" + options = { + "shared": [True, False], + "fPIC": [True, False], + "jpeg": ["libjpeg", "libjpeg-turbo", "mozjpeg"], + } + default_options = { + "shared": False, + "fPIC": True, + "jpeg": "libjpeg", + } + + def export_sources(self): + export_conandata_patches(self) + + def config_options(self): + if self.settings.os == "Windows": + del self.options.fPIC + + def configure(self): + if self.options.shared: + self.options.rm_safe("fPIC") + self.settings.rm_safe("compiler.cppstd") + self.settings.rm_safe("compiler.libcxx") + + def layout(self): + basic_layout(self, src_folder="src") + + def requirements(self): + self.requires("cairo/1.18.0") + self.requires("gdk-pixbuf/2.42.10") + self.requires("glib/2.78.3") + self.requires("libdicom/1.0.5") + self.requires("libpng/[>=1.6 <2]") + self.requires("libtiff/4.6.0") + self.requires("libxml2/[>=2.12.5 <3]") + self.requires("openjpeg/2.5.2") + self.requires("sqlite3/3.45.3") + self.requires("zlib/[>=1.2.11 <2]") + if self.options.jpeg == "libjpeg": + self.requires("libjpeg/9e") + elif self.options.jpeg == "libjpeg-turbo": + self.requires("libjpeg-turbo/3.0.2") + elif self.options.jpeg == "mozjpeg": + self.requires("mozjpeg/4.1.5") + + def validate(self): + if is_msvc(self): + raise ConanInvalidConfiguration("OpenSlide requires GNU C extensions support and is not compatible with MSVC") + + 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.2 <3]") + self.tool_requires("glib/") + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + venv = VirtualBuildEnv(self) + venv.generate() + tc = MesonToolchain(self) + tc.project_options["test"] = "disabled" + tc.project_options["doc"] = "disabled" + tc.generate() + deps = PkgConfigDeps(self) + deps.generate() + + def build(self): + apply_conandata_patches(self) + meson = Meson(self) + meson.configure() + meson.build() + + def package(self): + copy(self, "COPYING.LESSER", self.source_folder, os.path.join(self.package_folder, "licenses")) + meson = Meson(self) + meson.install() + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) + rmdir(self, os.path.join(self.package_folder, "share")) + rm(self, "*.pdb", os.path.join(self.package_folder, "lib")) + rm(self, "*.pdb", os.path.join(self.package_folder, "bin")) + fix_apple_shared_install_name(self) + + def package_info(self): + self.cpp_info.libs = ["openslide"] + self.cpp_info.includedirs.append(os.path.join("include", "openslide")) + + if self.settings.os == "Macos": + self.cpp_info.frameworks = ["CoreText"] + + self.cpp_info.requires = [ + "cairo::cairo_", + "gdk-pixbuf::gdk-pixbuf", + "glib::gio-2.0", + "glib::glib-2.0", + "glib::gobject-2.0", + "libdicom::libdicom", + "libpng::libpng", + "libtiff::libtiff", + "libxml2::libxml2", + "openjpeg::openjpeg", + "sqlite3::sqlite3", + "zlib::zlib", + ] + if self.options.jpeg == "libjpeg": + self.cpp_info.requires.append("libjpeg::libjpeg") + elif self.options.jpeg == "libjpeg-turbo": + self.cpp_info.requires.append("libjpeg-turbo::jpeg") + elif self.options.jpeg == "mozjpeg": + self.cpp_info.requires.append("mozjpeg::libjpeg") diff --git a/recipes/openslide/all/patches/0001-no-openslide-poison.patch b/recipes/openslide/all/patches/0001-no-openslide-poison.patch new file mode 100644 index 0000000000000..00a38642d6421 --- /dev/null +++ b/recipes/openslide/all/patches/0001-no-openslide-poison.patch @@ -0,0 +1,308 @@ +From 048865a3b61e9bc2b61219168d434b61e784d355 Mon Sep 17 00:00:00 2001 +From: Benjamin Gilbert +Date: Mon, 12 Feb 2024 20:44:45 +0900 +Subject: [PATCH] Replace _OPENSLIDE_POISON() with pre-commit check + +Preprocessor macros are somewhat clunky as a way to prevent use of +forbidden functions. Now that we have pre-commit checks, use those +instead. Allow forbidden function calls in wrapper implementations by +ignoring call sites with "ci-allow" in a comment on the same line. + +Signed-off-by: Benjamin Gilbert +--- + .pre-commit-config.yaml | 29 +++++++++++++++++++++++++++++ + src/openslide-decode-sqlite.c | 10 +++------- + src/openslide-decode-tiff.c | 8 ++------ + src/openslide-file.c | 20 +++++++------------- + src/openslide-jdatasrc.c | 2 +- + src/openslide-private.h | 27 --------------------------- + src/openslide-util.c | 4 +--- + src/openslide-vendor-synthetic.c | 7 +++---- + 8 files changed, 46 insertions(+), 61 deletions(-) + +diff --git a/src/openslide-decode-sqlite.c b/src/openslide-decode-sqlite.c +index f75083df5..119b71b5a 100644 +--- a/src/openslide-decode-sqlite.c ++++ b/src/openslide-decode-sqlite.c +@@ -44,7 +44,6 @@ static int profile_callback(unsigned trace_type G_GNUC_UNUSED, + return 0; + } + +-#undef sqlite3_open_v2 + static sqlite3 *do_open(const char *filename, int flags, GError **err) { + sqlite3 *db; + +@@ -55,7 +54,7 @@ static sqlite3 *do_open(const char *filename, int flags, GError **err) { + return NULL; + } + +- ret = sqlite3_open_v2(filename, &db, flags, NULL); ++ ret = sqlite3_open_v2(filename, &db, flags, NULL); // ci-allow + + if (ret) { + if (db) { +@@ -76,7 +75,6 @@ static sqlite3 *do_open(const char *filename, int flags, GError **err) { + + return db; + } +-#define sqlite3_open_v2 _OPENSLIDE_POISON(_openslide_sqlite_open) + + sqlite3 *_openslide_sqlite_open(const char *filename, GError **err) { + // ":" filename prefix is reserved. +@@ -131,12 +129,10 @@ void _openslide_sqlite_propagate_stmt_error(sqlite3_stmt *stmt, GError **err) { + _openslide_sqlite_propagate_error(sqlite3_db_handle(stmt), err); + } + +-#undef sqlite3_close + void _openslide_sqlite_close(sqlite3 *db) { +- // sqlite3_close() failures indicate a leaked resource, probably a ++ // sqlite3_close failures indicate a leaked resource, probably a + // prepared statement. +- if (sqlite3_close(db)) { ++ if (sqlite3_close(db)) { // ci-allow + g_warning("SQLite error: %s", sqlite3_errmsg(db)); + } + } +-#define sqlite3_close _OPENSLIDE_POISON(_openslide_sqlite_close) +diff --git a/src/openslide-decode-tiff.c b/src/openslide-decode-tiff.c +index 0af196479..ed294f18f 100644 +--- a/src/openslide-decode-tiff.c ++++ b/src/openslide-decode-tiff.c +@@ -74,7 +74,6 @@ struct associated_image { + result = tmp; \ + } while (0) + +-#undef TIFFSetDirectory + bool _openslide_tiff_set_dir(TIFF *tiff, + tdir_t dir, + GError **err) { +@@ -82,14 +81,13 @@ bool _openslide_tiff_set_dir(TIFF *tiff, + // avoid libtiff unnecessarily rereading directory contents + return true; + } +- if (!TIFFSetDirectory(tiff, dir)) { ++ if (!TIFFSetDirectory(tiff, dir)) { // ci-allow + g_set_error(err, OPENSLIDE_ERROR, OPENSLIDE_ERROR_FAILED, + "Cannot set TIFF directory %d", dir); + return false; + } + return true; + } +-#define TIFFSetDirectory _OPENSLIDE_POISON(_openslide_tiff_set_dir) + + bool _openslide_tiff_level_init(TIFF *tiff, + tdir_t dir, +@@ -587,7 +585,6 @@ static toff_t tiff_do_size(thandle_t th) { + return hdl->size; + } + +-#undef TIFFClientOpen + static TIFF *tiff_open(struct _openslide_tiffcache *tc, GError **err) { + // open + g_autoptr(_openslide_file) f = _openslide_fopen(tc->filename, err); +@@ -646,7 +643,7 @@ static TIFF *tiff_open(struct _openslide_tiffcache *tc, GError **err) { + + // TIFFOpen + // mode: m disables mmap to avoid sigbus and other mmap fragility +- TIFF *tiff = TIFFClientOpen(tc->filename, "rm", hdl, ++ TIFF *tiff = TIFFClientOpen(tc->filename, "rm", hdl, // ci-allow + tiff_do_read, tiff_do_write, tiff_do_seek, + tiff_do_close, tiff_do_size, NULL, NULL); + if (tiff == NULL) { +@@ -656,7 +653,6 @@ static TIFF *tiff_open(struct _openslide_tiffcache *tc, GError **err) { + } + return tiff; + } +-#define TIFFClientOpen _OPENSLIDE_POISON(_openslide_tiffcache_get) + + struct _openslide_tiffcache *_openslide_tiffcache_create(const char *filename) { + struct _openslide_tiffcache *tc = g_new0(struct _openslide_tiffcache, 1); +diff --git a/src/openslide-file.c b/src/openslide-file.c +index 2763f3807..9eb9b1039 100644 +--- a/src/openslide-file.c ++++ b/src/openslide-file.c +@@ -22,7 +22,6 @@ + + #include + +-#define NO_POISON_FSEEKO + #include "openslide-private.h" + + #include +@@ -44,13 +43,8 @@ struct _openslide_dir { + GDir *dir; + }; + +-#undef fopen +-#undef fread +-#undef fclose +-#undef g_file_test +- + static void wrap_fclose(FILE *fp) { +- fclose(fp); ++ fclose(fp); // ci-allow + } + G_DEFINE_AUTOPTR_CLEANUP_FUNC(FILE, wrap_fclose) + +@@ -87,7 +81,7 @@ static FILE *do_fopen(const char *path, const char *mode, GError **err) { + io_error(err, "Couldn't open %s", path); + } + #else +- f = fopen(path, mode); ++ f = fopen(path, mode); // ci-allow + if (f == NULL) { + io_error(err, "Couldn't open %s", path); + } +@@ -132,7 +126,7 @@ size_t _openslide_fread(struct _openslide_file *file, void *buf, size_t size) { + char *bufp = buf; + size_t total = 0; + while (total < size) { +- size_t count = fread(bufp + total, 1, size - total, file->fp); ++ size_t count = fread(bufp + total, 1, size - total, file->fp); // ci-allow + if (count == 0) { + return total; + } +@@ -143,7 +137,7 @@ size_t _openslide_fread(struct _openslide_file *file, void *buf, size_t size) { + + bool _openslide_fseek(struct _openslide_file *file, off_t offset, int whence, + GError **err) { +- if (fseeko(file->fp, offset, whence)) { ++ if (fseeko(file->fp, offset, whence)) { // ci-allow + g_set_error(err, G_FILE_ERROR, g_file_error_from_errno(errno), + "%s", g_strerror(errno)); + return false; +@@ -152,7 +146,7 @@ bool _openslide_fseek(struct _openslide_file *file, off_t offset, int whence, + } + + off_t _openslide_ftell(struct _openslide_file *file, GError **err) { +- off_t ret = ftello(file->fp); ++ off_t ret = ftello(file->fp); // ci-allow + if (ret == -1) { + g_set_error(err, G_FILE_ERROR, g_file_error_from_errno(errno), + "%s", g_strerror(errno)); +@@ -179,12 +173,12 @@ off_t _openslide_fsize(struct _openslide_file *file, GError **err) { + } + + void _openslide_fclose(struct _openslide_file *file) { +- fclose(file->fp); ++ fclose(file->fp); // ci-allow + g_free(file); + } + + bool _openslide_fexists(const char *path, GError **err G_GNUC_UNUSED) { +- return g_file_test(path, G_FILE_TEST_EXISTS); ++ return g_file_test(path, G_FILE_TEST_EXISTS); // ci-allow + } + + struct _openslide_dir *_openslide_dir_open(const char *dirname, GError **err) { +diff --git a/src/openslide-jdatasrc.c b/src/openslide-jdatasrc.c +index 2ad068818..4de54eddf 100644 +--- a/src/openslide-jdatasrc.c ++++ b/src/openslide-jdatasrc.c +@@ -158,7 +158,7 @@ static void skip_input_data (j_decompress_ptr cinfo, long num_bytes) + { + struct jpeg_source_mgr * src = cinfo->src; + +- /* Just a dumb implementation for now. Could use fseek() except ++ /* Just a dumb implementation for now. Could use fseek except + * it doesn't work on pipes. Not clear that being smart is worth + * any trouble anyway --- large skips are infrequent. + */ +diff --git a/src/openslide-private.h b/src/openslide-private.h +index 5ae36939b..ed08f5ed7 100644 +--- a/src/openslide-private.h ++++ b/src/openslide-private.h +@@ -383,33 +383,6 @@ extern const int32_t _openslide_G_Cb[256]; + extern const int32_t _openslide_G_Cr[256]; + extern const int16_t _openslide_B_Cb[256]; + +-/* Prevent use of dangerous functions and functions with mandatory wrappers. +- Every @p replacement must be unique to avoid conflicting-type errors. */ +-#define _OPENSLIDE_POISON(replacement) error__use_ ## replacement ## _instead +-#define fopen _OPENSLIDE_POISON(_openslide_fopen) +-#define fread _OPENSLIDE_POISON(_openslide_fread) +-#define fseek _OPENSLIDE_POISON(_openslide_fseek) +-#define ftell _OPENSLIDE_POISON(_openslide_ftell) +-#define fclose _OPENSLIDE_POISON(_openslide_fclose) +-#define g_file_test _OPENSLIDE_POISON(_openslide_fexists) +-#define strtod _OPENSLIDE_POISON(_openslide_parse_double) +-#define g_ascii_strtod _OPENSLIDE_POISON(_openslide_parse_double_) +-#define sqlite3_open _OPENSLIDE_POISON(_openslide_sqlite_open) +-#define sqlite3_open_v2 _OPENSLIDE_POISON(_openslide_sqlite_open_) +-#define sqlite3_close _OPENSLIDE_POISON(_openslide_sqlite_close) +-#define TIFFClientOpen _OPENSLIDE_POISON(_openslide_tiffcache_get) +-#define TIFFFdOpen _OPENSLIDE_POISON(_openslide_tiffcache_get_) +-#define TIFFOpen _OPENSLIDE_POISON(_openslide_tiffcache_get__) +-#define TIFFSetDirectory _OPENSLIDE_POISON(_openslide_tiff_set_dir) +- +-#ifndef NO_POISON_FSEEKO +-// openslide-file.c needs the original macros +-#undef fseeko +-#undef ftello +-#define fseeko _OPENSLIDE_POISON(_openslide_fseek_) +-#define ftello _OPENSLIDE_POISON(_openslide_ftell_) +-#endif +- + #ifdef _WIN32 + // Prevent windows.h from defining the IN/OUT macro + #define _NO_W32_PSEUDO_MODIFIERS +diff --git a/src/openslide-util.c b/src/openslide-util.c +index 719953274..b85f9afa3 100644 +--- a/src/openslide-util.c ++++ b/src/openslide-util.c +@@ -170,7 +170,6 @@ void *_openslide_inflate_buffer(const void *src, int64_t src_len, + return g_steal_pointer(&dst); + } + +-#undef g_ascii_strtod + double _openslide_parse_double(const char *value) { + // Canonicalize comma to decimal point, since the locale of the + // originating system sometimes leaks into slide files. +@@ -180,14 +179,13 @@ double _openslide_parse_double(const char *value) { + + char *endptr; + errno = 0; +- double result = g_ascii_strtod(canonical, &endptr); ++ double result = g_ascii_strtod(canonical, &endptr); // ci-allow + // fail on overflow/underflow + if (canonical[0] == 0 || endptr[0] != 0 || errno == ERANGE) { + return NAN; + } + return result; + } +-#define g_ascii_strtod _OPENSLIDE_POISON(_openslide_parse_double) + + char *_openslide_format_double(double d) { + char buf[G_ASCII_DTOSTR_BUF_SIZE]; +diff --git a/src/openslide-vendor-synthetic.c b/src/openslide-vendor-synthetic.c +index e3a440569..79938a597 100644 +--- a/src/openslide-vendor-synthetic.c ++++ b/src/openslide-vendor-synthetic.c +@@ -204,7 +204,6 @@ static toff_t mem_tiff_size(thandle_t th) { + return mem->size; + } + +-#undef TIFFClientOpen + static bool decode_tiff(const void *data, uint32_t len, + uint32_t *dest, GError **err) { + // there's no reason for OpenSlide as a whole to support reading entire +@@ -216,8 +215,9 @@ static bool decode_tiff(const void *data, uint32_t len, + }; + // mode: m disables mmap to avoid sigbus and other mmap fragility + g_autoptr(TIFF) tiff = +- TIFFClientOpen("tiff", "rm", &mem, mem_tiff_read, mem_tiff_write, +- mem_tiff_seek, mem_tiff_close, mem_tiff_size, NULL, NULL); ++ TIFFClientOpen("tiff", "rm", &mem, mem_tiff_read, // ci-allow ++ mem_tiff_write, mem_tiff_seek, mem_tiff_close, ++ mem_tiff_size, NULL, NULL); + if (tiff == NULL) { + g_set_error(err, OPENSLIDE_ERROR, OPENSLIDE_ERROR_FAILED, + "Couldn't open TIFF"); +@@ -238,7 +238,6 @@ static bool decode_tiff(const void *data, uint32_t len, + + return _openslide_tiff_read_tile(&tiffl, tiff, dest, 0, 0, err); + } +-#define TIFFClientOpen _OPENSLIDE_POISON(_openslide_tiffcache_get) + + static bool decode_xml(const void *data, uint32_t len, + uint32_t *dest, GError **err) { diff --git a/recipes/openslide/all/test_package/conanfile.py b/recipes/openslide/all/test_package/conanfile.py new file mode 100644 index 0000000000000..2e3df45816e5a --- /dev/null +++ b/recipes/openslide/all/test_package/conanfile.py @@ -0,0 +1,32 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.layout import basic_layout +from conan.tools.meson import Meson +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "PkgConfigDeps", "MesonToolchain", "VirtualRunEnv", "VirtualBuildEnv" + test_type = "explicit" + + def layout(self): + basic_layout(self) + + def requirements(self): + self.requires(self.tested_reference_str) + + def build_requirements(self): + self.tool_requires("meson/1.2.3") + if not self.conf.get("tools.gnu:pkg_config", default=False, check_type=str): + self.tool_requires("pkgconf/2.0.3") + + def build(self): + meson = Meson(self) + meson.configure() + meson.build() + + def test(self): + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/openslide/all/test_package/meson.build b/recipes/openslide/all/test_package/meson.build new file mode 100644 index 0000000000000..b22a34bfa7460 --- /dev/null +++ b/recipes/openslide/all/test_package/meson.build @@ -0,0 +1,5 @@ +project('test_package', 'c') +package_dep = dependency('openslide') +executable('test_package', + sources : ['test_package.c'], + dependencies : [package_dep]) diff --git a/recipes/openslide/all/test_package/test_package.c b/recipes/openslide/all/test_package/test_package.c new file mode 100644 index 0000000000000..ea806b718030d --- /dev/null +++ b/recipes/openslide/all/test_package/test_package.c @@ -0,0 +1,7 @@ +#include +#include + +int main() { + printf("OpenSlide version: %s\n", openslide_get_version()); + return 0; +} diff --git a/recipes/openslide/config.yml b/recipes/openslide/config.yml new file mode 100644 index 0000000000000..d2be8f453d7c0 --- /dev/null +++ b/recipes/openslide/config.yml @@ -0,0 +1,3 @@ +versions: + "4.0.0": + folder: all From 052a8e27ba526660c9ab20b0e2a7cfb7de9548a7 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 10 Sep 2024 03:53:59 +0900 Subject: [PATCH 500/641] (#25086) mbedtls: add version 3.6.1 --- recipes/mbedtls/all/conandata.yml | 3 +++ recipes/mbedtls/all/conanfile.py | 4 ++-- recipes/mbedtls/config.yml | 2 ++ 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/recipes/mbedtls/all/conandata.yml b/recipes/mbedtls/all/conandata.yml index 59921058d7fdf..6f725eee986a6 100644 --- a/recipes/mbedtls/all/conandata.yml +++ b/recipes/mbedtls/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.6.1": + url: "https://github.com/Mbed-TLS/mbedtls/releases/download/mbedtls-3.6.1/mbedtls-3.6.1.tar.bz2" + sha256: "fc8bef0991b43629b7e5319de6f34f13359011105e08e3e16eed3a9fe6ffd3a3" "3.6.0": url: "https://github.com/Mbed-TLS/mbedtls/releases/download/v3.6.0/mbedtls-3.6.0.tar.bz2" sha256: "3ecf94fcfdaacafb757786a01b7538a61750ebd85c4b024f56ff8ba1490fcd38" diff --git a/recipes/mbedtls/all/conanfile.py b/recipes/mbedtls/all/conanfile.py index 4ccbcab9405bc..d2eb38dbb504c 100644 --- a/recipes/mbedtls/all/conanfile.py +++ b/recipes/mbedtls/all/conanfile.py @@ -15,10 +15,10 @@ class MBedTLSConan(ConanFile): "mbed TLS makes it trivially easy for developers to include " "cryptographic and SSL/TLS capabilities in their (embedded) products" ) - topics = ("polarssl", "tls", "security") + license = "Apache-2.0" url = "https://github.com/conan-io/conan-center-index" homepage = "https://tls.mbed.org" - license = "Apache-2.0" + topics = ("polarssl", "tls", "security") package_type = "library" settings = "os", "arch", "compiler", "build_type" diff --git a/recipes/mbedtls/config.yml b/recipes/mbedtls/config.yml index b30565c2258dc..8637037975a2e 100644 --- a/recipes/mbedtls/config.yml +++ b/recipes/mbedtls/config.yml @@ -1,4 +1,6 @@ versions: + "3.6.1": + folder: all "3.6.0": folder: all "3.5.2": From 02291f89acfa2840c5410f2c09c72cf4fd48e9f8 Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Mon, 9 Sep 2024 23:42:29 +0100 Subject: [PATCH 501/641] (#25196) [bot] Update list of references (prod-v2/ListPackages) Co-authored-by: conan-center-bot --- .c3i/conan_v2_ready_references.yml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/.c3i/conan_v2_ready_references.yml b/.c3i/conan_v2_ready_references.yml index 25a68fba2a79b..bb5fb884995cf 100644 --- a/.c3i/conan_v2_ready_references.yml +++ b/.c3i/conan_v2_ready_references.yml @@ -283,6 +283,7 @@ required_for_references: - cuda-samples - cunit - cute_headers +- cutlass - cvplot - cwalk - cxxgraph @@ -416,6 +417,7 @@ required_for_references: - fftw - fire-hpp - fixed-containers +- fixed_math - flac - flann - flatbuffers @@ -475,6 +477,7 @@ required_for_references: - geographiclib - geos - geotrans +- getdns - getopt-for-visual-studio - gettext - gf-complete @@ -505,6 +508,7 @@ required_for_references: - gnu-config - gnulib - gnutls +- gobject-introspection - godot-cpp - godot_headers - googleapis @@ -717,6 +721,7 @@ required_for_references: - libevdev - libevent - libexif +- libfabric - libfdk_aac - libffi - libfork @@ -1024,6 +1029,7 @@ required_for_references: - nasm - ncurses - neargye-semver +- net-snmp - netcdf - nettle - newmat @@ -1108,6 +1114,7 @@ required_for_references: - openjpeg - openldap - openmesh +- openmpi - openmvg - openpam - openscenegraph From abaca04dcdcc338434c684297a7519fee474b037 Mon Sep 17 00:00:00 2001 From: Sergey Bobrenok Date: Tue, 10 Sep 2024 11:31:07 +0300 Subject: [PATCH 502/641] (#25088) libcap/2.70: Bump version --- recipes/libcap/all/conandata.yml | 10 ++++++++++ recipes/libcap/config.yml | 2 ++ 2 files changed, 12 insertions(+) diff --git a/recipes/libcap/all/conandata.yml b/recipes/libcap/all/conandata.yml index 16d2439fd2b12..213e20579f77b 100644 --- a/recipes/libcap/all/conandata.yml +++ b/recipes/libcap/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.70": + url: "https://www.kernel.org/pub/linux/libs/security/linux-privs/libcap2/libcap-2.70.tar.xz" + sha256: "23a6ef8aadaf1e3e875f633bb2d116cfef8952dba7bc7c569b13458e1952b30f" "2.69": url: "https://www.kernel.org/pub/linux/libs/security/linux-privs/libcap2/libcap-2.69.tar.xz" sha256: "f311f8f3dad84699d0566d1d6f7ec943a9298b28f714cae3c931dfd57492d7eb" @@ -33,6 +36,13 @@ sources: url: "https://www.kernel.org/pub/linux/libs/security/linux-privs/libcap2/libcap-2.45.tar.xz" sha256: "d66639f765c0e10557666b00f519caf0bd07a95f867dddaee131cd284fac3286" patches: + "2.70": + - patch_file: "patches/2.57/0001-libcap-Remove-hardcoded-fPIC.patch" + patch_description: "allow to configure fPIC option from conan recipe" + patch_type: "conan" + - patch_file: "patches/2.57/0002-Make.Rules-Make-compile-tools-configurable.patch" + patch_description: "allow to override compiler via environment variables" + patch_type: "conan" "2.69": - patch_file: "patches/2.57/0001-libcap-Remove-hardcoded-fPIC.patch" patch_description: "allow to configure fPIC option from conan recipe" diff --git a/recipes/libcap/config.yml b/recipes/libcap/config.yml index 9ca623681ce66..e8abe4aef997c 100644 --- a/recipes/libcap/config.yml +++ b/recipes/libcap/config.yml @@ -1,4 +1,6 @@ versions: + "2.70": + folder: all "2.69": folder: all "2.68": From 20d8ac38d11900165c441540798aa5817e796c90 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 10 Sep 2024 18:35:25 +0900 Subject: [PATCH 503/641] (#22079) prometheus-cpp: add new version 1.2.4, require C++11 only * prometheus: add version 1.2.0 * update 1.2.1 * update 1.2.3 * update 1.2.4 * check C++11 only instead of C++14 * require C++14 only on 1.1.0 * invert condition --- recipes/prometheus-cpp/all/conandata.yml | 3 ++ recipes/prometheus-cpp/all/conanfile.py | 31 +++++++++---------- .../all/test_package/CMakeLists.txt | 6 ++-- recipes/prometheus-cpp/config.yml | 2 ++ 4 files changed, 23 insertions(+), 19 deletions(-) diff --git a/recipes/prometheus-cpp/all/conandata.yml b/recipes/prometheus-cpp/all/conandata.yml index a1e0c249c424c..0aa86dd0d07dd 100644 --- a/recipes/prometheus-cpp/all/conandata.yml +++ b/recipes/prometheus-cpp/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.2.4": + url: "https://github.com/jupp0r/prometheus-cpp/archive/v1.2.4.tar.gz" + sha256: "48dbad454d314b836cc667ec4def93ec4a6e4255fc8387c20cacb3b8b6faee30" "1.1.0": url: "https://github.com/jupp0r/prometheus-cpp/archive/v1.1.0.tar.gz" sha256: "397544fe91e183029120b4eebcfab24ed9ec833d15850aae78fd5db19062d13a" diff --git a/recipes/prometheus-cpp/all/conanfile.py b/recipes/prometheus-cpp/all/conanfile.py index 10a8edf3a1e5e..09bc0c369ee74 100644 --- a/recipes/prometheus-cpp/all/conanfile.py +++ b/recipes/prometheus-cpp/all/conanfile.py @@ -4,7 +4,6 @@ from conan.tools.build import check_min_cppstd, valid_min_cppstd from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout from conan.tools.scm import Version -from conan.tools.microsoft import is_msvc, check_min_vs import os @@ -36,15 +35,19 @@ class PrometheusCppConan(ConanFile): @property def _min_cppstd(self): - return 11 if Version(self.version) < "1.1.0" else 14 + return "14" if Version(self.version) == "1.1.0" else "11" @property def _compilers_minimum_version(self): return { - "gcc": "7", - "clang": "7", - "apple-clang": "10", - } + "14": { + "gcc": "7", + "clang": "7", + "apple-clang": "10", + "Visual Studio": "15", + "msvc": "191", + }, + }.get(self._min_cppstd, {}) def export_sources(self): export_conandata_patches(self) @@ -73,18 +76,14 @@ def requirements(self): def validate(self): if self.info.settings.compiler.cppstd: check_min_cppstd(self, self._min_cppstd) - if Version(self.version) < "1.1.0": - return - check_min_vs(self, 191) - if not is_msvc(self): - minimum_version = self._compilers_minimum_version.get(str(self.info.settings.compiler), False) - if minimum_version and Version(self.info.settings.compiler.version) < minimum_version: - raise ConanInvalidConfiguration( - f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." - ) + minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) + if minimum_version and Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration( + f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." + ) def source(self): - get(self, **self.conan_data["sources"][self.version], destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): tc = CMakeToolchain(self) diff --git a/recipes/prometheus-cpp/all/test_package/CMakeLists.txt b/recipes/prometheus-cpp/all/test_package/CMakeLists.txt index 0df7da5ba0a1f..f9aa39a0fc4fd 100644 --- a/recipes/prometheus-cpp/all/test_package/CMakeLists.txt +++ b/recipes/prometheus-cpp/all/test_package/CMakeLists.txt @@ -5,8 +5,8 @@ find_package(prometheus-cpp CONFIG REQUIRED) add_executable(${PROJECT_NAME} test_package.cpp) target_link_libraries(${PROJECT_NAME} PRIVATE prometheus-cpp::push prometheus-cpp::pull) -if(${prometheus-cpp_VERSION} VERSION_LESS "1.1.0") - target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) -else() +if(${prometheus-cpp_VERSION} VERSION_EQUAL "1.1.0") target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_14) +else() + target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) endif() diff --git a/recipes/prometheus-cpp/config.yml b/recipes/prometheus-cpp/config.yml index 3bfa3902dafa5..11d3240cb85c5 100644 --- a/recipes/prometheus-cpp/config.yml +++ b/recipes/prometheus-cpp/config.yml @@ -1,4 +1,6 @@ versions: + "1.2.4": + folder: all "1.1.0": folder: all "1.0.1": From 93b4d578df0a19a32a8c882c43e94222e8abb0bf Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Tue, 10 Sep 2024 11:01:37 +0100 Subject: [PATCH 504/641] (#25188) [bot] Update authorized users list (2024-09-09) * Add/remove users to Access Request * Move liss-h to waitlist 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 | 6 ++++++ .c3i/waitlist_users.yml | 1 + 2 files changed, 7 insertions(+) diff --git a/.c3i/authorized_users.yml b/.c3i/authorized_users.yml index 67560358c08e3..a038b886512ea 100644 --- a/.c3i/authorized_users.yml +++ b/.c3i/authorized_users.yml @@ -1412,3 +1412,9 @@ authorized_users: - sun-mir - fhamonic - simbahebinbo +- alessiosacco +- Blackflame576 +- Bakul-Gaur +- itsmejoeeey +- JustCallMeRay +- shun2wang diff --git a/.c3i/waitlist_users.yml b/.c3i/waitlist_users.yml index afe5440d065af..4be8317a18a4b 100644 --- a/.c3i/waitlist_users.yml +++ b/.c3i/waitlist_users.yml @@ -9,3 +9,4 @@ waitlist_users: - NeXuS4Developer - sabapathim - pixelsoba +- liss-h From 26c25561861b3ae692163777da4e47a757d6f9b9 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 10 Sep 2024 19:32:52 +0900 Subject: [PATCH 505/641] (#25159) quill: add version 7.1.0 * quill: add version 7.0.0 * simplify test_package * update 7.1.0 --- recipes/quill/all/conandata.yml | 3 +++ recipes/quill/all/conanfile.py | 21 ++++++++++++------- recipes/quill/all/test_package/CMakeLists.txt | 1 - .../quill/all/test_package/test_package.cpp | 16 +------------- recipes/quill/config.yml | 2 ++ 5 files changed, 20 insertions(+), 23 deletions(-) diff --git a/recipes/quill/all/conandata.yml b/recipes/quill/all/conandata.yml index 4f8ba57c812d4..39843805b4dcf 100644 --- a/recipes/quill/all/conandata.yml +++ b/recipes/quill/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "7.1.0": + url: "https://github.com/odygrd/quill/releases/download/v7.1.0/quill-7.1.0.zip" + sha256: "3edd1e142ae1a5b6d548c8af5bcf4339bf5889e49ade0806a4269c9587b954ae" "6.1.0": url: "https://github.com/odygrd/quill/releases/download/v6.1.0/quill-6.1.0.zip" sha256: "114bea9d3e4f1ef06a3c48c4e5554a1a3cba182731495e229f2d28f8aef04467" diff --git a/recipes/quill/all/conanfile.py b/recipes/quill/all/conanfile.py index 6bf090b4a0669..bb47bc324e691 100644 --- a/recipes/quill/all/conanfile.py +++ b/recipes/quill/all/conanfile.py @@ -70,13 +70,20 @@ def build(self): def package(self): copy(self, pattern="LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) - copy( - self, - "*.h", - os.path.join(self.source_folder, "quill", "include"), - os.path.join(self.package_folder, "include"), - ) - + if Version(self.version) < "7.0.0": + copy( + self, + "*.h", + os.path.join(self.source_folder, "quill", "include"), + os.path.join(self.package_folder, "include"), + ) + else: + copy( + self, + "*.h", + os.path.join(self.source_folder, "include"), + os.path.join(self.package_folder, "include"), + ) def package_info(self): self.cpp_info.bindirs = [] diff --git a/recipes/quill/all/test_package/CMakeLists.txt b/recipes/quill/all/test_package/CMakeLists.txt index 4d5e7a7566fab..a6b5b0e801c6c 100644 --- a/recipes/quill/all/test_package/CMakeLists.txt +++ b/recipes/quill/all/test_package/CMakeLists.txt @@ -8,4 +8,3 @@ add_executable(${PROJECT_NAME} test_package.cpp) target_link_libraries(${PROJECT_NAME} PRIVATE quill::quill) target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) target_compile_definitions(${PROJECT_NAME} PRIVATE QUILL_FILE_HANDLERS_API_V3_3) - diff --git a/recipes/quill/all/test_package/test_package.cpp b/recipes/quill/all/test_package/test_package.cpp index 3c984618a5cd0..f3e9e28471bde 100644 --- a/recipes/quill/all/test_package/test_package.cpp +++ b/recipes/quill/all/test_package/test_package.cpp @@ -41,19 +41,5 @@ int main() LOG_INFO(logger, "Positional arguments {1} {2} {0} ", "too", "are", "supported"); LOG_INFO(logger, "Support for precision {:.4f}", 1.23456); - // To log with a different format to the same sink, just create another logger - auto console_sink_2 = quill::Frontend::get_sink("sink_id_1"); // get the created sink - quill::Logger* logger_2 = quill::Frontend::create_or_get_logger( - "logger_2", std::move(console_sink_2), "%(time) %(log_level:<9) %(logger:<12) %(message)"); - - logger_2->set_log_level(quill::LogLevel::TraceL3); - - LOG_TRACE_L3(logger_2, "This is a log trace l3 example {}", 1); - LOG_TRACE_L2(logger_2, "This is a log trace l2 example {} {}", 2, 2.3); - LOG_TRACE_L1(logger_2, "This is a log trace l1 {} example", "string"); - LOG_DEBUG(logger_2, "This is a log debug example {}", 4); - LOG_INFO(logger_2, "This is a log info example {}", sizeof(std::string)); - LOG_WARNING(logger_2, "This is a log warning example {}", sizeof(std::string)); - LOG_ERROR(logger_2, "This is a log error example {}", sizeof(std::string)); - LOG_CRITICAL(logger_2, "This is a log critical example {}", sizeof(std::string)); + return 0; } diff --git a/recipes/quill/config.yml b/recipes/quill/config.yml index c06b06ae090d1..7abb554e88e04 100644 --- a/recipes/quill/config.yml +++ b/recipes/quill/config.yml @@ -1,4 +1,6 @@ versions: + "7.1.0": + folder: "all" "6.1.0": folder: "all" "6.0.0": From d07b7724dba21851072b909f5d5c1489e258cc2a Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 11 Sep 2024 19:11:22 +0900 Subject: [PATCH 506/641] (#25192) glaze: add version 3.3.4 * glaze: add version 3.3.3 * update 3.3.4 --- recipes/glaze/all/conandata.yml | 3 +++ recipes/glaze/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/glaze/all/conandata.yml b/recipes/glaze/all/conandata.yml index ea137d22ef4a5..c11e5e4c425da 100644 --- a/recipes/glaze/all/conandata.yml +++ b/recipes/glaze/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.3.4": + url: "https://github.com/stephenberry/glaze/archive/v3.3.4.tar.gz" + sha256: "7fe31c14e7ede69d937aa8f126894fef11ebf3156f25cb95446d3d6d38e9da9c" "3.3.2": url: "https://github.com/stephenberry/glaze/archive/v3.3.2.tar.gz" sha256: "e492d3f662c3c096ce7abac86780af6c84f74c4f19b29223ad92fccc054aafad" diff --git a/recipes/glaze/config.yml b/recipes/glaze/config.yml index 8fccd1e8ade2c..6dffeb3a2ef50 100644 --- a/recipes/glaze/config.yml +++ b/recipes/glaze/config.yml @@ -1,4 +1,6 @@ versions: + "3.3.4": + folder: all "3.3.2": folder: all "3.3.1": From fe5bd27bf9a2a80eabbafbc52504b37a46dff5c0 Mon Sep 17 00:00:00 2001 From: Ivan Maidanski Date: Wed, 11 Sep 2024 13:31:43 +0300 Subject: [PATCH 507/641] (#25200) Add gc/8.2.8 recipe --- recipes/bdwgc/all/conandata.yml | 5 +++++ recipes/bdwgc/config.yml | 2 ++ 2 files changed, 7 insertions(+) diff --git a/recipes/bdwgc/all/conandata.yml b/recipes/bdwgc/all/conandata.yml index d463c9bb2301b..3e842ffa56b67 100644 --- a/recipes/bdwgc/all/conandata.yml +++ b/recipes/bdwgc/all/conandata.yml @@ -14,6 +14,9 @@ sources: "8.2.6": url: "https://github.com/ivmai/bdwgc/releases/download/v8.2.6/gc-8.2.6.tar.gz" sha256: "b9183fe49d4c44c7327992f626f8eaa1d8b14de140f243edb1c9dcff7719a7fc" + "8.2.8": + url: "https://github.com/ivmai/bdwgc/releases/download/v8.2.8/gc-8.2.8.tar.gz" + sha256: "7649020621cb26325e1fb5c8742590d92fb48ce5c259b502faf7d9fb5dabb160" patches: "8.0.4": - patch_file: "patches/update-cmake-8_0_4.patch" @@ -25,3 +28,5 @@ patches: - patch_file: "patches/update-cmake-8_2_4.patch" "8.2.6": - patch_file: "patches/update-cmake-8_2_6.patch" + "8.2.8": + - patch_file: "patches/update-cmake-8_2_6.patch" diff --git a/recipes/bdwgc/config.yml b/recipes/bdwgc/config.yml index c736cacb36944..2171a77e5a1a9 100644 --- a/recipes/bdwgc/config.yml +++ b/recipes/bdwgc/config.yml @@ -9,3 +9,5 @@ versions: folder: all "8.2.6": folder: all + "8.2.8": + folder: all From 12660248e804af3822fea18318285bb7f78a41a0 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 11 Sep 2024 20:32:27 +0900 Subject: [PATCH 508/641] (#25205) wxwidgets: add version 3.2.6 --- recipes/wxwidgets/all/conandata.yml | 3 +++ recipes/wxwidgets/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/wxwidgets/all/conandata.yml b/recipes/wxwidgets/all/conandata.yml index 3f7d9598805ab..0b2357cd4a254 100644 --- a/recipes/wxwidgets/all/conandata.yml +++ b/recipes/wxwidgets/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.2.6": + url: "https://github.com/wxWidgets/wxWidgets/archive/v3.2.6.tar.gz" + sha256: "46372b2dbf976521e1d7cca22afc3d3542d171a488b391444cf89aba87ea7d16" "3.2.5": url: "https://github.com/wxWidgets/wxWidgets/archive/v3.2.5.tar.gz" sha256: "c3a54d1c5dc3feefc2893c28923fd722c990c572253d5ad353eec99386ba11eb" diff --git a/recipes/wxwidgets/config.yml b/recipes/wxwidgets/config.yml index 8ae01da60bd7d..f849d473251f2 100644 --- a/recipes/wxwidgets/config.yml +++ b/recipes/wxwidgets/config.yml @@ -1,3 +1,5 @@ versions: + "3.2.6": + folder: "all" "3.2.5": folder: "all" From 168c942f663a34163991cd1bc584706bd2955d7c Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 12 Sep 2024 15:10:30 +0900 Subject: [PATCH 509/641] (#24546) minmea: add new recipe MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * minmea: add recipe * drop support msvc * remove trailing newlines * fix typo * require pkgconf only on tools.gnu:pkg_config is false Co-authored-by: Abril Rincón Blanco * simplify test_package.c * support MSVC * define MINMEA_INCLUDE_COMPAT in MSVC * follow version policy Co-authored-by: Martin Valgur * follow version policy part 2 * Simplify minmea recipe Signed-off-by: Uilian Ries * Build on Windows Signed-off-by: Uilian Ries * Remove ununsed import Signed-off-by: Uilian Ries --------- Signed-off-by: Uilian Ries Co-authored-by: Abril Rincón Blanco Co-authored-by: Martin Valgur Co-authored-by: Uilian Ries --- recipes/minmea/all/conandata.yml | 12 +++ recipes/minmea/all/conanfile.py | 82 +++++++++++++++++++ .../001-disable-pkgconfig-libcheck.patch | 12 +++ .../all/patches/002-windows-support.patch | 16 ++++ .../minmea/all/test_package/CMakeLists.txt | 8 ++ recipes/minmea/all/test_package/conanfile.py | 26 ++++++ .../minmea/all/test_package/test_package.c | 16 ++++ recipes/minmea/config.yml | 3 + 8 files changed, 175 insertions(+) create mode 100644 recipes/minmea/all/conandata.yml create mode 100644 recipes/minmea/all/conanfile.py create mode 100644 recipes/minmea/all/patches/001-disable-pkgconfig-libcheck.patch create mode 100644 recipes/minmea/all/patches/002-windows-support.patch create mode 100644 recipes/minmea/all/test_package/CMakeLists.txt create mode 100644 recipes/minmea/all/test_package/conanfile.py create mode 100644 recipes/minmea/all/test_package/test_package.c create mode 100644 recipes/minmea/config.yml diff --git a/recipes/minmea/all/conandata.yml b/recipes/minmea/all/conandata.yml new file mode 100644 index 0000000000000..f6a2a3a0d5950 --- /dev/null +++ b/recipes/minmea/all/conandata.yml @@ -0,0 +1,12 @@ +sources: + "0.3.0.cci.20230620": + url: "https://github.com/kosma/minmea/archive/e368d847d75abd891c651f7d30ce5efb6681adb7.tar.gz" + sha256: "9b845dfc7f4475c17710a0ac0823b11a6946df7b20dfacd02b03921826eeab3a" +patches: + "0.3.0.cci.20230620": + - patch_file: "patches/001-disable-pkgconfig-libcheck.patch" + patch_description: "Do not search for libcheck - Exclusive for testing" + patch_type: "conan" + - patch_file: "patches/002-windows-support.patch" + patch_description: "Manage compat header file for Windows" + patch_type: "portability" diff --git a/recipes/minmea/all/conanfile.py b/recipes/minmea/all/conanfile.py new file mode 100644 index 0000000000000..30eb575863037 --- /dev/null +++ b/recipes/minmea/all/conanfile.py @@ -0,0 +1,82 @@ +from conan import ConanFile +from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout +from conan.tools.files import copy, get, apply_conandata_patches, export_conandata_patches +from conan.tools.microsoft import is_msvc +from conan.errors import ConanInvalidConfiguration +import os + +required_conan_version = ">=1.53.0" + +class MinmeaConan(ConanFile): + name = "minmea" + description = "a lightweight GPS NMEA 0183 parser library in pure C" + license = ("WTFPL", "MIT", "LGPL-3.0-or-later") + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/kosma/minmea" + topics = ("gps", "NMEA", "parser") + package_type = "library" + settings = "os", "arch", "compiler", "build_type" + options = { + "shared": [True, False], + "fPIC": [True, False], + } + default_options = { + "shared": False, + "fPIC": True, + } + + def export_sources(self): + export_conandata_patches(self) + + def config_options(self): + if self.settings.os == "Windows": + del self.options.fPIC + + def configure(self): + if self.options.shared: + self.options.rm_safe("fPIC") + self.settings.rm_safe("compiler.cppstd") + self.settings.rm_safe("compiler.libcxx") + + def layout(self): + cmake_layout(self, src_folder="src") + + def validate(self): + # INFO: Windows mingw supported: https://github.com/kosma/minmea?tab=readme-ov-file#compatibility + # INFO: MSVC fails with error C2011: 'timespec': 'struct' type redefinition + if is_msvc(self): + raise ConanInvalidConfiguration(f"{self.ref} can not be built on Visual Studio and msvc. Use mingw instead or similar.") + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + if self.settings.os == "Windows": + tc.preprocessor_definitions["MINMEA_INCLUDE_COMPAT"] = "1" + tc.generate() + + def build(self): + apply_conandata_patches(self) + cmake = CMake(self) + cmake.configure() + cmake.build(target="minmea") + + def package(self): + copy(self, "COPYING", self.source_folder, os.path.join(self.package_folder, "licenses")) + copy(self, "LICENSE.*", self.source_folder, os.path.join(self.package_folder, "licenses")) + copy(self, "minmea.h", self.source_folder, os.path.join(self.package_folder, "include")) + copy(self, "libminmea.a", self.build_folder, os.path.join(self.package_folder, "lib")) + copy(self, "libminmea.so", self.build_folder, os.path.join(self.package_folder, "lib")) + copy(self, "libminmea.dylib", self.build_folder, os.path.join(self.package_folder, "lib")) + if self.settings.os == "Windows": + copy(self, "libminmea.dll.a", self.build_folder, os.path.join(self.package_folder, "lib")) + copy(self, "libminmea.dll", self.build_folder, os.path.join(self.package_folder, "bin")) + copy(self, "minmea_compat.h", self.source_folder, os.path.join(self.package_folder, "include")) + + def package_info(self): + self.cpp_info.libs = ["minmea"] + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.system_libs = ["m"] + if self.settings.os == "Windows": + self.cpp_info.defines = ["MINMEA_INCLUDE_COMPAT=1"] diff --git a/recipes/minmea/all/patches/001-disable-pkgconfig-libcheck.patch b/recipes/minmea/all/patches/001-disable-pkgconfig-libcheck.patch new file mode 100644 index 0000000000000..7e3f4636a811b --- /dev/null +++ b/recipes/minmea/all/patches/001-disable-pkgconfig-libcheck.patch @@ -0,0 +1,12 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index b96e1d7..4674f49 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -6,7 +6,6 @@ project(minmea) + + find_package(Threads REQUIRED) # Workaround for https://github.com/libcheck/check/issues/48#issuecomment-322965461 + find_package(PkgConfig) +-pkg_check_modules(CHECK REQUIRED check) + link_directories(${CHECK_LIBRARY_DIRS}) + + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -g -Wall -Wextra -Werror -std=c99") diff --git a/recipes/minmea/all/patches/002-windows-support.patch b/recipes/minmea/all/patches/002-windows-support.patch new file mode 100644 index 0000000000000..8f7360ca6288d --- /dev/null +++ b/recipes/minmea/all/patches/002-windows-support.patch @@ -0,0 +1,16 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 4674f49..895b835 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -13,6 +13,11 @@ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D_POSIX_C_SOURCE=199309L -D_BSD_SOURCE -D_D + + set(minmea_SRCS minmea.c minmea.h) + add_library(minmea ${minmea_SRCS}) ++target_include_directories(minmea PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}) ++if (WIN32) ++ configure_file(compat/minmea_compat_windows.h ${CMAKE_CURRENT_SOURCE_DIR}/minmea_compat.h COPYONLY) ++ target_compile_definitions(minmea PRIVATE MINMEA_INCLUDE_COMPAT) ++endif() + + add_executable(example example.c) + target_link_libraries(example minmea) diff --git a/recipes/minmea/all/test_package/CMakeLists.txt b/recipes/minmea/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..62bf6147b6fb5 --- /dev/null +++ b/recipes/minmea/all/test_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES C) + +find_package(minmea REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.c) +target_link_libraries(${PROJECT_NAME} PRIVATE minmea::minmea) +target_compile_features(${PROJECT_NAME} PRIVATE c_std_99) diff --git a/recipes/minmea/all/test_package/conanfile.py b/recipes/minmea/all/test_package/conanfile.py new file mode 100644 index 0000000000000..ef5d7042163ec --- /dev/null +++ b/recipes/minmea/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/minmea/all/test_package/test_package.c b/recipes/minmea/all/test_package/test_package.c new file mode 100644 index 0000000000000..9c222e438c9ae --- /dev/null +++ b/recipes/minmea/all/test_package/test_package.c @@ -0,0 +1,16 @@ +#include +#include "minmea.h" + + +int main(void) { + char* nmea_data = "$GPGGA,155246.585,5231.171,N,01321.830,E,1,12,1.0,0.0,M,0.0,M,,*6F"; + + if (minmea_sentence_id(nmea_data, false) == MINMEA_SENTENCE_GGA) { + struct minmea_sentence_gga frame; + if (minmea_parse_gga(&frame, nmea_data)) { + printf("$GGA: fix quality: %d\n", frame.fix_quality); + } + } + + return 0; +} diff --git a/recipes/minmea/config.yml b/recipes/minmea/config.yml new file mode 100644 index 0000000000000..85c5d6a070371 --- /dev/null +++ b/recipes/minmea/config.yml @@ -0,0 +1,3 @@ +versions: + "0.3.0.cci.20230620": + folder: all From 0a41d299ed3eee0d7e0c620a1215bfcb7ddca926 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Thu, 12 Sep 2024 10:02:56 +0300 Subject: [PATCH 510/641] (#20017) apriltag: add v3.4.2, remove old versions * apriltag: add v3.3.0, v3.1.7, remove old versions * apriltag: add missing lib suffix for debug builds * apriltag: add v3.2.0 * apriltag: disable examples * apriltag: fix shared build * apriltag: fix patching * apriltag: improve patching * apriltag: add topics * apriltag: fix MSVC failure Was solely due to the order of objects being destructed. * apriltag: add v3.4.2, drop intermediate versions * apriltag: require newer CMake --- recipes/apriltag/all/conandata.yml | 21 ++--- recipes/apriltag/all/conanfile.py | 38 +++++---- .../all/patches/3.1.1-0001-fix-cmake.patch | 67 --------------- .../patches/3.1.1-0002-windows-nominmax.patch | 20 ----- .../all/patches/3.1.2-0001-fix-cmake.patch | 83 ------------------- .../patches/3.1.4-0001-disable-examples.patch | 15 ++++ ...cmake.patch => 3.1.4-0002-fix-cmake.patch} | 27 +----- .../apriltag/all/test_package/test_package.c | 2 +- recipes/apriltag/config.yml | 6 +- 9 files changed, 52 insertions(+), 227 deletions(-) delete mode 100644 recipes/apriltag/all/patches/3.1.1-0001-fix-cmake.patch delete mode 100644 recipes/apriltag/all/patches/3.1.1-0002-windows-nominmax.patch delete mode 100644 recipes/apriltag/all/patches/3.1.2-0001-fix-cmake.patch create mode 100644 recipes/apriltag/all/patches/3.1.4-0001-disable-examples.patch rename recipes/apriltag/all/patches/{3.1.4-0001-fix-cmake.patch => 3.1.4-0002-fix-cmake.patch} (69%) diff --git a/recipes/apriltag/all/conandata.yml b/recipes/apriltag/all/conandata.yml index 612b22768b3e7..cdf1bd2eb180f 100644 --- a/recipes/apriltag/all/conandata.yml +++ b/recipes/apriltag/all/conandata.yml @@ -1,20 +1,13 @@ sources: + "3.4.2": + url: "https://github.com/AprilRobotics/apriltag/archive/refs/tags/v3.4.2.tar.gz" + sha256: "7e021bab89f136aa3cf736f772a635aaa353f93f6f8859495f4bd8c519be4805" "3.1.4": url: "https://github.com/AprilRobotics/apriltag/archive/refs/tags/v3.1.4.tar.gz" sha256: "ad2888d432e9ddcad2f639f243479934a4cd677ed5d2f8dee3b3418617b64f5d" - "3.1.2": - url: "https://github.com/AprilRobotics/apriltag/archive/3.1.2.tar.gz" - sha256: "2759b044ff1dc9ef725e7c456b49283399ef78deee24754bc3617cbe369584f1" - "3.1.1": - url: "https://github.com/AprilRobotics/apriltag/archive/3.1.1.tar.gz" - sha256: "7349e1fcc8b2979230b46c0d62ccf2ba2bbd611d87ef80cfd37ffe74425f5efb" patches: "3.1.4": - - patch_file: "patches/3.1.4-0001-fix-cmake.patch" - - patch_file: "patches/3.1.1-0002-windows-nominmax.patch" - "3.1.2": - - patch_file: "patches/3.1.2-0001-fix-cmake.patch" - - patch_file: "patches/3.1.1-0002-windows-nominmax.patch" - "3.1.1": - - patch_file: "patches/3.1.1-0001-fix-cmake.patch" - - patch_file: "patches/3.1.1-0002-windows-nominmax.patch" + - patch_file: "patches/3.1.4-0001-disable-examples.patch" + patch_type: "conan" + patch_description: "Disable building of examples" + - patch_file: "patches/3.1.4-0002-fix-cmake.patch" diff --git a/recipes/apriltag/all/conanfile.py b/recipes/apriltag/all/conanfile.py index c5ee7a9043fc1..8c9220521508c 100644 --- a/recipes/apriltag/all/conanfile.py +++ b/recipes/apriltag/all/conanfile.py @@ -1,6 +1,6 @@ from conan import ConanFile -from conan.errors import ConanInvalidConfiguration from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.env import VirtualBuildEnv from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rmdir from conan.tools.microsoft import is_msvc from conan.tools.scm import Version @@ -11,10 +11,10 @@ class ApriltagConan(ConanFile): name = "apriltag" - description = ("AprilTag is a visual fiducial system, useful for a wide variety of tasks \ - including augmented reality, robotics, and camera calibration") + description = ("AprilTag is a visual fiducial system, useful for a wide variety of tasks" + " including augmented reality, robotics, and camera calibration") homepage = "https://april.eecs.umich.edu/software/apriltag" - topics = ("robotics",) + topics = ("robotics", "computer-vision", "augmented-reality", "camera-calibration") license = "BSD-2-Clause" url = "https://github.com/conan-io/conan-center-index" package_type = "library" @@ -45,24 +45,28 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - if is_msvc(self): + if is_msvc(self) and Version(self.version) < "3.3.0": self.requires("pthreads4w/3.0.0", transitive_headers=True) - def validate(self): - if is_msvc(self) and self.settings.build_type == "Debug": - # segfault in test package... - raise ConanInvalidConfiguration(f"{self.ref} doesn't support Debug with msvc yet") + def build_requirements(self): + if Version(self.version) >= "3.4.0": + self.tool_requires("cmake/[>=3.16 <4]") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): + VirtualBuildEnv(self).generate() tc = CMakeToolchain(self) - if Version(self.version) >= "3.1.4": - tc.variables["BUILD_PYTHON_WRAPPER"] = False - tc.variables["CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS"] = True + tc.cache_variables["BUILD_EXAMPLES"] = False + tc.variables["BUILD_PYTHON_WRAPPER"] = False + if Version(self.version) < "3.4.0": + # Newer versions set it in the project CMakelists.txt + tc.variables["CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS"] = True + if self.settings.os == "Windows": + tc.preprocessor_definitions["NOMINMAX"] = "" tc.generate() - if is_msvc(self): + if is_msvc(self) and Version(self.version) < "3.3.0": deps = CMakeDeps(self) deps.generate() @@ -73,7 +77,7 @@ def build(self): cmake.build() def package(self): - copy(self, "LICENSE.md", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + copy(self, "LICENSE.md", self.source_folder, os.path.join(self.package_folder, "licenses")) cmake = CMake(self) cmake.install() rmdir(self, os.path.join(self.package_folder, "share")) @@ -83,9 +87,13 @@ def package_info(self): self.cpp_info.set_property("cmake_file_name", "apriltag") self.cpp_info.set_property("cmake_target_name", "apriltag::apriltag") self.cpp_info.set_property("pkg_config_name", "apriltag") - self.cpp_info.libs = ["apriltag"] + suffix = "" + if self.settings.build_type == "Debug" and Version(self.version) >= "3.2.0": + suffix = "d" + self.cpp_info.libs = ["apriltag" + suffix] self.cpp_info.includedirs.append(os.path.join("include", "apriltag")) if self.settings.os in ["Linux", "FreeBSD"]: self.cpp_info.system_libs = ["m", "pthread"] elif self.settings.os == "Windows": self.cpp_info.system_libs = ["winmm"] + self.cpp_info.defines.append("NOMINMAX") diff --git a/recipes/apriltag/all/patches/3.1.1-0001-fix-cmake.patch b/recipes/apriltag/all/patches/3.1.1-0001-fix-cmake.patch deleted file mode 100644 index 74b09907feed6..0000000000000 --- a/recipes/apriltag/all/patches/3.1.1-0001-fix-cmake.patch +++ /dev/null @@ -1,67 +0,0 @@ ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -1,24 +1,29 @@ --cmake_minimum_required(VERSION 3.1) --project(apriltag) -+cmake_minimum_required(VERSION 3.8) -+project(apriltag LANGUAGES C) - --find_package(OpenCV QUIET) - - include_directories(.) - aux_source_directory(common COMMON_SRC) - aux_source_directory(. APRILTAG_SRCS) - --set(CMAKE_BUILD_TYPE Release) - - # Library --add_library(${PROJECT_NAME} SHARED ${APRILTAG_SRCS} ${COMMON_SRC}) -+add_library(${PROJECT_NAME} ${APRILTAG_SRCS} ${COMMON_SRC}) -+target_compile_features(${PROJECT_NAME} PRIVATE c_std_99) - if (MSVC) - # FindThreads will not find pthread.h with MSVC - # winmm is necessary for __imp_timeGetTime -- find_library(PTHREAD_LIBRARIES NAMES pthreads) -- target_link_libraries(${PROJECT_NAME} ${PTHREAD_LIBRARIES} winmm) -+ find_package(pthreads4w REQUIRED CONFIG) -+ target_link_libraries(${PROJECT_NAME} pthreads4w::pthreads4w winmm) -+ target_compile_definitions(${PROJECT_NAME} PRIVATE _CRT_SECURE_NO_WARNINGS) - else() - find_package(Threads REQUIRED) -- target_link_libraries(${PROJECT_NAME} Threads::Threads m) -+ target_link_libraries(${PROJECT_NAME} Threads::Threads) -+ include(CheckFunctionExists) -+ check_function_exists(pow HAVE_MATH_SYSTEM) -+ if(NOT HAVE_MATH_SYSTEM) -+ target_link_libraries(${PROJECT_NAME} m) -+ endif() - endif() - - set_target_properties(${PROJECT_NAME} PROPERTIES SOVERSION 3 VERSION 3.1.0) -@@ -39,6 +43,7 @@ set_source_files_properties(SOURCE ${TAG_FILES} PROPERTIES COMPILE_FLAGS -O0) - - # install library - install(TARGETS ${PROJECT_NAME} EXPORT apriltag -+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} - ) -@@ -63,16 +68,13 @@ install(FILES "${PROJECT_BINARY_DIR}/apriltag.pc" DESTINATION "lib/pkgconfig/") - - # Examples - # apriltag_demo --add_executable(apriltag_demo example/apriltag_demo.c) --target_link_libraries(apriltag_demo apriltag) - - # opencv_demo --if(OpenCV_FOUND) -+if(0) - add_executable(opencv_demo example/opencv_demo.cc) - target_link_libraries(opencv_demo apriltag ${OpenCV_LIBRARIES}) - install(TARGETS opencv_demo RUNTIME DESTINATION bin) --endif(OpenCV_FOUND) -+endif() - - # install example programs --install(TARGETS apriltag_demo RUNTIME DESTINATION bin) - diff --git a/recipes/apriltag/all/patches/3.1.1-0002-windows-nominmax.patch b/recipes/apriltag/all/patches/3.1.1-0002-windows-nominmax.patch deleted file mode 100644 index 6ca9d00b5704e..0000000000000 --- a/recipes/apriltag/all/patches/3.1.1-0002-windows-nominmax.patch +++ /dev/null @@ -1,20 +0,0 @@ ---- a/common/time_util.h -+++ b/common/time_util.h -@@ -30,6 +30,7 @@ either expressed or implied, of the Regents of The University of Michigan. - #include - #include - #ifdef _WIN32 -+#define NOMINMAX - #include - typedef long long suseconds_t; - #endif ---- a/common/workerpool.c -+++ b/common/workerpool.c -@@ -33,6 +33,7 @@ either expressed or implied, of the Regents of The University of Michigan. - #include - #include - #ifdef _WIN32 -+#define NOMINMAX - #include - #else - #include diff --git a/recipes/apriltag/all/patches/3.1.2-0001-fix-cmake.patch b/recipes/apriltag/all/patches/3.1.2-0001-fix-cmake.patch deleted file mode 100644 index 58464b0668d96..0000000000000 --- a/recipes/apriltag/all/patches/3.1.2-0001-fix-cmake.patch +++ /dev/null @@ -1,83 +0,0 @@ ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -1,26 +1,31 @@ --cmake_minimum_required(VERSION 3.1) --project(apriltag) -+cmake_minimum_required(VERSION 3.8) -+project(apriltag LANGUAGES C) - --find_package(OpenCV QUIET) - - include_directories(.) - aux_source_directory(common COMMON_SRC) - set(APRILTAG_SRCS apriltag.c apriltag_pose.c apriltag_quad_thresh.c) - --set(CMAKE_BUILD_TYPE Release) - - # Library - file(GLOB TAG_FILES ${CMAKE_SOURCE_DIR}/tag*.c) - set_source_files_properties(SOURCE ${TAG_FILES} PROPERTIES COMPILE_FLAGS -O0) --add_library(${PROJECT_NAME} SHARED ${APRILTAG_SRCS} ${COMMON_SRC} ${TAG_FILES}) -+add_library(${PROJECT_NAME} ${APRILTAG_SRCS} ${COMMON_SRC} ${TAG_FILES}) -+target_compile_features(${PROJECT_NAME} PRIVATE c_std_99) - if (MSVC) - # FindThreads will not find pthread.h with MSVC - # winmm is necessary for __imp_timeGetTime -- find_library(PTHREAD_LIBRARIES NAMES pthreads) -- target_link_libraries(${PROJECT_NAME} ${PTHREAD_LIBRARIES} winmm) -+ find_package(pthreads4w REQUIRED CONFIG) -+ target_link_libraries(${PROJECT_NAME} pthreads4w::pthreads4w winmm) -+ target_compile_definitions(${PROJECT_NAME} PRIVATE _CRT_SECURE_NO_WARNINGS) - else() - find_package(Threads REQUIRED) -- target_link_libraries(${PROJECT_NAME} Threads::Threads m) -+ target_link_libraries(${PROJECT_NAME} Threads::Threads) -+ include(CheckFunctionExists) -+ check_function_exists(pow HAVE_MATH_SYSTEM) -+ if(NOT HAVE_MATH_SYSTEM) -+ target_link_libraries(${PROJECT_NAME} m) -+ endif() - endif() - - set_target_properties(${PROJECT_NAME} PROPERTIES SOVERSION 3 VERSION 3.1.0) -@@ -39,6 +43,7 @@ set_target_properties(${PROJECT_NAME} PROPERTIES - - # install library - install(TARGETS ${PROJECT_NAME} EXPORT apriltag -+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} - ) -@@ -63,6 +68,7 @@ install(FILES "${PROJECT_BINARY_DIR}/apriltag.pc" DESTINATION "lib/pkgconfig/") - - - # Python wrapper -+if(0) - SET(Python_ADDITIONAL_VERSIONS 3) - find_package(PythonLibs) - execute_process(COMMAND which python3 OUTPUT_QUIET RESULT_VARIABLE Python3_NOT_FOUND) -@@ -95,21 +101,19 @@ execute_process(COMMAND python3 -m site --user-site OUTPUT_VARIABLE PY_DEST) - string(STRIP ${PY_DEST} PY_DEST) - install(CODE "execute_process(COMMAND cp ${PROJECT_BINARY_DIR}/apriltag${PY_EXT_SUFFIX} ${PY_DEST})") - endif (NOT Python3_NOT_FOUND AND NOT Numpy_NOT_FOUND AND PYTHONLIBS_FOUND) -+endif() - - - # Examples - # apriltag_demo --add_executable(apriltag_demo example/apriltag_demo.c) --target_link_libraries(apriltag_demo apriltag) - - # opencv_demo --if(OpenCV_FOUND) -+if(0) - add_executable(opencv_demo example/opencv_demo.cc) - target_link_libraries(opencv_demo apriltag ${OpenCV_LIBRARIES}) - set_target_properties(opencv_demo PROPERTIES CXX_STANDARD 11) - install(TARGETS opencv_demo RUNTIME DESTINATION bin) --endif(OpenCV_FOUND) -+endif() - - # install example programs --install(TARGETS apriltag_demo RUNTIME DESTINATION bin) - diff --git a/recipes/apriltag/all/patches/3.1.4-0001-disable-examples.patch b/recipes/apriltag/all/patches/3.1.4-0001-disable-examples.patch new file mode 100644 index 0000000000000..a3696589cece2 --- /dev/null +++ b/recipes/apriltag/all/patches/3.1.4-0001-disable-examples.patch @@ -0,0 +1,15 @@ +--- CMakeLists.txt ++++ CMakeLists.txt +@@ -101,6 +101,7 @@ + + + # Examples ++if(BUILD_EXAMPLES) + # apriltag_demo + add_executable(apriltag_demo example/apriltag_demo.c) + target_link_libraries(apriltag_demo apriltag) +@@ -115,3 +116,4 @@ + + # install example programs + install(TARGETS apriltag_demo RUNTIME DESTINATION bin) ++endif() diff --git a/recipes/apriltag/all/patches/3.1.4-0001-fix-cmake.patch b/recipes/apriltag/all/patches/3.1.4-0002-fix-cmake.patch similarity index 69% rename from recipes/apriltag/all/patches/3.1.4-0001-fix-cmake.patch rename to recipes/apriltag/all/patches/3.1.4-0002-fix-cmake.patch index ba813f1dc3969..7baec487b4ea0 100644 --- a/recipes/apriltag/all/patches/3.1.4-0001-fix-cmake.patch +++ b/recipes/apriltag/all/patches/3.1.4-0002-fix-cmake.patch @@ -3,7 +3,7 @@ @@ -1,26 +1,31 @@ -cmake_minimum_required(VERSION 3.1) -project(apriltag) -+cmake_minimum_required(VERSION 3.8) ++cmake_minimum_required(VERSION 3.15) +project(apriltag LANGUAGES C) -find_package(OpenCV QUIET) @@ -40,30 +40,11 @@ endif() set_target_properties(${PROJECT_NAME} PROPERTIES SOVERSION 3 VERSION 3.1.0) -@@ -33,6 +37,7 @@ target_include_directories(${PROJECT_NAME} PUBLIC - - # install library +@@ -35,6 +30,7 @@ install(TARGETS ${PROJECT_NAME} EXPORT apriltagTargets -+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} ++ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} ) -@@ -102,16 +107,13 @@ endif (NOT Python3_NOT_FOUND AND NOT Numpy_NOT_FOUND AND PYTHONLIBS_FOUND AND BU - - # Examples - # apriltag_demo --add_executable(apriltag_demo example/apriltag_demo.c) --target_link_libraries(apriltag_demo apriltag) - - # opencv_demo --if(OpenCV_FOUND) -+if(0) - add_executable(opencv_demo example/opencv_demo.cc) - target_link_libraries(opencv_demo apriltag ${OpenCV_LIBRARIES}) - set_target_properties(opencv_demo PROPERTIES CXX_STANDARD 11) - install(TARGETS opencv_demo RUNTIME DESTINATION bin) --endif(OpenCV_FOUND) -+endif() - # install example programs --install(TARGETS apriltag_demo RUNTIME DESTINATION bin) + # install header file hierarchy diff --git a/recipes/apriltag/all/test_package/test_package.c b/recipes/apriltag/all/test_package/test_package.c index 098b0a3741e4d..78f28e3f94542 100644 --- a/recipes/apriltag/all/test_package/test_package.c +++ b/recipes/apriltag/all/test_package/test_package.c @@ -10,8 +10,8 @@ int main(int argc, char *argv[]) apriltag_family_t *tf = tagStandard41h12_create(); apriltag_detector_add_family(td, tf); - tagStandard41h12_destroy(tf); apriltag_detector_destroy(td); + tagStandard41h12_destroy(tf); printf("Apriltag test_package ran successfully\n"); diff --git a/recipes/apriltag/config.yml b/recipes/apriltag/config.yml index 6aa1925bfcd8e..0471f5090e86a 100644 --- a/recipes/apriltag/config.yml +++ b/recipes/apriltag/config.yml @@ -1,7 +1,5 @@ versions: - "3.1.4": - folder: all - "3.1.2": + "3.4.2": folder: all - "3.1.1": + "3.1.4": folder: all From b3446415fb5cb29eea6226fabdc5316b4b9b0a5c Mon Sep 17 00:00:00 2001 From: Uilian Ries Date: Thu, 12 Sep 2024 09:58:15 +0200 Subject: [PATCH 511/641] Update Conan client version to 2.7.1 and 1.65.0 (#25227) Signed-off-by: Uilian Ries --- .c3i/config_v1.yml | 2 +- .c3i/config_v2.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.c3i/config_v1.yml b/.c3i/config_v1.yml index 117f1105d056f..3b536765fa330 100644 --- a/.c3i/config_v1.yml +++ b/.c3i/config_v1.yml @@ -3,7 +3,7 @@ id: 'conan-io/conan-center-index' conan: - version: 1.64.1 + version: 1.65.0 artifactory: url: "https://c3i.jfrog.io/c3i" diff --git a/.c3i/config_v2.yml b/.c3i/config_v2.yml index 7866aab966417..fd1ae8b31ead6 100644 --- a/.c3i/config_v2.yml +++ b/.c3i/config_v2.yml @@ -3,7 +3,7 @@ id: 'conan-io/conan-center-index' conan: - version: 2.5.0 + version: 2.7.1 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 b70904ffec84465110061a9b08ea8d9f2e4af13d Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Thu, 12 Sep 2024 11:01:57 +0200 Subject: [PATCH 512/641] (#25218) docs: use version range for meson & pkgconf in package templates --- docs/package_templates/autotools_package/all/conanfile.py | 2 +- docs/package_templates/meson_package/all/conanfile.py | 4 ++-- .../meson_package/all/test_package/conanfile.py | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/package_templates/autotools_package/all/conanfile.py b/docs/package_templates/autotools_package/all/conanfile.py index 2bd1c8b1bd5e9..c08a33c668f62 100644 --- a/docs/package_templates/autotools_package/all/conanfile.py +++ b/docs/package_templates/autotools_package/all/conanfile.py @@ -105,7 +105,7 @@ def build_requirements(self): self.tool_requires("libtool/x.y.z") # only if upstream configure.ac relies on PKG_CHECK_MODULES macro if not self.conf.get("tools.gnu:pkg_config", check_type=str): - self.tool_requires("pkgconf/x.y.z") + self.tool_requires("pkgconf/[>=1.2.3 <2]") # required to suppport windows as a build machine if self._settings_build.os == "Windows": self.win_bash = True diff --git a/docs/package_templates/meson_package/all/conanfile.py b/docs/package_templates/meson_package/all/conanfile.py index 617e18d12f4ad..172c9c688ab22 100644 --- a/docs/package_templates/meson_package/all/conanfile.py +++ b/docs/package_templates/meson_package/all/conanfile.py @@ -98,10 +98,10 @@ def validate(self): # if another tool than the compiler or Meson is required to build the project (pkgconf, bison, flex etc) def build_requirements(self): # CCI policy assumes that Meson may not be installed on consumers machine - self.tool_requires("meson/1.2.3") + self.tool_requires("meson/[>=1.2.3 <2]") # pkgconf is largely used by Meson, it should be added in build requirement when there are dependencies if not self.conf.get("tools.gnu:pkg_config", default=False, check_type=str): - self.tool_requires("pkgconf/2.0.3") + self.tool_requires("pkgconf/[>=2.2 <3]") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) diff --git a/docs/package_templates/meson_package/all/test_package/conanfile.py b/docs/package_templates/meson_package/all/test_package/conanfile.py index 8adddf3b7b73c..3064d349d2d58 100644 --- a/docs/package_templates/meson_package/all/test_package/conanfile.py +++ b/docs/package_templates/meson_package/all/test_package/conanfile.py @@ -18,9 +18,9 @@ def requirements(self): self.requires(self.tested_reference_str) def build_requirements(self): - self.tool_requires("meson/1.2.3") + 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") + self.tool_requires("pkgconf/[>=2.2 <3]") def build(self): meson = Meson(self) From 4adcc53460600452649959ed7b91b2c093937bea Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Thu, 12 Sep 2024 12:30:51 +0300 Subject: [PATCH 513/641] (#25091) at-spi2-core: add v2.53.1, fix X11 support and enable by default * at-spi2-core: fix X11 support, enable by default * at-spi2-core: add v2.53.1 --- recipes/at-spi2-core/config.yml | 2 + recipes/at-spi2-core/new/conandata.yml | 15 ++++--- recipes/at-spi2-core/new/conanfile.py | 59 +++++++++++++------------- 3 files changed, 41 insertions(+), 35 deletions(-) diff --git a/recipes/at-spi2-core/config.yml b/recipes/at-spi2-core/config.yml index f37e219eb66cb..c890631d2ad5f 100644 --- a/recipes/at-spi2-core/config.yml +++ b/recipes/at-spi2-core/config.yml @@ -25,3 +25,5 @@ versions: folder: new "2.51.0": folder: new + "2.53.1": + folder: new diff --git a/recipes/at-spi2-core/new/conandata.yml b/recipes/at-spi2-core/new/conandata.yml index 58e8f4f097094..225eb1193882e 100644 --- a/recipes/at-spi2-core/new/conandata.yml +++ b/recipes/at-spi2-core/new/conandata.yml @@ -1,13 +1,16 @@ sources: + "2.53.1": + url: "https://ftp.gnome.org/pub/gnome/sources/at-spi2-core/2.53/at-spi2-core-2.53.1.tar.xz" + sha256: "2affe2c88dae3defcd754c2c2bcecfb2e52b9541edf2e469f94b3a0bb1307cf4" "2.51.0": - sha256: 8dd07c6160e3115f4f77e2205963449def6822a3dc85d495c5db389f56663037 - url: https://ftp.gnome.org/pub/gnome/sources/at-spi2-core/2.51/at-spi2-core-2.51.0.tar.xz + url: "https://ftp.gnome.org/pub/gnome/sources/at-spi2-core/2.51/at-spi2-core-2.51.0.tar.xz" + sha256: "8dd07c6160e3115f4f77e2205963449def6822a3dc85d495c5db389f56663037" "2.50.0": - sha256: e9f5a8c8235c9dd963b2171de9120301129c677dde933955e1df618b949c4adc - url: https://ftp.gnome.org/pub/gnome/sources/at-spi2-core/2.50/at-spi2-core-2.50.0.tar.xz + url: "https://ftp.gnome.org/pub/gnome/sources/at-spi2-core/2.50/at-spi2-core-2.50.0.tar.xz" + sha256: "e9f5a8c8235c9dd963b2171de9120301129c677dde933955e1df618b949c4adc" "2.49.1": - sha256: 53ed9eb77e4c48b3bf6ac4afb5689391e0d7d0f44f7ca4443d8b13c7dd26119c - url: https://ftp.gnome.org/pub/gnome/sources/at-spi2-core/2.49/at-spi2-core-2.49.1.tar.xz + url: "https://ftp.gnome.org/pub/gnome/sources/at-spi2-core/2.49/at-spi2-core-2.49.1.tar.xz" + sha256: "53ed9eb77e4c48b3bf6ac4afb5689391e0d7d0f44f7ca4443d8b13c7dd26119c" "2.48.3": url: "https://ftp.gnome.org/pub/gnome/sources/at-spi2-core/2.48/at-spi2-core-2.48.3.tar.xz" sha256: "37316df43ca9989ce539d54cf429a768c28bb38a0b34950beadd0421827edf55" diff --git a/recipes/at-spi2-core/new/conanfile.py b/recipes/at-spi2-core/new/conanfile.py index 265bde97b8ace..e12168d36a06f 100644 --- a/recipes/at-spi2-core/new/conanfile.py +++ b/recipes/at-spi2-core/new/conanfile.py @@ -1,6 +1,6 @@ from conan import ConanFile -from conan.errors import ConanException, ConanInvalidConfiguration -from conan.tools.apple import fix_apple_shared_install_name +from conan.errors import ConanInvalidConfiguration +from conan.tools.apple import fix_apple_shared_install_name, is_apple_os from conan.tools.env import VirtualBuildEnv from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, replace_in_file, rm, rmdir from conan.tools.gnu import PkgConfigDeps @@ -32,7 +32,7 @@ class AtSpi2CoreConan(ConanFile): default_options = { "shared": False, "fPIC": True, - "with_x11": False, + "with_x11": True, } def export_sources(self): @@ -41,6 +41,8 @@ def export_sources(self): def config_options(self): if self.settings.os == "Windows": del self.options.fPIC + if self.settings.os not in ["Linux", "FreeBSD"]: + del self.options.with_x11 def configure(self): if self.options.shared: @@ -56,22 +58,20 @@ def build_requirements(self): def requirements(self): self.requires("glib/2.78.3") - if self.options.with_x11: - self.requires("xorg/system") - if self.settings.os == "Linux": + if self.settings.os in ["Linux", "FreeBSD"]: self.requires("dbus/1.15.8") + if self.options.get_safe("with_x11"): + self.requires("xorg/system") def validate(self): - if self.options.shared and not self.dependencies["glib"].options.shared: + if self.options.shared and not self.dependencies["glib"].options.shared: raise ConanInvalidConfiguration( "Linking a shared library against static glib can cause unexpected behaviour." ) - if Version(self.version) < "2.49.1": - if self.settings.os == "Windows": - raise ConanInvalidConfiguration("Windows is not supported before version 2.49.1") - if Version(self.version) < "2.50.0": - if self.settings.os == "Macos": - raise ConanInvalidConfiguration("macos is not supported before version 2.50.0") + if Version(self.version) < "2.49.1" and self.settings.os == "Windows": + raise ConanInvalidConfiguration("Windows is not supported before version 2.49.1") + if Version(self.version) < "2.50.0" and is_apple_os(self): + raise ConanInvalidConfiguration("macOS is not supported before version 2.50.0") def layout(self): basic_layout(self, src_folder="src") @@ -86,10 +86,10 @@ def generate(self): tc = MesonToolchain(self) if Version(self.version) >= "2.47.1": tc.project_options["introspection"] = "disabled" - tc.project_options["x11"] = "enabled" if self.options.with_x11 else "disabled" + tc.project_options["x11"] = "enabled" if self.options.get_safe("with_x11") else "disabled" else: tc.project_options["introspection"] = "no" - tc.project_options["x11"] = "yes" if self.options.with_x11 else "no" + tc.project_options["x11"] = "yes" if self.options.get_safe("with_x11") else "no" if self.settings.os != "Linux": tc.project_options["atk_only"] = "true" @@ -124,24 +124,25 @@ def package(self): fix_apple_shared_install_name(self) fix_msvc_libname(self) - def package_info(self): - if self.settings.os == "Linux": - self.cpp_info.components["atspi"].libs = ['atspi'] - self.cpp_info.components["atspi"].includedirs = ["include/at-spi-2.0"] - self.cpp_info.components["atspi"].requires = ["dbus::dbus", "glib::glib"] + if self.settings.os in ["Linux", "FreeBSD"]: self.cpp_info.components["atspi"].set_property("pkg_config_name", "atspi-2") + self.cpp_info.components["atspi"].libs = ["atspi"] + self.cpp_info.components["atspi"].includedirs = ["include/at-spi-2.0"] + self.cpp_info.components["atspi"].requires = ["dbus::dbus", "glib::glib-2.0", "glib::gobject-2.0"] + if self.options.with_x11: + self.cpp_info.components["atspi"].requires.extend(["xorg::x11", "xorg::xtst", "xorg::xi"]) + self.cpp_info.components["atk"].set_property("pkg_config_name", "atk") self.cpp_info.components["atk"].libs = ["atk-1.0"] - self.cpp_info.components["atk"].includedirs = ['include/atk-1.0'] - self.cpp_info.components["atk"].requires = ["glib::glib"] - self.cpp_info.components["atk"].set_property("pkg_config_name", 'atk') - - if self.settings.os == "Linux": - self.cpp_info.components["atk-bridge"].libs = ['atk-bridge-2.0'] - self.cpp_info.components["atk-bridge"].includedirs = [os.path.join('include', 'at-spi2-atk', '2.0')] - self.cpp_info.components["atk-bridge"].requires = ["dbus::dbus", "atk", "glib::glib", "atspi"] - self.cpp_info.components["atk-bridge"].set_property("pkg_config_name", 'atk-bridge-2.0') + self.cpp_info.components["atk"].includedirs = ["include/atk-1.0"] + self.cpp_info.components["atk"].requires = ["glib::glib-2.0", "glib::gobject-2.0"] + + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.components["atk-bridge"].set_property("pkg_config_name", "atk-bridge-2.0") + self.cpp_info.components["atk-bridge"].libs = ["atk-bridge-2.0"] + self.cpp_info.components["atk-bridge"].includedirs = [os.path.join("include", "at-spi2-atk", "2.0")] + self.cpp_info.components["atk-bridge"].requires = ["atspi", "atk", "glib::gmodule-2.0"] def fix_msvc_libname(conanfile, remove_lib_prefix=True): From f227a2fc4bbfcdc36f1a5d9bb554080103ae4fa5 Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 12 Sep 2024 18:51:46 +0900 Subject: [PATCH 514/641] (#25193) duckdb: add new version 1.1.0 Co-authored-by: Ernesto de Gracia Herranz --- recipes/duckdb/all/conandata.yml | 10 ++ recipes/duckdb/all/conanfile.py | 7 +- .../all/patches/1.1.0-0001-fix-cmake.patch | 110 ++++++++++++++++++ .../all/patches/1.1.0-0002-msvc-bicobj.patch | 13 +++ recipes/duckdb/config.yml | 2 + 5 files changed, 140 insertions(+), 2 deletions(-) create mode 100644 recipes/duckdb/all/patches/1.1.0-0001-fix-cmake.patch create mode 100644 recipes/duckdb/all/patches/1.1.0-0002-msvc-bicobj.patch diff --git a/recipes/duckdb/all/conandata.yml b/recipes/duckdb/all/conandata.yml index 4288594f5fc5e..cf9fce4151d56 100644 --- a/recipes/duckdb/all/conandata.yml +++ b/recipes/duckdb/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.1.0": + url: "https://github.com/duckdb/duckdb/archive/refs/tags/v1.1.0.tar.gz" + sha256: "d9be2c6d3a5ebe2b3d33044fb2cb535bb0bd972a27ae38c4de5e1b4caa4bf68d" "1.0.0": url: "https://github.com/duckdb/duckdb/archive/refs/tags/v1.0.0.tar.gz" sha256: "04e472e646f5cadd0a3f877a143610674b0d2bcf9f4102203ac3c3d02f1c5f26" @@ -33,6 +36,13 @@ sources: url: "https://github.com/duckdb/duckdb/archive/refs/tags/v0.5.1.tar.gz" sha256: "3dab7ba0d0f8d024d3c73fd3d4fb8834203c31d7b0ddb1e8539ee266e11b0e9b" patches: + "1.1.0": + - patch_file: "patches/1.1.0-0001-fix-cmake.patch" + patch_description: "install static of shared library, add installation for odbc extention" + patch_type: "portability" + - patch_file: "patches/1.1.0-0002-msvc-bicobj.patch" + patch_description: "add /bigobj flag" + patch_type: "portability" "1.0.0": - patch_file: "patches/1.0.0-0001-fix-cmake.patch" patch_description: "install static of shared library, add installation for odbc extention" diff --git a/recipes/duckdb/all/conanfile.py b/recipes/duckdb/all/conanfile.py index 0c71916124ae9..7f21bb189c4b0 100644 --- a/recipes/duckdb/all/conanfile.py +++ b/recipes/duckdb/all/conanfile.py @@ -76,6 +76,8 @@ def config_options(self): del self.options.fPIC if Version(self.version) >= "0.9.0": del self.options.with_parquet + if Version(self.version) >= "1.1.0": + del self.options.with_odbc def configure(self): if self.options.shared: @@ -86,7 +88,7 @@ def layout(self): def requirements(self): # FIXME: duckdb vendors a bunch of deps by modify the source code to have their own namespace - if self.options.with_odbc: + if self.options.get_safe("with_odbc"): self.requires("odbc/2.3.11") if self.options.with_httpfs: self.requires("openssl/[>=1.1 <4]") @@ -148,7 +150,8 @@ def generate(self): tc.variables["BUILD_EXCEL_EXTENSION"] = self.options.with_excel tc.variables["BUILD_SQLSMITH_EXTENSION"] = self.options.with_sqlsmith - tc.variables["BUILD_ODBC_DRIVER"] = self.options.with_odbc + if "self.options" in self.options: + tc.variables["BUILD_ODBC_DRIVER"] = self.options.with_odbc tc.variables["FORCE_QUERY_LOG"] = self.options.with_query_log tc.variables["BUILD_SHELL"] = self.options.with_shell tc.variables["DISABLE_THREADS"] = not self.options.with_threads diff --git a/recipes/duckdb/all/patches/1.1.0-0001-fix-cmake.patch b/recipes/duckdb/all/patches/1.1.0-0001-fix-cmake.patch new file mode 100644 index 0000000000000..988bca9f377f1 --- /dev/null +++ b/recipes/duckdb/all/patches/1.1.0-0001-fix-cmake.patch @@ -0,0 +1,110 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 7dc2bb7..89c0adc 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -896,12 +896,12 @@ function(build_loadable_extension_directory NAME ABI_TYPE OUTPUT_DIRECTORY EXTEN + set(FOOTER_VERSION_VALUE ${CAPI_VERSION}) + endif() + +- add_custom_command( +- TARGET ${TARGET_NAME} +- POST_BUILD +- COMMAND +- ${CMAKE_COMMAND} -DABI_TYPE=${ABI_TYPE} -DEXTENSION=$${EXTENSION_POSTFIX} -DPLATFORM_FILE=${DuckDB_BINARY_DIR}/duckdb_platform_out -DVERSION_FIELD="${FOOTER_VERSION_VALUE}" -DEXTENSION_VERSION="${EXTENSION_VERSION}" -DNULL_FILE=${DUCKDB_MODULE_BASE_DIR}/scripts/null.txt -P ${DUCKDB_MODULE_BASE_DIR}/scripts/append_metadata.cmake +- ) ++ # add_custom_command( ++ # TARGET ${TARGET_NAME} ++ # POST_BUILD ++ # COMMAND ++ # ${CMAKE_COMMAND} -DABI_TYPE=${ABI_TYPE} -DEXTENSION=$${EXTENSION_POSTFIX} -DPLATFORM_FILE=${DuckDB_BINARY_DIR}/duckdb_platform_out -DVERSION_FIELD="${FOOTER_VERSION_VALUE}" -DEXTENSION_VERSION="${EXTENSION_VERSION}" -DNULL_FILE=${DUCKDB_MODULE_BASE_DIR}/scripts/null.txt -P ${DUCKDB_MODULE_BASE_DIR}/scripts/append_metadata.cmake ++ # ) + add_dependencies(${TARGET_NAME} duckdb_platform) + if (NOT EXTENSION_CONFIG_BUILD AND NOT ${EXTENSION_TESTS_ONLY} AND NOT CLANG_TIDY) + add_dependencies(duckdb_local_extension_repo ${TARGET_NAME}) +@@ -931,7 +931,7 @@ function(build_static_extension NAME PARAMETERS) + set(FILES "${ARGV}") + list(REMOVE_AT FILES 0) + add_library(${NAME}_extension STATIC ${FILES}) +- target_link_libraries(${NAME}_extension duckdb_static) ++ # target_link_libraries(${NAME}_extension duckdb_static) + endfunction() + + # Internal extension register function +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 3e757a4..957f0e4 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -109,7 +109,7 @@ else() + duckdb_skiplistlib + duckdb_mbedtls + duckdb_yyjson) +- ++ if(BUILD_SHARED_LIBS) + add_library(duckdb SHARED ${ALL_OBJECT_FILES}) + + if(WIN32 AND NOT MINGW) +@@ -135,16 +135,16 @@ else() + target_link_libraries(duckdb ${DUCKDB_LINK_LIBS}) + link_threads(duckdb) + link_extension_libraries(duckdb) +- ++ endif() + add_library(duckdb_static STATIC ${ALL_OBJECT_FILES}) + target_link_libraries(duckdb_static ${DUCKDB_LINK_LIBS}) + link_threads(duckdb_static) + link_extension_libraries(duckdb_static) +- ++ if(BUILD_SHARED_LIBS) + target_include_directories( + duckdb PUBLIC $ + $) +- ++ endif() + target_include_directories( + duckdb_static PUBLIC $ + $) +@@ -160,10 +160,18 @@ else() + DESTINATION "${INSTALL_INCLUDE_DIR}") + + endif() +- ++if(BUILD_SHARED_LIBS) + install( +- TARGETS duckdb duckdb_static ++ TARGETS duckdb + EXPORT "${DUCKDB_EXPORT_SET}" + LIBRARY DESTINATION "${INSTALL_LIB_DIR}" + ARCHIVE DESTINATION "${INSTALL_LIB_DIR}" + RUNTIME DESTINATION "${INSTALL_BIN_DIR}") ++else() ++install( ++ TARGETS duckdb_static ++ EXPORT "${DUCKDB_EXPORT_SET}" ++ LIBRARY DESTINATION "${INSTALL_LIB_DIR}" ++ ARCHIVE DESTINATION "${INSTALL_LIB_DIR}" ++ RUNTIME DESTINATION "${INSTALL_BIN_DIR}") ++endif() +diff --git a/tools/sqlite3_api_wrapper/CMakeLists.txt b/tools/sqlite3_api_wrapper/CMakeLists.txt +index e29c33e..9e387f9 100644 +--- a/tools/sqlite3_api_wrapper/CMakeLists.txt ++++ b/tools/sqlite3_api_wrapper/CMakeLists.txt +@@ -26,12 +26,12 @@ if(NOT AMALGAMATION_BUILD) + endif() + link_threads(sqlite3_api_wrapper_static) + +-if(NOT WIN32 AND NOT ZOS) ++if(BUILD_SHARED_LIBS AND NOT WIN32 AND NOT ZOS) + add_library(sqlite3_api_wrapper SHARED ${SQLITE_API_WRAPPER_FILES}) + target_link_libraries(sqlite3_api_wrapper duckdb ${DUCKDB_EXTRA_LINK_FLAGS}) + link_threads(sqlite3_api_wrapper) + endif() +- ++if(0) + include_directories(../../third_party/catch) + + include_directories(test/include) +@@ -43,3 +43,4 @@ if(WIN32 OR ZOS) + else() + target_link_libraries(test_sqlite3_api_wrapper sqlite3_api_wrapper) + endif() ++endif() diff --git a/recipes/duckdb/all/patches/1.1.0-0002-msvc-bicobj.patch b/recipes/duckdb/all/patches/1.1.0-0002-msvc-bicobj.patch new file mode 100644 index 0000000000000..838678649e638 --- /dev/null +++ b/recipes/duckdb/all/patches/1.1.0-0002-msvc-bicobj.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 89c0adc..af5b786 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -574,7 +574,7 @@ if(NOT MSVC) + endif() + else() + set(CMAKE_CXX_WINDOWS_FLAGS +- "/wd4244 /wd4267 /wd4200 /wd26451 /wd26495 /D_CRT_SECURE_NO_WARNINGS /utf-8") ++ "/wd4244 /wd4267 /wd4200 /wd26451 /wd26495 /D_CRT_SECURE_NO_WARNINGS /utf-8 /bigobj") + if(TREAT_WARNINGS_AS_ERRORS) + set(CMAKE_CXX_WINDOWS_FLAGS "${CMAKE_CXX_WINDOWS_FLAGS} /WX") + endif() diff --git a/recipes/duckdb/config.yml b/recipes/duckdb/config.yml index 5a30e62447ed4..f79e88a559bee 100644 --- a/recipes/duckdb/config.yml +++ b/recipes/duckdb/config.yml @@ -1,4 +1,6 @@ versions: + "1.1.0": + folder: "all" "1.0.0": folder: "all" "0.10.2": From ed2bd93146e0d06c0d89865a3c4daabc691e4d14 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Thu, 12 Sep 2024 12:32:17 +0200 Subject: [PATCH 515/641] (#25165) add new recipe liblqr/0.4.3 * add liblqr/0.4.3 * fix licenses * add a comment about --enable-declspec argument of configure in case of static windows build --- recipes/liblqr/all/CMakeLists.txt | 44 ++++++ recipes/liblqr/all/conandata.yml | 4 + recipes/liblqr/all/conanfile.py | 130 ++++++++++++++++++ .../liblqr/all/test_package/CMakeLists.txt | 7 + recipes/liblqr/all/test_package/conanfile.py | 26 ++++ .../liblqr/all/test_package/test_package.c | 15 ++ recipes/liblqr/config.yml | 3 + 7 files changed, 229 insertions(+) create mode 100644 recipes/liblqr/all/CMakeLists.txt create mode 100644 recipes/liblqr/all/conandata.yml create mode 100644 recipes/liblqr/all/conanfile.py create mode 100644 recipes/liblqr/all/test_package/CMakeLists.txt create mode 100644 recipes/liblqr/all/test_package/conanfile.py create mode 100644 recipes/liblqr/all/test_package/test_package.c create mode 100644 recipes/liblqr/config.yml diff --git a/recipes/liblqr/all/CMakeLists.txt b/recipes/liblqr/all/CMakeLists.txt new file mode 100644 index 0000000000000..303355e779e6b --- /dev/null +++ b/recipes/liblqr/all/CMakeLists.txt @@ -0,0 +1,44 @@ +cmake_minimum_required(VERSION 3.15) +project(liblqr LANGUAGES C) + +find_package(glib REQUIRED CONFIG) + +set(LQR_SRC_SUBDIR ${LQR_SRC_DIR}/lqr) + +file(GLOB LQR_SRCS_FILES ${LQR_SRC_SUBDIR}/*.c) + +add_library(lqr-1 ${LQR_SRCS_FILES}) +target_include_directories(lqr-1 PUBLIC ${LQR_SRC_DIR} ${LQR_SRC_SUBDIR}) +target_link_libraries(lqr-1 PUBLIC glib::glib-2.0) +if(WIN32) + if(BUILD_SHARED_LIBS) + target_compile_definitions(lqr-1 PRIVATE LQR_EXPORTS) + else() + target_compile_definitions(lqr-1 PUBLIC LQR_DISABLE_DECLSPEC) + endif() +endif() + +install(FILES ${LQR_SRC_SUBDIR}/lqr.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/lqr-1) +install( + FILES + ${LQR_SRC_SUBDIR}/lqr_base.h + ${LQR_SRC_SUBDIR}/lqr_carver_bias_pub.h + ${LQR_SRC_SUBDIR}/lqr_carver_list_pub.h + ${LQR_SRC_SUBDIR}/lqr_carver_pub.h + ${LQR_SRC_SUBDIR}/lqr_carver_rigmask_pub.h + ${LQR_SRC_SUBDIR}/lqr_cursor_pub.h + ${LQR_SRC_SUBDIR}/lqr_energy_pub.h + ${LQR_SRC_SUBDIR}/lqr_gradient_pub.h + ${LQR_SRC_SUBDIR}/lqr_progress_pub.h + ${LQR_SRC_SUBDIR}/lqr_rwindow_pub.h + ${LQR_SRC_SUBDIR}/lqr_vmap_list_pub.h + ${LQR_SRC_SUBDIR}/lqr_vmap_pub.h + DESTINATION + ${CMAKE_INSTALL_INCLUDEDIR}/lqr-1/lqr +) +install( + TARGETS lqr-1 + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} +) diff --git a/recipes/liblqr/all/conandata.yml b/recipes/liblqr/all/conandata.yml new file mode 100644 index 0000000000000..d562db29a3a36 --- /dev/null +++ b/recipes/liblqr/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "0.4.3": + url: "http://liblqr.wdfiles.com/local--files/en:download-page/liblqr-1-0.4.3.tar.bz2" + sha256: "862fc5cecaa96d38d4d9279c8a6fbfc276393f0548909ee0912e41df59894471" diff --git a/recipes/liblqr/all/conanfile.py b/recipes/liblqr/all/conanfile.py new file mode 100644 index 0000000000000..56681e130e9e4 --- /dev/null +++ b/recipes/liblqr/all/conanfile.py @@ -0,0 +1,130 @@ +from conan import ConanFile +from conan.tools.apple import fix_apple_shared_install_name +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.env import VirtualBuildEnv +from conan.tools.files import copy, get, rm, rmdir +from conan.tools.gnu import Autotools, AutotoolsToolchain, PkgConfigDeps +from conan.tools.layout import basic_layout +import os + +required_conan_version = ">=1.54.0" + + +class LibLqrConan(ConanFile): + name = "liblqr" + description = ( + "The LiquidRescale (lqr) library provides a C/C++ API for performing " + "non-uniform resizing of images by the seam-carving technique." + ) + license = ("LGPL-3.0-or-later", "GPL-3.0-or-later") + url = "https://github.com/conan-io/conan-center-index" + homepage = "http://liblqr.wikidot.com" + topics = ("image", "resizing", "seam-carving") + package_type = "library" + settings = "os", "arch", "compiler", "build_type" + options = { + "shared": [True, False], + "fPIC": [True, False], + } + default_options = { + "shared": False, + "fPIC": True, + } + + @property + def _is_cl_like(self): + return self.settings.compiler.get_safe("runtime") is not None + + @property + def _settings_build(self): + return getattr(self, "settings_build", self.settings) + + def export_sources(self): + copy(self, "CMakeLists.txt", src=self.recipe_folder, dst=self.export_sources_folder) + + def config_options(self): + if self.settings.os == "Windows": + del self.options.fPIC + + def configure(self): + if self.options.shared: + self.options.rm_safe("fPIC") + self.settings.rm_safe("compiler.cppstd") + self.settings.rm_safe("compiler.libcxx") + + def layout(self): + if self._is_cl_like: + cmake_layout(self, src_folder="src") + else: + basic_layout(self, src_folder="src") + + def requirements(self): + self.requires("glib/2.81.0", transitive_headers=True) + + def build_requirements(self): + if not self._is_cl_like: + if not self.conf.get("tools.gnu:pkg_config", check_type=str): + self.tool_requires("pkgconf/[>=2.2 <3]") + if self._settings_build.os == "Windows": + self.win_bash = True + if not self.conf.get("tools.microsoft.bash:path", check_type=str): + self.tool_requires("msys2/cci.latest") + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + if self._is_cl_like: + tc = CMakeToolchain(self) + tc.variables["LQR_SRC_DIR"] = self.source_folder.replace("\\", "/") + tc.generate() + deps = CMakeDeps(self) + deps.generate() + else: + env = VirtualBuildEnv(self) + env.generate() + + tc = AutotoolsToolchain(self) + yes_no = lambda v: "yes" if v else "no" + tc.configure_args.append("--disable-install-man") + if self.settings.os == "Windows": + # This option in upstream configure.ac must be disabled for static + # windows build, to avoid adding __declspec(dllexport) in front + # of declarations during build. + tc.configure_args.append(f"--enable-declspec={yes_no(self.options.shared)}") + tc.generate() + + deps = PkgConfigDeps(self) + deps.generate() + + def build(self): + if self._is_cl_like: + cmake = CMake(self) + cmake.configure(build_script_folder=os.path.join(self.source_folder, os.pardir)) + cmake.build() + else: + autotools = Autotools(self) + autotools.configure() + autotools.make() + + def package(self): + copy(self, "COPYING*", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + if self._is_cl_like: + cmake = CMake(self) + cmake.install() + else: + autotools = Autotools(self) + autotools.install() + rm(self, "*.la", os.path.join(self.package_folder, "lib")) + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) + fix_apple_shared_install_name(self) + + def package_info(self): + self.cpp_info.set_property("pkg_config_name", "lqr-1") + self.cpp_info.includedirs = [os.path.join("include", "lqr-1")] + self.cpp_info.libs = ["lqr-1"] + self.cpp_info.requires = ["glib::glib-2.0"] + if self.settings.os == "Windows" and not self.options.shared: + self.cpp_info.defines.append("LQR_DISABLE_DECLSPEC") + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.system_libs.append("m") diff --git a/recipes/liblqr/all/test_package/CMakeLists.txt b/recipes/liblqr/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..fe1dadeb5b33a --- /dev/null +++ b/recipes/liblqr/all/test_package/CMakeLists.txt @@ -0,0 +1,7 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES C) + +find_package(liblqr REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.c) +target_link_libraries(${PROJECT_NAME} PRIVATE liblqr::liblqr) diff --git a/recipes/liblqr/all/test_package/conanfile.py b/recipes/liblqr/all/test_package/conanfile.py new file mode 100644 index 0000000000000..0a6bc68712d90 --- /dev/null +++ b/recipes/liblqr/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/liblqr/all/test_package/test_package.c b/recipes/liblqr/all/test_package/test_package.c new file mode 100644 index 0000000000000..890b1df50ef9c --- /dev/null +++ b/recipes/liblqr/all/test_package/test_package.c @@ -0,0 +1,15 @@ +#include + +#include + +int main() { + gint channels = 3; + gint w = 100; + gint h = 100; + guchar *rgb_buffer = (guchar *) malloc(channels * w * h * sizeof(guchar)); + + LqrCarver *r = lqr_carver_new(rgb_buffer, w, h, channels); + lqr_carver_destroy(r); + + return 0; +} diff --git a/recipes/liblqr/config.yml b/recipes/liblqr/config.yml new file mode 100644 index 0000000000000..9be35d17501c4 --- /dev/null +++ b/recipes/liblqr/config.yml @@ -0,0 +1,3 @@ +versions: + "0.4.3": + folder: all From 0cb4c054c2de20d935b9c1f07bdcad66a582b27b Mon Sep 17 00:00:00 2001 From: Ingmar Rieger Date: Thu, 12 Sep 2024 12:50:59 +0200 Subject: [PATCH 516/641] (#25194) imath: Add version 3.1.12 --- recipes/imath/all/conandata.yml | 3 +++ recipes/imath/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/imath/all/conandata.yml b/recipes/imath/all/conandata.yml index 3f20468a0db96..afe9fa4328195 100644 --- a/recipes/imath/all/conandata.yml +++ b/recipes/imath/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.1.12": + url: "https://github.com/AcademySoftwareFoundation/Imath/archive/v3.1.12.tar.gz" + sha256: "8a1bc258f3149b5729c2f4f8ffd337c0e57f09096e4ba9784329f40c4a9035da" "3.1.11": url: "https://github.com/AcademySoftwareFoundation/Imath/archive/v3.1.11.tar.gz" sha256: "9057849585e49b8b85abe7cc1e76e22963b01bfdc3b6d83eac90c499cd760063" diff --git a/recipes/imath/config.yml b/recipes/imath/config.yml index 61b9f04e8a57f..299f457f6ad28 100644 --- a/recipes/imath/config.yml +++ b/recipes/imath/config.yml @@ -1,4 +1,6 @@ versions: + "3.1.12": + folder: all "3.1.11": folder: all "3.1.10": From 4ba3bce72cf1e80f051527728cd124e77a548c57 Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 12 Sep 2024 20:11:27 +0900 Subject: [PATCH 517/641] (#25199) wiringpi: add version 3.10 --- recipes/wiringpi/all/conandata.yml | 3 +++ recipes/wiringpi/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/wiringpi/all/conandata.yml b/recipes/wiringpi/all/conandata.yml index 213d5e40f0cce..01a4914b9830b 100644 --- a/recipes/wiringpi/all/conandata.yml +++ b/recipes/wiringpi/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.10": + url: "https://github.com/WiringPi/WiringPi/archive/refs/tags/3.10.tar.gz" + sha256: "d0a7b182154e763b4baff1a57a5e0fca093fcf081f663cb2fb17f5ada564e016" "3.8": url: "https://github.com/WiringPi/WiringPi/archive/refs/tags/3.8.tar.gz" sha256: "6159764d3d036486f0a110cd5393b1413c1f334d464b7337117fece59ea04bc9" diff --git a/recipes/wiringpi/config.yml b/recipes/wiringpi/config.yml index 7e735c5b7dd32..36ce1b9437329 100644 --- a/recipes/wiringpi/config.yml +++ b/recipes/wiringpi/config.yml @@ -1,4 +1,6 @@ versions: + "3.10": + folder: "all" "3.8": folder: "all" "3.6": From 44f76a293fceaf612a691a55f0032c48b9dfe63e Mon Sep 17 00:00:00 2001 From: Wadim Klincov Date: Thu, 12 Sep 2024 13:33:08 +0200 Subject: [PATCH 518/641] (#25222) aravis: add version 0.8.33 --- recipes/aravis/all/conandata.yml | 3 +++ recipes/aravis/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/aravis/all/conandata.yml b/recipes/aravis/all/conandata.yml index 3a163fd8d1e6f..07eea0a5354b4 100644 --- a/recipes/aravis/all/conandata.yml +++ b/recipes/aravis/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.8.33": + url: "https://github.com/AravisProject/aravis/releases/download/0.8.33/aravis-0.8.33.tar.xz" + sha256: "3c4409a12ea70bba4de25e5b08c777112de854bc801896594f2cb6f8c2bd6fbc" "0.8.30": url: "https://github.com/AravisProject/aravis/releases/download/0.8.30/aravis-0.8.30.tar.xz" sha256: "40380f06fa04524a7875bd456e5a5ea78b2c058fa84b5598bc6e0642fcef00b0" diff --git a/recipes/aravis/config.yml b/recipes/aravis/config.yml index 62d9bfe99223a..456a2949d4232 100644 --- a/recipes/aravis/config.yml +++ b/recipes/aravis/config.yml @@ -1,4 +1,6 @@ versions: + "0.8.33": + folder: all "0.8.30": folder: all "0.8.29": From 9737e85292e837c87f00fe34719f457f4f70a73e Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Thu, 12 Sep 2024 16:22:39 +0100 Subject: [PATCH 519/641] (#25243) [bot] Update authorized users list (2024-09-12) Co-authored-by: conan-center-bot --- .c3i/authorized_users.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.c3i/authorized_users.yml b/.c3i/authorized_users.yml index a038b886512ea..ef46e5f8fdb56 100644 --- a/.c3i/authorized_users.yml +++ b/.c3i/authorized_users.yml @@ -1418,3 +1418,4 @@ authorized_users: - itsmejoeeey - JustCallMeRay - shun2wang +- czheng-bt From 17f3c60b7960158c34deb3c7eb3f20f6d3ecf321 Mon Sep 17 00:00:00 2001 From: czheng-bt Date: Thu, 12 Sep 2024 11:32:17 -0500 Subject: [PATCH 520/641] (#25207) cnats: add version 3.8.2 Co-authored-by: Ernesto de Gracia Herranz --- recipes/cnats/all/conandata.yml | 3 +++ recipes/cnats/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/cnats/all/conandata.yml b/recipes/cnats/all/conandata.yml index 7a17667b0dc32..ebda96545ffb0 100644 --- a/recipes/cnats/all/conandata.yml +++ b/recipes/cnats/all/conandata.yml @@ -2,3 +2,6 @@ sources: "3.8.0": url: "https://github.com/nats-io/nats.c/archive/refs/tags/v3.8.0.tar.gz" sha256: "465811380cdc6eab3304e40536d03f99977a69c0e56fcf566000c29dd075e4dd" + "3.8.2": + url: "https://github.com/nats-io/nats.c/archive/refs/tags/v3.8.2.tar.gz" + sha256: "083ee03cf5a413629d56272e88ad3229720c5006c286e8180c9e5b745c10f37d" diff --git a/recipes/cnats/config.yml b/recipes/cnats/config.yml index ca7b223bb16c2..5defa697a5927 100644 --- a/recipes/cnats/config.yml +++ b/recipes/cnats/config.yml @@ -1,3 +1,5 @@ versions: "3.8.0": folder: all + "3.8.2": + folder: all From a2f63daea887c5679a91b4bedc67949d523dca51 Mon Sep 17 00:00:00 2001 From: dmpriso Date: Fri, 13 Sep 2024 15:06:13 +0200 Subject: [PATCH 521/641] (#23234) added opus 1.5.1 * [config] Add some conan v2 ready refenrences to the list * added opus 1.5.1 * Added CMP0077 as suggested Co-authored-by: Martin Valgur * Change sources url * add cmake 3.16 or higher br * gcc5 invalid * gcc7 invalid * Update cmake variables Signed-off-by: Uilian Ries * Remove new options due dnn Signed-off-by: Uilian Ries * Add Virtualbuildenv for cmake Signed-off-by: Uilian Ries * Add missing Version Signed-off-by: Uilian Ries * Apply lint suggestiongs Signed-off-by: Uilian Ries --------- Signed-off-by: Uilian Ries Co-authored-by: danimtb Co-authored-by: danimtb Co-authored-by: Martin Valgur Co-authored-by: Uilian Ries --- recipes/opus/all/conandata.yml | 5 +++++ recipes/opus/all/conanfile.py | 23 +++++++++++++++++++---- recipes/opus/config.yml | 2 ++ 3 files changed, 26 insertions(+), 4 deletions(-) diff --git a/recipes/opus/all/conandata.yml b/recipes/opus/all/conandata.yml index 5ac1b419900e1..a7288d00d394f 100644 --- a/recipes/opus/all/conandata.yml +++ b/recipes/opus/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.5.2": + url: "https://gitlab.xiph.org/xiph/opus/-/archive/v1.5.2/opus-v1.5.2.tar.gz" + sha256: "5cf92b5b577d8ed203424f1e0f618f30bc6b6e42a26eae88bdb649ea63961cc9" "1.4": url: "https://github.com/xiph/opus/releases/download/v1.4/opus-1.4.tar.gz" sha256: "c9b32b4253be5ae63d1ff16eea06b94b5f0f2951b7a02aceef58e3a3ce49c51f" @@ -8,3 +11,5 @@ sources: patches: "1.3.1": - patch_file: "patches/1.3.1-add-opus_buildtype-cmake.patch" + patch_description: "Set a default build type if none was specified" + patch_type: "portability" diff --git a/recipes/opus/all/conanfile.py b/recipes/opus/all/conanfile.py index 2dfefae5f4332..f1ca41949ac83 100644 --- a/recipes/opus/all/conanfile.py +++ b/recipes/opus/all/conanfile.py @@ -1,7 +1,10 @@ from conan import ConanFile +from conan.errors import ConanInvalidConfiguration from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rmdir -from conan.tools.microsoft import check_min_vs +from conan.tools.microsoft import check_min_vs, is_msvc, is_msvc_static_runtime +from conan.tools.env import VirtualBuildEnv +from conan.tools.scm import Version import os required_conan_version = ">=1.53.0" @@ -14,7 +17,7 @@ class OpusConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "https://opus-codec.org" license = "BSD-3-Clause" - + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -29,6 +32,10 @@ class OpusConan(ConanFile): "stack_protector": True, } + def build_requirements(self): + if Version(self.version) >= "1.5.2": + self.tool_requires("cmake/[>=3.16 <4]") + def export_sources(self): export_conandata_patches(self) @@ -47,15 +54,23 @@ def layout(self): def validate(self): check_min_vs(self, 190) + if Version(self.version) >= "1.5.2" and self.settings.compiler == "gcc" and Version(self.settings.compiler.version) < "8": + raise ConanInvalidConfiguration(f"{self.ref} GCC-{self.settings.compiler.version} not supported due to lack of AVX2 support. Use GCC >=8.") def source(self): get(self, **self.conan_data["sources"][self.version], destination=self.source_folder, strip_root=True) def generate(self): + if Version(self.version) >= "1.5.2": + env = VirtualBuildEnv(self) + env.generate() tc = CMakeToolchain(self) - tc.variables["OPUS_FIXED_POINT"] = self.options.fixed_point - tc.variables["OPUS_STACK_PROTECTOR"] = self.options.stack_protector + tc.cache_variables["OPUS_BUILD_SHARED_LIBRARY"] = self.options.shared + tc.cache_variables["OPUS_FIXED_POINT"] = self.options.fixed_point + tc.cache_variables["OPUS_STACK_PROTECTOR"] = self.options.stack_protector + if Version(self.version) >= "1.5.2" and is_msvc(self): + tc.cache_variables["OPUS_STATIC_RUNTIME"] = is_msvc_static_runtime(self) tc.generate() def build(self): diff --git a/recipes/opus/config.yml b/recipes/opus/config.yml index 3360afdd0ecab..e9cd861cf2166 100644 --- a/recipes/opus/config.yml +++ b/recipes/opus/config.yml @@ -1,4 +1,6 @@ versions: + "1.5.2": + folder: all "1.4": folder: all "1.3.1": From ac0972a9f38f192b7e93800537f61a736b0e95cb Mon Sep 17 00:00:00 2001 From: Uilian Ries Date: Fri, 13 Sep 2024 15:21:31 +0200 Subject: [PATCH 522/641] (#25240) [docs] Add changelog entry for update done on 12-SEP-2024 Signed-off-by: Uilian Ries --- docs/changelog.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/docs/changelog.md b/docs/changelog.md index 97b4bcc886c5c..ecdf3c49ada2f 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -1,5 +1,10 @@ # Changelog +### 12-Sep-2024 - 09:23 CEST + +- [feature] Add support for Conan 2.7.1 in the CI +- [feature] Add support for Conan 1.65.0 in the CI + ### 10-Jul-2024 - 13:22 CEST - [feature] Add support for Conan 2.5.0 in the CI From b2e2108b0f772c3109f83313f3c4f64f32a309b4 Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 14 Sep 2024 00:11:49 +0900 Subject: [PATCH 523/641] (#25204) trantor: add version 1.5.21 --- recipes/trantor/all/conandata.yml | 7 +++++++ recipes/trantor/config.yml | 2 ++ 2 files changed, 9 insertions(+) diff --git a/recipes/trantor/all/conandata.yml b/recipes/trantor/all/conandata.yml index ad57e8dec42a5..5a4f49b13641d 100644 --- a/recipes/trantor/all/conandata.yml +++ b/recipes/trantor/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.5.21": + url: "https://github.com/an-tao/trantor/archive/v1.5.21.tar.gz" + sha256: "c267e8d3657a85751554a6877efd1199f6766a9fd6418d2c72839ad0a8943988" "1.5.20": url: "https://github.com/an-tao/trantor/archive/v1.5.20.tar.gz" sha256: "4d3b98c228aafde1001cff581cf8d1a4a9f71f7b2a85a28978b560aefc21c038" @@ -18,6 +21,10 @@ sources: url: "https://github.com/an-tao/trantor/archive/v1.5.13.tar.gz" sha256: "36f02302bff3ffa8d2b1bff29f451d7a11d215a43963fb95aa543b555de2f9bf" patches: + "1.5.21": + - patch_file: "patches/1.5.19-0001-disable-werror.patch" + patch_description: "disable -Werror for gcc5" + patch_type: "portability" "1.5.20": - patch_file: "patches/1.5.19-0001-disable-werror.patch" patch_description: "disable -Werror for gcc5" diff --git a/recipes/trantor/config.yml b/recipes/trantor/config.yml index 1d9afbed435a0..ab1925b20e516 100644 --- a/recipes/trantor/config.yml +++ b/recipes/trantor/config.yml @@ -1,4 +1,6 @@ versions: + "1.5.21": + folder: "all" "1.5.20": folder: "all" "1.5.19": From 45257e937ed3767a54101c6a1c1be261309b7224 Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 14 Sep 2024 00:31:36 +0900 Subject: [PATCH 524/641] (#25238) uwebsockets: add version 20.66.0 Co-authored-by: Ernesto de Gracia Herranz --- recipes/uwebsockets/all/conandata.yml | 3 +++ recipes/uwebsockets/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/uwebsockets/all/conandata.yml b/recipes/uwebsockets/all/conandata.yml index ed6be06ed604c..aee0683603d8b 100644 --- a/recipes/uwebsockets/all/conandata.yml +++ b/recipes/uwebsockets/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "20.66.0": + url: "https://github.com/uNetworking/uWebSockets/archive/v20.66.0.tar.gz" + sha256: "54d1a8cfb46e1814e1525e9bc72a4652aa708f352e55f35ef4b55804c98bfee1" "20.65.0": url: "https://github.com/uNetworking/uWebSockets/archive/v20.65.0.tar.gz" sha256: "e261f7c124b3b9e217fc766d6e51d4fdc4b227aa52c7a0ca5952a9e65cea4213" diff --git a/recipes/uwebsockets/config.yml b/recipes/uwebsockets/config.yml index f22f342dc70d3..ef42fd1e163d6 100644 --- a/recipes/uwebsockets/config.yml +++ b/recipes/uwebsockets/config.yml @@ -1,4 +1,6 @@ versions: + "20.66.0": + folder: all "20.65.0": folder: all "20.64.0": From 78ab0ece0c36f1c0c44ba76fbdc512594936efb3 Mon Sep 17 00:00:00 2001 From: Esteban Dugueperoux <43169544+EstebanDugueperoux2@users.noreply.github.com> Date: Mon, 16 Sep 2024 11:11:20 +0200 Subject: [PATCH 525/641] (#25178) Upgrade MaterialX to 1.39.1 release MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Upgrade MaterialX to 1.39.1 release * Fix Cmake version and hardcoded cxx standards * Fix Cmake version and hardcoded cxx standards --------- Co-authored-by: Abril Rincón Blanco --- recipes/materialx/all/conandata.yml | 3 +++ recipes/materialx/all/conanfile.py | 25 ++++++++++++++++++++----- recipes/materialx/config.yml | 2 ++ 3 files changed, 25 insertions(+), 5 deletions(-) diff --git a/recipes/materialx/all/conandata.yml b/recipes/materialx/all/conandata.yml index 833be07aa53a6..f0f8336613f73 100644 --- a/recipes/materialx/all/conandata.yml +++ b/recipes/materialx/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.39.1": + url: "https://github.com/AcademySoftwareFoundation/MaterialX/archive/refs/tags/v1.39.1.tar.gz" + sha256: "a392fd0aa372bbea7a6f27d20160829ec9380a801976ff467949a90e6555258d" "1.38.10": url: "https://github.com/AcademySoftwareFoundation/MaterialX/archive/refs/tags/v1.38.10.tar.gz" sha256: "706f44100188bc283a135ad24b348e55b405ac9e70cb64b7457c381383cc2887" diff --git a/recipes/materialx/all/conanfile.py b/recipes/materialx/all/conanfile.py index 2c3fec3a18990..910d0145067ce 100644 --- a/recipes/materialx/all/conanfile.py +++ b/recipes/materialx/all/conanfile.py @@ -2,7 +2,7 @@ from conan.errors import ConanInvalidConfiguration from conan.tools.build import check_min_cppstd from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout -from conan.tools.files import copy, export_conandata_patches, get, rm, rmdir +from conan.tools.files import copy, export_conandata_patches, get, rm, rmdir, replace_in_file from conan.tools.apple import is_apple_os from conan.tools.scm import Version import os @@ -35,7 +35,10 @@ class MaterialXConan(ConanFile): @property def _min_cppstd(self): - return 14 + if Version(self.version) >= "1.39.0": + return 17 + else: + return 14 @property def _compilers_minimum_version(self): @@ -59,12 +62,11 @@ def configure(self): self.options.rm_safe("fPIC") def layout(self): - # src_folder must use the same source folder name the project cmake_layout(self, src_folder="src") def requirements(self): if self.options.with_openimageio: - self.requires("openimageio/2.5.10.1") + self.requires("openimageio/2.5.14.0") if self.settings.os in ["Linux", "FreeBSD"]: self.requires("xorg/system") self.requires("opengl/system") @@ -80,7 +82,7 @@ def validate(self): ) def build_requirements(self): - self.tool_requires("cmake/[>=3.16 <4]") + self.tool_requires("cmake/[>=3.24 <4]") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) @@ -91,12 +93,25 @@ def generate(self): tc.variables["MATERIALX_TEST_RENDER"] = False tc.variables["MATERIALX_BUILD_SHARED_LIBS"] = self.options.shared tc.variables["MATERIALX_BUILD_GEN_MSL"] = self.options.build_gen_msl and is_apple_os + # TODO: Remove when Conan 1 support is dropped + if not self.settings.compiler.cppstd: + tc.variables["MATERIALX_BUILD_USE_CCACHE"] = self._min_cppstd + tc.variables["MATERIALX_BUILD_USE_CCACHE"] = False tc.generate() tc = CMakeDeps(self) tc.generate() + def _patch_sources(self): + replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), + "set(CMAKE_CXX_STANDARD", + "# set(CMAKE_CXX_STANDARD") + replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), + "set(CMAKE_POSITION_INDEPENDENT_CODE", + "# set(CMAKE_POSITION_INDEPENDENT_CODE") + def build(self): + cmake = CMake(self) cmake.configure() cmake.build() diff --git a/recipes/materialx/config.yml b/recipes/materialx/config.yml index 88daea6e8239b..a0bedf2527f55 100644 --- a/recipes/materialx/config.yml +++ b/recipes/materialx/config.yml @@ -1,3 +1,5 @@ versions: + "1.39.1": + folder: all "1.38.10": folder: all From 5e31e6905e2624c341bb96cfa50c36c81a7e86c2 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Mon, 16 Sep 2024 11:31:09 +0200 Subject: [PATCH 526/641] (#25213) libarchive: bump deps & use version range for xz_utils & zstd + use correct dependency for with_pcreposix option MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * bump deps & use version range for xz_utils & zstd * depends on pcre instead of pcre2 when with_pcreposix is enabled * Update recipes/libarchive/all/conanfile.py * Fix conflicts --------- Co-authored-by: Abril Rincón Blanco --- recipes/libarchive/all/conanfile.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/recipes/libarchive/all/conanfile.py b/recipes/libarchive/all/conanfile.py index c68aabe657d31..ee0e26469819f 100644 --- a/recipes/libarchive/all/conanfile.py +++ b/recipes/libarchive/all/conanfile.py @@ -93,7 +93,7 @@ def requirements(self): if self.options.with_iconv: self.requires("libiconv/1.17") if self.options.with_pcreposix: - self.requires("pcre2/10.42") + self.requires("pcre/8.45") if self.options.with_nettle: self.requires("nettle/3.9.1") if self.options.with_openssl: @@ -105,11 +105,11 @@ def requirements(self): if self.options.with_lzo: self.requires("lzo/2.10") if self.options.with_lzma: - self.requires("xz_utils/5.4.5") + self.requires("xz_utils/[>=5.4.5 <6]") if self.options.with_zstd: - self.requires("zstd/1.5.5") + self.requires("zstd/[>=1.5 <1.6]") if self.options.get_safe("with_mbedtls"): - self.requires("mbedtls/3.5.1") + self.requires("mbedtls/3.6.1") if self.options.get_safe("with_pcre2"): self.requires("pcre2/10.43") From ded30bad06df7d6780ab111d849ed4d999467376 Mon Sep 17 00:00:00 2001 From: Guillaume Egles Date: Mon, 16 Sep 2024 10:51:08 +0100 Subject: [PATCH 527/641] (#25125) openssl: add versions `3.0.15`, `3.1.7`, `3.2.3`, `3.3.2` * openssl: add versions `3.0.15`, `3.1.7`, `3.2.3`, `3.3.2` * openssl: update Windows workaround for OpenSSL 3.3.2 --------- Co-authored-by: Marian Klymov --- recipes/openssl/3.x.x/conandata.yml | 12 ++++++++++++ recipes/openssl/3.x.x/conanfile.py | 6 +++++- recipes/openssl/config.yml | 8 ++++++++ 3 files changed, 25 insertions(+), 1 deletion(-) diff --git a/recipes/openssl/3.x.x/conandata.yml b/recipes/openssl/3.x.x/conandata.yml index 2d9a9b8cb4c8e..10986e398a3f8 100644 --- a/recipes/openssl/3.x.x/conandata.yml +++ b/recipes/openssl/3.x.x/conandata.yml @@ -1,19 +1,31 @@ sources: + 3.3.2: + url: "https://github.com/openssl/openssl/releases/download/openssl-3.3.2/openssl-3.3.2.tar.gz" + sha256: 2e8a40b01979afe8be0bbfb3de5dc1c6709fedb46d6c89c10da114ab5fc3d281 3.3.1: url: "https://github.com/openssl/openssl/releases/download/openssl-3.3.1/openssl-3.3.1.tar.gz" sha256: 777cd596284c883375a2a7a11bf5d2786fc5413255efab20c50d6ffe6d020b7e + 3.2.3: + url: "https://github.com/openssl/openssl/releases/download/openssl-3.2.3/openssl-3.2.3.tar.gz" + sha256: 52b5f1c6b8022bc5868c308c54fb77705e702d6c6f4594f99a0df216acf46239 3.2.2: url: "https://github.com/openssl/openssl/releases/download/openssl-3.2.2/openssl-3.2.2.tar.gz" sha256: 197149c18d9e9f292c43f0400acaba12e5f52cacfe050f3d199277ea738ec2e7 3.2.1: url: "https://github.com/openssl/openssl/releases/download/openssl-3.2.1/openssl-3.2.1.tar.gz" sha256: 83c7329fe52c850677d75e5d0b0ca245309b97e8ecbcfdc1dfdc4ab9fac35b39 + 3.1.7: + url: "https://github.com/openssl/openssl/releases/download/openssl-3.1.7/openssl-3.1.7.tar.gz" + sha256: 053a31fa80cf4aebe1068c987d2ef1e44ce418881427c4464751ae800c31d06c 3.1.6: url: "https://github.com/openssl/openssl/releases/download/openssl-3.1.6/openssl-3.1.6.tar.gz" sha256: 5d2be4036b478ef3cb0a854ca9b353072c3a0e26d8a56f8f0ab9fb6ed32d38d7 3.1.5: url: "https://github.com/openssl/openssl/releases/download/openssl-3.1.5/openssl-3.1.5.tar.gz" sha256: 6ae015467dabf0469b139ada93319327be24b98251ffaeceda0221848dc09262 + 3.0.15: + url: "https://github.com/openssl/openssl/releases/download/openssl-3.0.15/openssl-3.0.15.tar.gz" + sha256: 23c666d0edf20f14249b3d8f0368acaee9ab585b09e1de82107c66e1f3ec9533 3.0.14: url: "https://github.com/openssl/openssl/releases/download/openssl-3.0.14/openssl-3.0.14.tar.gz" sha256: eeca035d4dd4e84fc25846d952da6297484afa0650a6f84c682e39df3a4123ca diff --git a/recipes/openssl/3.x.x/conanfile.py b/recipes/openssl/3.x.x/conanfile.py index 91c611c18115c..711e03e2c27a9 100644 --- a/recipes/openssl/3.x.x/conanfile.py +++ b/recipes/openssl/3.x.x/conanfile.py @@ -519,7 +519,11 @@ def _make(self): if Version(self.version) >= "3.3.0": # replace backslashes in paths with forward slashes mkinstallvars_pl = os.path.join(self.source_folder, "util", "mkinstallvars.pl") - replace_in_file(self, mkinstallvars_pl, "$ENV{$k} = $v;", """$v =~ s|\\\\|/|g; $ENV{$k} = $v;""") + if Version(self.version) >= "3.3.2": + replace_in_file(self, mkinstallvars_pl, "push @{$values{$k}}, $v;", """$v =~ s|\\\\|/|g; push @{$values{$k}}, $v;""") + replace_in_file(self, mkinstallvars_pl, "$values{$k} = $v;", """$v->[0] =~ s|\\\\|/|g; $values{$k} = $v;""") + else: + replace_in_file(self, mkinstallvars_pl, "$ENV{$k} = $v;", """$v =~ s|\\\\|/|g; $ENV{$k} = $v;""") self._run_make() def _make_install(self): diff --git a/recipes/openssl/config.yml b/recipes/openssl/config.yml index 474c4c3f3696f..9ada8cd7b7467 100644 --- a/recipes/openssl/config.yml +++ b/recipes/openssl/config.yml @@ -1,14 +1,22 @@ versions: + "3.3.2": + folder: "3.x.x" "3.3.1": folder: "3.x.x" + "3.2.3": + folder: "3.x.x" "3.2.2": folder: "3.x.x" "3.2.1": folder: "3.x.x" + "3.1.7": + folder: "3.x.x" "3.1.6": folder: "3.x.x" "3.1.5": folder: "3.x.x" + "3.0.15": + folder: "3.x.x" "3.0.14": folder: "3.x.x" "3.0.13": From 4532655e59c23cf29e9dd26b93ab5ba4cebd578c Mon Sep 17 00:00:00 2001 From: Jeremy Rifkin <51220084+jeremy-rifkin@users.noreply.github.com> Date: Mon, 16 Sep 2024 05:31:03 -0500 Subject: [PATCH 528/641] (#25177) libdwarf: Add versions 0.9.2 to 0.11.0 --- recipes/libdwarf/all/conandata.yml | 21 ++++++ .../all/patches/0.10.1-0001-fixes.patch | 65 ++++++++++++++++++ .../all/patches/0.9.2-0001-fixes.patch | 66 +++++++++++++++++++ recipes/libdwarf/config.yml | 6 ++ 4 files changed, 158 insertions(+) create mode 100644 recipes/libdwarf/all/patches/0.10.1-0001-fixes.patch create mode 100644 recipes/libdwarf/all/patches/0.9.2-0001-fixes.patch diff --git a/recipes/libdwarf/all/conandata.yml b/recipes/libdwarf/all/conandata.yml index 1a5e4c96d2caf..bdb4e53c187f7 100644 --- a/recipes/libdwarf/all/conandata.yml +++ b/recipes/libdwarf/all/conandata.yml @@ -1,4 +1,13 @@ sources: + "0.11.0": + url: "https://github.com/davea42/libdwarf-code/archive/refs/tags/v0.11.0.tar.gz" + sha256: "5135af38dc202206538a3dcdc90675aa8b320e132156849c6855dea5ea0c0729" + "0.10.1": + url: "https://github.com/davea42/libdwarf-code/archive/refs/tags/v0.10.1.tar.gz" + sha256: "4ab8ae7b4b7aa42453725054b348f4fdb2460d5ba644199a1305311c718ff416" + "0.9.2": + url: "https://github.com/davea42/libdwarf-code/archive/refs/tags/v0.9.2.tar.gz" + sha256: "5371c68248c16a4a9cb071284c87c0cdb8f560d5277e0b86893fdc6576062f95" "0.9.1": url: "https://github.com/davea42/libdwarf-code/archive/refs/tags/v0.9.1.tar.gz" sha256: "6da3f46a9f92b4e284c97c733851879d9b91b16642bede90c7614860a946824e" @@ -15,6 +24,18 @@ sources: url: "https://www.prevanders.net/libdwarf-0.5.0.tar.xz" sha256: "11fa822c60317fa00e1a01a2ac9e8388f6693e8662ab72d352c5f50c7e0112a9" patches: + "0.11.0": + - patch_file: "patches/0.10.1-0001-fixes.patch" + patch_description: "fix DW_API definition and cmake" + patch_type: "portability" + "0.10.1": + - patch_file: "patches/0.10.1-0001-fixes.patch" + patch_description: "fix DW_API definition and cmake" + patch_type: "portability" + "0.9.2": + - patch_file: "patches/0.9.2-0001-fixes.patch" + patch_description: "fix DW_API definition and cmake" + patch_type: "portability" "0.9.1": - patch_file: "patches/0.9.1-0001-fixes.patch" patch_description: "fix DW_API definition and cmake" diff --git a/recipes/libdwarf/all/patches/0.10.1-0001-fixes.patch b/recipes/libdwarf/all/patches/0.10.1-0001-fixes.patch new file mode 100644 index 0000000000000..8b49c6af7451b --- /dev/null +++ b/recipes/libdwarf/all/patches/0.10.1-0001-fixes.patch @@ -0,0 +1,65 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index f219f078..d8a78136 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -226,6 +226,12 @@ if (ENABLE_DECOMPRESSION) + set(HAVE_ZSTD_H TRUE) + set(BUILT_WITH_ZLIB_AND_ZSTD TRUE) + endif() ++ find_package(zstd CONFIG REQUIRED) ++ if(TARGET zstd::libzstd_shared) ++ set(ZSTD_LIB zstd::libzstd_shared) ++ else() ++ set(ZSTD_LIB zstd::libzstd_static) ++ endif() + endif () + + message(STATUS "CMAKE_SIZEOF_VOID_P ... " ${CMAKE_SIZEOF_VOID_P} ) +diff --git a/src/lib/libdwarf/CMakeLists.txt b/src/lib/libdwarf/CMakeLists.txt +index 02787555..862c97b8 100644 +--- a/src/lib/libdwarf/CMakeLists.txt ++++ b/src/lib/libdwarf/CMakeLists.txt +@@ -117,7 +117,7 @@ install(TARGETS dwarf + PUBLIC_HEADER DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}" + ) + +-configure_file(libdwarf.pc.in libdwarf.pc @ONLY) ++# configure_file(libdwarf.pc.in libdwarf.pc @ONLY) + + # The install has to be here, not in + # another CMakeLists.txt to make install work properly +@@ -135,5 +135,5 @@ install(EXPORT libdwarfTargets + FILE libdwarf-targets.cmake + NAMESPACE libdwarf:: + DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/libdwarf") +-install(FILES "${PROJECT_BINARY_DIR}/src/lib/libdwarf/libdwarf.pc" DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig") ++# install(FILES "${PROJECT_BINARY_DIR}/src/lib/libdwarf/libdwarf.pc" DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig") + install(FILES "${PROJECT_SOURCE_DIR}/cmake/Findzstd.cmake" DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/libdwarf") +index 380d2ef7..8c62ee7e 100644 +--- a/src/lib/libdwarf/libdwarf.h ++++ b/src/lib/libdwarf/libdwarf.h +@@ -51,7 +51,7 @@ + #endif /* DW_API */ + + #ifndef LIBDWARF_STATIC +-# if defined(_WIN32) || defined(__CYGWIN__) ++# if defined(LIBDWARF_SHARED) && (defined(_WIN32) || defined(__CYGWIN__)) + # ifdef LIBDWARF_BUILD + # define DW_API __declspec(dllexport) + # else /* !LIBDWARF_BUILD */ +diff --git a/src/lib/libdwarf/libdwarf_private.h b/src/lib/libdwarf/libdwarf_private.h +index b37ae994..7fa89256 100644 +--- a/src/lib/libdwarf/libdwarf_private.h ++++ b/src/lib/libdwarf/libdwarf_private.h +@@ -26,11 +26,7 @@ + #ifdef _MSC_VER /* Macro to select VS compiler */ + #include + typedef SSIZE_T ssize_t; +-#ifdef _WIN64 +-typedef long long off_t; +-#else + typedef long off_t; +-#endif + #endif /* _MSC_VER */ + + #ifndef TRUE diff --git a/recipes/libdwarf/all/patches/0.9.2-0001-fixes.patch b/recipes/libdwarf/all/patches/0.9.2-0001-fixes.patch new file mode 100644 index 0000000000000..937423ef0cfb3 --- /dev/null +++ b/recipes/libdwarf/all/patches/0.9.2-0001-fixes.patch @@ -0,0 +1,66 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index f219f078..d8a78136 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -225,6 +225,12 @@ if (ENABLE_DECOMPRESSION) + set(HAVE_ZSTD_H TRUE) + set(BUILT_WITH_ZLIB_AND_ZSTD TRUE) + endif() ++ find_package(zstd CONFIG REQUIRED) ++ if(TARGET zstd::libzstd_shared) ++ set(ZSTD_LIB zstd::libzstd_shared) ++ else() ++ set(ZSTD_LIB zstd::libzstd_static) ++ endif() + endif () + + message(STATUS "CMAKE_SIZEOF_VOID_P ... " ${CMAKE_SIZEOF_VOID_P} ) +diff --git a/src/lib/libdwarf/CMakeLists.txt b/src/lib/libdwarf/CMakeLists.txt +index 6cb0b24e..069343ba 100644 +--- a/src/lib/libdwarf/CMakeLists.txt ++++ b/src/lib/libdwarf/CMakeLists.txt +@@ -117,7 +117,7 @@ install(TARGETS dwarf + PUBLIC_HEADER DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}" + ) + +-configure_file(libdwarf.pc.cmake libdwarf.pc @ONLY) ++# configure_file(libdwarf.pc.cmake libdwarf.pc @ONLY) + + # The install has to be here, not in + # another CMakeLists.txt to make install work properly +@@ -135,5 +135,5 @@ install(EXPORT libdwarfTargets + FILE libdwarf-targets.cmake + NAMESPACE libdwarf:: + DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/libdwarf") +-install(FILES "${PROJECT_BINARY_DIR}/src/lib/libdwarf/libdwarf.pc" DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig") ++# install(FILES "${PROJECT_BINARY_DIR}/src/lib/libdwarf/libdwarf.pc" DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig") + install(FILES "${PROJECT_SOURCE_DIR}/cmake/Findzstd.cmake" DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/libdwarf") +diff --git a/src/lib/libdwarf/libdwarf.h b/src/lib/libdwarf/libdwarf.h +index 380d2ef7..8c62ee7e 100644 +--- a/src/lib/libdwarf/libdwarf.h ++++ b/src/lib/libdwarf/libdwarf.h +@@ -51,7 +51,7 @@ + #endif /* DW_API */ + + #ifndef LIBDWARF_STATIC +-# if defined(_WIN32) || defined(__CYGWIN__) ++# if defined(LIBDWARF_SHARED) && (defined(_WIN32) || defined(__CYGWIN__)) + # ifdef LIBDWARF_BUILD + # define DW_API __declspec(dllexport) + # else /* !LIBDWARF_BUILD */ +diff --git a/src/lib/libdwarf/libdwarf_private.h b/src/lib/libdwarf/libdwarf_private.h +index b37ae994..7fa89256 100644 +--- a/src/lib/libdwarf/libdwarf_private.h ++++ b/src/lib/libdwarf/libdwarf_private.h +@@ -26,11 +26,7 @@ + #ifdef _MSC_VER /* Macro to select VS compiler */ + #include + typedef SSIZE_T ssize_t; +-#ifdef _WIN64 +-typedef long long off_t; +-#else + typedef long off_t; +-#endif + #endif /* _MSC_VER */ + + #ifndef TRUE diff --git a/recipes/libdwarf/config.yml b/recipes/libdwarf/config.yml index b5a49fc99b335..fcb658d2d4a9c 100644 --- a/recipes/libdwarf/config.yml +++ b/recipes/libdwarf/config.yml @@ -1,4 +1,10 @@ versions: + "0.11.0": + folder: all + "0.10.1": + folder: all + "0.9.2": + folder: all "0.9.1": folder: all "0.9.0": From 856f4e9fed321f1f62919cc1fecbff2425e04ffc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20Hamonic?= Date: Mon, 16 Sep 2024 12:50:35 +0200 Subject: [PATCH 529/641] (#25189) new recipe for melon/1.0.0-alpha.1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * new recipe for melon/1.0.0-alpha.1 * fixed url in conanfile.py * removed unecessary stuff in conanfile.py + improved test_package * Cleanup, pin dependencies --------- Co-authored-by: Abril Rincón Blanco --- recipes/melon/all/conandata.yml | 4 + recipes/melon/all/conanfile.py | 76 +++++++++++++++++++ recipes/melon/all/test_package/CMakeLists.txt | 8 ++ recipes/melon/all/test_package/conanfile.py | 27 +++++++ .../melon/all/test_package/test_package.cpp | 47 ++++++++++++ recipes/melon/config.yml | 3 + 6 files changed, 165 insertions(+) create mode 100644 recipes/melon/all/conandata.yml create mode 100644 recipes/melon/all/conanfile.py create mode 100644 recipes/melon/all/test_package/CMakeLists.txt create mode 100644 recipes/melon/all/test_package/conanfile.py create mode 100644 recipes/melon/all/test_package/test_package.cpp create mode 100644 recipes/melon/config.yml diff --git a/recipes/melon/all/conandata.yml b/recipes/melon/all/conandata.yml new file mode 100644 index 0000000000000..9550cdb9601e7 --- /dev/null +++ b/recipes/melon/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "1.0.0-alpha.1": + url: "https://github.com/fhamonic/melon/archive/refs/tags/v1.0.0-alpha.1.tar.gz" + sha256: "370f6bb1fddc68f1ab771c8b659fed6d9dc8da51290897ed72fd87589143220c" diff --git a/recipes/melon/all/conanfile.py b/recipes/melon/all/conanfile.py new file mode 100644 index 0000000000000..0d83d36ecc529 --- /dev/null +++ b/recipes/melon/all/conanfile.py @@ -0,0 +1,76 @@ +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import check_min_cppstd +from conan.tools.files import copy, get +from conan.tools.layout import basic_layout +from conan.tools.scm import Version +import os + + +required_conan_version = ">=1.52.0" + +class PackageConan(ConanFile): + name = "melon" + description = "A modern and efficient graph library using C++20 ranges and concepts." + license = "BSL-1.0" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/fhamonic/melon" + topics = ("graph", "algorithm", "ranges", "c++20", "header-only") + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" + no_copy_source = True + + @property + def _min_cppstd(self): + return 20 + + @property + def _compilers_minimum_version(self): + return { + "apple-clang": "14", + "clang": "17", + "gcc": "12", + "msvc": "192", + "Visual Studio": "17", + } + + def layout(self): + basic_layout(self, src_folder="src") + + def requirements(self): + self.requires("range-v3/0.12.0") + self.requires("fmt/10.2.1") + + def package_id(self): + self.info.clear() + + def validate(self): + if self.settings.compiler.get_safe("cppstd"): + check_min_cppstd(self, self._min_cppstd) + minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) + if minimum_version and Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration( + f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." + ) + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def build(self): + pass + + def package(self): + copy(self, "LICENSE", self.source_folder, os.path.join(self.package_folder, "licenses")) + copy( + self, + "*.hpp", + os.path.join(self.source_folder, "include"), + os.path.join(self.package_folder, "include"), + ) + + def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] + + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.system_libs.extend(["pthread"]) diff --git a/recipes/melon/all/test_package/CMakeLists.txt b/recipes/melon/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..17e2b8206c6aa --- /dev/null +++ b/recipes/melon/all/test_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) + +find_package(melon REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE melon::melon) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_20) diff --git a/recipes/melon/all/test_package/conanfile.py b/recipes/melon/all/test_package/conanfile.py new file mode 100644 index 0000000000000..0a808db45f245 --- /dev/null +++ b/recipes/melon/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 layout(self): + cmake_layout(self) + + def requirements(self): + self.requires(self.tested_reference_str) + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/melon/all/test_package/test_package.cpp b/recipes/melon/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..f0417c2d7cc52 --- /dev/null +++ b/recipes/melon/all/test_package/test_package.cpp @@ -0,0 +1,47 @@ +#include "melon/algorithm/bidirectional_dijkstra.hpp" +#include "melon/utility/static_digraph_builder.hpp" +#include "melon/container/static_digraph.hpp" + +using namespace fhamonic::melon; + +// test_package with bidirectional dijkstra because it condenses range-v3 uses +// shown to overwhelm some compilers + +int main(int argc, char *argv[]) +{ + static_digraph_builder builder(6); + + builder.add_arc(0u, 1u, 7); // 0 + builder.add_arc(0u, 2u, 9); // 1 + builder.add_arc(0u, 5u, 14); // 2 + builder.add_arc(1u, 0u, 7); // 3 + builder.add_arc(1u, 2u, 10); // 4 + builder.add_arc(1u, 3u, 15); // 5 + builder.add_arc(2u, 0u, 9); // 6 + builder.add_arc(2u, 1u, 10); // 7 + builder.add_arc(2u, 3u, 12); // 8 + builder.add_arc(2u, 5u, 2); // 9 + builder.add_arc(3u, 1u, 15); // 10 + builder.add_arc(3u, 2u, 12); // 11 + builder.add_arc(3u, 4u, 6); // 12 + builder.add_arc(4u, 3u, 6); // 13 + builder.add_arc(4u, 5u, 9); // 14 + builder.add_arc(5u, 0u, 14); // 15 + builder.add_arc(5u, 2u, 2); // 16 + builder.add_arc(5u, 4u, 9); // 17 + + auto [graph, length_map] = builder.build(); + + bidirectional_dijkstra alg(graph, length_map, 0u, 3u); + + int dist = alg.run(); + if (dist != 21) return EXIT_FAILURE; + + if (!alg.path_found()) return EXIT_FAILURE; + auto path = alg.path(); + if (std::ranges::distance(path) != 2) return EXIT_FAILURE; + if (std::ranges::find(path, 1u) == path.end()) return EXIT_FAILURE; + if (std::ranges::find(path, 8u) == path.end()) return EXIT_FAILURE; + + return EXIT_SUCCESS; +} diff --git a/recipes/melon/config.yml b/recipes/melon/config.yml new file mode 100644 index 0000000000000..6aee52e82f90c --- /dev/null +++ b/recipes/melon/config.yml @@ -0,0 +1,3 @@ +versions: + "1.0.0-alpha.1": + folder: all From 2e68a1e785731b29c2c8fd180f257efc7bb14829 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 16 Sep 2024 23:32:40 +0900 Subject: [PATCH 530/641] (#25249) cpp-httplib: add version 0.18.0 --- recipes/cpp-httplib/all/conandata.yml | 3 +++ recipes/cpp-httplib/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/cpp-httplib/all/conandata.yml b/recipes/cpp-httplib/all/conandata.yml index d3693f4478c4c..0670cdc087177 100644 --- a/recipes/cpp-httplib/all/conandata.yml +++ b/recipes/cpp-httplib/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.18.0": + url: "https://github.com/yhirose/cpp-httplib/archive/v0.18.0.tar.gz" + sha256: "6ed5894bbbc4a34a0f4c5e962672d0003d2ea099bbadacc66f6dee2b213ff394" "0.17.3": url: "https://github.com/yhirose/cpp-httplib/archive/v0.17.3.tar.gz" sha256: "95bd6dba4241656c59d6f0854d408d14c220f7c71e673319ee27d30aee741aaa" diff --git a/recipes/cpp-httplib/config.yml b/recipes/cpp-httplib/config.yml index 992888a540248..c86ca5c2b8cb2 100644 --- a/recipes/cpp-httplib/config.yml +++ b/recipes/cpp-httplib/config.yml @@ -1,4 +1,6 @@ versions: + "0.18.0": + folder: all "0.17.3": folder: all "0.17.1": From dee641b75bf7f5b52d113813f17bd609e4de69f4 Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Mon, 16 Sep 2024 15:41:42 +0100 Subject: [PATCH 531/641] (#25279) [bot] Update authorized users list (2024-09-16) 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 ef46e5f8fdb56..39c27c970be1f 100644 --- a/.c3i/authorized_users.yml +++ b/.c3i/authorized_users.yml @@ -1419,3 +1419,6 @@ authorized_users: - JustCallMeRay - shun2wang - czheng-bt +- jorgen +- simshi +- alatarum From 252118ab6637c7805a925fb8c92e3f5678694f00 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Abril=20Rinc=C3=B3n=20Blanco?= Date: Mon, 16 Sep 2024 17:02:22 +0200 Subject: [PATCH 532/641] (#25246) Add ITK 5.3.0 * Add ITK 5.3.0 --------- Co-authored-by: Ray Co-authored-by: Uilian Ries * Add missing patch * Fix test v1 package Signed-off-by: Uilian Ries * Simplify itk cmake dir Signed-off-by: Uilian Ries --------- Signed-off-by: Uilian Ries Co-authored-by: Ray Co-authored-by: Uilian Ries --- recipes/itk/all/conandata.yml | 7 + recipes/itk/all/conanfile.py | 47 ++++- .../patches/0002-find-conan-packages.patch | 189 ++++++++++++++++++ recipes/itk/config.yml | 2 + 4 files changed, 238 insertions(+), 7 deletions(-) create mode 100644 recipes/itk/all/patches/0002-find-conan-packages.patch diff --git a/recipes/itk/all/conandata.yml b/recipes/itk/all/conandata.yml index 9e7f86e6f5246..74a479bc9586a 100644 --- a/recipes/itk/all/conandata.yml +++ b/recipes/itk/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "5.3.0": + url: "https://github.com/InsightSoftwareConsortium/ITK/releases/download/v5.3.0/InsightToolkit-5.3.0.tar.gz" + sha256: "57a4471133dc8f76bde3d6eb45285c440bd40d113428884a1487472b7b71e383" "5.1.2": url: "https://github.com/InsightSoftwareConsortium/ITK/releases/download/v5.1.2/InsightToolkit-5.1.2.tar.gz" sha256: "f1e5a78e11125348f68f655c6b89b617c3a8b2c09f710081f621054811a70c98" @@ -6,6 +9,10 @@ sources: url: "https://github.com/InsightSoftwareConsortium/ITK/releases/download/v5.1.0/InsightToolkit-5.1.0.tar.gz" sha256: "121020a1611508cec8123eb5226215598cec07be627d843a2e6b6da891e61d13" patches: + "5.3.0": + - patch_file: "patches/0002-find-conan-packages.patch" + patch_description: "inject thirdparties from conan" + patch_type: "conan" "5.1.2": - patch_file: "patches/0001-find-conan-packages.patch" patch_description: "inject thirdparties from conan" diff --git a/recipes/itk/all/conanfile.py b/recipes/itk/all/conanfile.py index 61b826eb365a1..0ab11f37d60c6 100644 --- a/recipes/itk/all/conanfile.py +++ b/recipes/itk/all/conanfile.py @@ -1,6 +1,7 @@ from conan import ConanFile from conan.tools.build import check_min_cppstd from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.env import VirtualBuildEnv from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, replace_in_file, rmdir, save from conan.tools.microsoft import check_min_vs, is_msvc from conan.tools.scm import Version @@ -80,6 +81,10 @@ def requirements(self): self.requires("onetbb/2021.9.0") self.requires("zlib/[>=1.2.11 <2]") + def build_requirements(self): + if Version(self.version) >= "5.3.0": + self.tool_requires("cmake/[>=3.16.3 <4]") + def validate(self): if self.options.shared and not self.dependencies["hdf5"].options.shared: raise ConanInvalidConfiguration("When building a shared itk, hdf5 needs to be shared too (or not linked to by the consumer).\n" @@ -107,6 +112,9 @@ def generate(self): tc.variables["BUILD_EXAMPLES"] = False tc.variables["BUILD_TESTING"] = False tc.variables["BUILD_DOCUMENTATION"] = False + tc.variables["DO_NOT_BUILD_ITK_TEST_DRIVER"] = True + tc.variables["DO_NOT_INSTALL_ITK_TEST_DRIVER"] = True + tc.variables["DISABLE_MODULE_TESTS"] = True tc.variables["ITK_SKIP_PATH_LENGTH_CHECKS"] = True tc.variables["ITK_USE_SYSTEM_LIBRARIES"] = True @@ -238,6 +246,9 @@ def generate(self): tc = CMakeDeps(self) tc.generate() + venv = VirtualBuildEnv(self) + venv.generate() + def _patch_sources(self): apply_conandata_patches(self) #The CMake policy CMP0091 must be NEW, but is '' @@ -261,6 +272,10 @@ def _itk_subdir(self): def _cmake_module_dir(self): return os.path.join("lib", "cmake", self._itk_subdir) + @property + def _module_variables_file_rel_path(self): + return os.path.join(self._cmake_module_dir, f"conan-official-{self.name}-variables.cmake") + @property def _module_file_rel_path(self): return os.path.join(self._cmake_module_dir, f"conan-official-{self.name}-targets.cmake") @@ -455,6 +470,10 @@ def libdl(): "ITKVideoCore": {"requires": ["ITKCommon"]}, } + def _create_cmake_module_variables(self): + content = 'set(ITK_CMAKE_DIR "${CMAKE_CURRENT_LIST_DIR}")' + save(self, os.path.join(self.package_folder, self._module_variables_file_rel_path), content) + def _create_cmake_module_alias_targets(self): targets = {target:f"ITK::{target}" for target in self._itk_components.keys()} content = "" @@ -467,6 +486,14 @@ def _create_cmake_module_alias_targets(self): """) save(self, os.path.join(self.package_folder, self._module_file_rel_path), content) + @property + def _itk_modules_files(self): + cmake_files = [] + if Version(self.version) >= "5.3": + cmake_files.extend(["ITKFactoryRegistration.cmake", "ITKInitializeCXXStandard.cmake"]) + cmake_files.append("UseITK.cmake") + return cmake_files + def package(self): copy(self, pattern="LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) cmake = CMake(self) @@ -475,18 +502,23 @@ def package(self): 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, self._cmake_module_dir, "Modules")) - # Do not remove UseITK.cmake and *.h.in files + + # Do not remove UseITK.cmake, ITKFactoryRegistration.cmake, ITKInitializeCXXStandard.cmake and *.h.in files for cmake_file in glob.glob(os.path.join(self.package_folder, self._cmake_module_dir, "*.cmake")): - if os.path.basename(cmake_file) != "UseITK.cmake": + file_name = os.path.basename(cmake_file) + if file_name not in self._itk_modules_files: os.remove(cmake_file) + + self._create_cmake_module_variables() self._create_cmake_module_alias_targets() def package_info(self): - self.cpp_info.set_property("cmake_file_name", "ITK") - self.cpp_info.set_property("cmake_build_modules", [os.path.join(self._cmake_module_dir, "UseITK.cmake")]) - itk_version = Version(self.version) lib_suffix = f"-{itk_version.major}.{itk_version.minor}" + build_modules = [self._module_variables_file_rel_path] + build_modules.extend([os.path.join(self._cmake_module_dir, f) for f in self._itk_modules_files]) + self.cpp_info.set_property("cmake_file_name", "ITK") + self.cpp_info.set_property("cmake_build_modules", build_modules) for name, values in self._itk_components.items(): is_header_only = values.get("header_only", False) @@ -504,8 +536,9 @@ def package_info(self): # TODO: to remove in conan v2 once cmake_find_package* generators removed for generator in ["cmake_find_package", "cmake_find_package_multi"]: self.cpp_info.components[name].names[generator] = name - self.cpp_info.components[name].build_modules[generator].append(self._module_file_rel_path) - self.cpp_info.components[name].build_modules[generator].append(os.path.join(self._cmake_module_dir, "UseITK.cmake")) + self.cpp_info.components[name].build_modules[generator].extend([self._module_file_rel_path, self._module_variables_file_rel_path]) + self.cpp_info.components[name].build_modules[generator].extend( + [os.path.join(self._cmake_module_dir, f) for f in self._itk_modules_files]) # TODO: to remove in conan v2 once cmake_find_package* generators removed for generator in ["cmake_find_package", "cmake_find_package_multi"]: diff --git a/recipes/itk/all/patches/0002-find-conan-packages.patch b/recipes/itk/all/patches/0002-find-conan-packages.patch new file mode 100644 index 0000000000000..34b81a5788250 --- /dev/null +++ b/recipes/itk/all/patches/0002-find-conan-packages.patch @@ -0,0 +1,189 @@ +--- Modules/ThirdParty/Eigen3/itk-module-init.cmake ++++ Modules/ThirdParty/Eigen3/itk-module-init.cmake +@@ -1,3 +1,3 @@ + if(ITK_USE_SYSTEM_EIGEN) +- find_package(Eigen3 REQUIRED CONFIG) ++ find_package(Eigen3 REQUIRED) + endif() +--- Modules/ThirdParty/DCMTK/itk-module-init.cmake ++++ Modules/ThirdParty/DCMTK/itk-module-init.cmake +@@ -24,7 +24,7 @@ + if(ITK_USE_SYSTEM_DCMTK) + # Use local FindDCMTK.cmake. + list(INSERT CMAKE_MODULE_PATH 0 "${CMAKE_CURRENT_LIST_DIR}/CMake") +- find_package(DCMTK REQUIRED NO_MODULE) ++ find_package(DCMTK REQUIRED) + else(ITK_USE_SYSTEM_DCMTK) + # Copied and mofified from DCMTK/CMake/3rdparty.cmake + if(NOT DEFINED DCMTK_USE_ICU) +--- Modules/ThirdParty/Eigen3/CMakeLists.txt ++++ Modules/ThirdParty/Eigen3/CMakeLists.txt +@@ -52,9 +52,9 @@ + + if(ITK_USE_SYSTEM_EIGEN) + set(_Eigen3_SYSTEM_OR_INTERNAL "Eigen3") +- find_package(${_Eigen3_SYSTEM_OR_INTERNAL} ${_Eigen3_min_version} REQUIRED CONFIG) +- set(Eigen3_DIR_INSTALL ${Eigen3_DIR}) +- set(Eigen3_DIR_BUILD ${Eigen3_DIR}) ++ find_package(${_Eigen3_SYSTEM_OR_INTERNAL} ${_Eigen3_min_version} REQUIRED) ++ set(Eigen3_DIR_INSTALL ${Eigen3_INCLUDE_DIR}) ++ set(Eigen3_DIR_BUILD ${Eigen3_INCLUDE_DIR}) + else() + set(_Eigen3_SYSTEM_OR_INTERNAL "ITKInternalEigen3") + find_package(${_Eigen3_SYSTEM_OR_INTERNAL} ${_Eigen3_min_version} REQUIRED CONFIG) +@@ -66,7 +66,7 @@ + # Eigen3 is header only, but there are compile definitions that we want to provide + # to enforce use of MPL only code, and to disable warnings. + # We only need to add the location of the header itk_eigen.h used internally. +-get_target_property(Eigen_INCLUDE_DIRS ${_eigen_itk_target} INTERFACE_INCLUDE_DIRECTORIES) ++set(Eigen_INCLUDE_DIRS ${Eigen3_INCLUDE_DIRS}) + set(ITKEigen3_INCLUDE_DIRS + ${Eigen_INCLUDE_DIRS} + ${ITKEigen3_BINARY_DIR}/src # For the generated itk_eigen.h +@@ -75,14 +75,10 @@ + # When this module is loaded by an app, load Eigen too. + # Load ITKInternalEigen3 or Eigen3 depending on ITK_USE_SYSTEM_EIGEN + set(ITKEigen3_EXPORT_CODE_INSTALL " +-set(ITK_USE_SYSTEM_EIGEN \"${ITK_USE_SYSTEM_EIGEN}\") +-set(${_Eigen3_SYSTEM_OR_INTERNAL}_DIR \"${Eigen3_DIR_INSTALL}\") +-find_package(${_Eigen3_SYSTEM_OR_INTERNAL} ${_Eigen3_min_version} REQUIRED CONFIG) ++find_package(${_Eigen3_SYSTEM_OR_INTERNAL} ${_Eigen3_min_version} REQUIRED) + ") + set(ITKEigen3_EXPORT_CODE_BUILD " +-set(ITK_USE_SYSTEM_EIGEN \"${ITK_USE_SYSTEM_EIGEN}\") +-set(${_Eigen3_SYSTEM_OR_INTERNAL}_DIR \"${Eigen3_DIR_BUILD}\") +-find_package(${_Eigen3_SYSTEM_OR_INTERNAL} ${_Eigen3_min_version} REQUIRED CONFIG) ++find_package(${_Eigen3_SYSTEM_OR_INTERNAL} ${_Eigen3_min_version} REQUIRED) + ") + + # Eigen3 targets are not installed if ITK_USE_SYSTEM_EIGEN==True +--- Modules/ThirdParty/Eigen3/src/itk_eigen.h.in ++++ Modules/ThirdParty/Eigen3/src/itk_eigen.h.in +@@ -43,10 +43,10 @@ + set(Eigen3_DIR ${ITKInternalEigen3_DIR}) + endif() + message(STATUS "From ITK: Eigen3_DIR: ${Eigen3_DIR}") +-find_package(Eigen3 REQUIRED CONFIG) ++find_package(Eigen3 REQUIRED) + add_executable(main main.cpp) + target_link_libraries(main PUBLIC ${ITK_LIBRARIES}) + target_link_libraries(main PUBLIC Eigen3::Eigen) + \endcode + * + * Then, the user can use Eigen3 as usual: +--- Modules/ThirdParty/JPEG/CMakeLists.txt ++++ Modules/ThirdParty/JPEG/CMakeLists.txt +@@ -6,13 +6,13 @@ + + if(ITK_USE_SYSTEM_JPEG) + find_package(JPEG REQUIRED) + set(ITKJPEG_INCLUDE_DIRS + ${ITKJPEG_BINARY_DIR}/src + ) + set(ITKJPEG_SYSTEM_INCLUDE_DIRS + ${JPEG_INCLUDE_DIR} + ) +- set(ITKJPEG_LIBRARIES "${JPEG_LIBRARIES}") ++ set(ITKJPEG_LIBRARIES JPEG::JPEG) + set(ITKJPEG_NO_SRC 1) + else() + set(ITKJPEG_INCLUDE_DIRS +--- Modules/ThirdParty/DoubleConversion/CMakeLists.txt ++++ Modules/ThirdParty/DoubleConversion/CMakeLists.txt +@@ -8,8 +8,8 @@ + + if(ITK_USE_SYSTEM_DOUBLECONVERSION) + find_package(double-conversion 3.1.6 REQUIRED) +- get_target_property(ITKDoubleConversion_INCLUDE_DIRS double-conversion::double-conversion INTERFACE_INCLUDE_DIRECTORIES) +- get_target_property(ITKDoubleConversion_LIBRARIES double-conversion::double-conversion LOCATION) ++ set(ITKDoubleConversion_INCLUDE_DIRS ${double-conversion_INCLUDE_DIRS}) ++ set(ITKDoubleConversion_LIBRARIES ${double-conversion_LIBRARIES}) + else() + set(ITKDoubleConversion_INCLUDE_DIRS + ${ITKDoubleConversion_SOURCE_DIR}/src +--- Modules/ThirdParty/Expat/CMakeLists.txt ++++ Modules/ThirdParty/Expat/CMakeLists.txt +@@ -6,9 +6,9 @@ + + if(ITK_USE_SYSTEM_EXPAT) + find_package(EXPAT REQUIRED) +- set(ITKExpat_INCLUDE_DIRS ${ITKExpat_BINARY_DIR}/src ) +- set(ITKExpat_SYSTEM_INCLUDE_DIRS "${EXPAT_INCLUDE_DIR}") +- set(ITKExpat_LIBRARIES "${EXPAT_LIBRARY}") ++ set(ITKExpat_INCLUDE_DIRS ${EXPAT_INCLUDE_DIRECTORIES}) ++ set(ITKExpat_SYSTEM_INCLUDE_DIRS ${EXPAT_INCLUDE_DIRECTORIES}) ++ set(ITKExpat_LIBRARIES EXPAT::EXPAT) + set(ITKExpat_NO_SRC 1) + else() + set(ITKExpat_INCLUDE_DIRS +--- Modules/ThirdParty/HDF5/CMakeLists.txt ++++ Modules/ThirdParty/HDF5/CMakeLists.txt +@@ -19,25 +19,9 @@ if(CMAKE_LINKER MATCHES "link.exe$") + endif() + + if(ITK_USE_SYSTEM_HDF5) +- +- if(HDF5_DIR) +- set(_HDF5_DIR_CODE "set(HDF5_DIR \"${HDF5_DIR}\")") +- endif() +- if(HDF5_NO_MODULE) +- set(_HDF5_NO_MODULE_ARG "NO_MODULE") +- endif() +- +- # When ITK's config is loaded, load HDF5 too. +- set(ITKHDF5_EXPORT_CODE_INSTALL " +-${_HDF5_DIR_CODE} +-find_package(HDF5 ${_HDF5_NO_MODULE_ARG} REQUIRED COMPONENTS CXX C HL) +-") +- set(ITKHDF5_EXPORT_CODE_BUILD " +-if(NOT ITK_BINARY_DIR) +- ${_HDF5_DIR_CODE} +- find_package(HDF5 ${_HDF5_NO_MODULE_ARG} REQUIRED COMPONENTS CXX C HL) +-endif() +-") ++ find_package(HDF5 REQUIRED) ++ set(HDF5_C_SHARED_LIBRARY HDF5::HDF5) ++ set(HDF5_C_STATIC_LIBRARY HDF5::HDF5) + + if(BUILD_SHARED_LIBS) + if (TARGET hdf5-shared) +--- Modules/ThirdParty/OpenJPEG/src/CMakeLists.txt ++++ Modules/ThirdParty/OpenJPEG/src/CMakeLists.txt +@@ -4,5 +4,8 @@ + set(ITK3P_INSTALL_RUNTIME_DIR "${ITKOpenJPEG_INSTALL_RUNTIME_DIR}") + set(ITK3P_INSTALL_LIBRARY_DIR "${ITKOpenJPEG_INSTALL_LIBRARY_DIR}") + set(ITK3P_INSTALL_ARCHIVE_DIR "${ITKOpenJPEG_INSTALL_ARCHIVE_DIR}") +-add_subdirectory(openjpeg) +-itk_module_target(itkopenjpeg NO_INSTALL) ++find_package(OpenJPEG REQUIRED) ++add_library(itkopenjpeg INTERFACE) ++set_property(TARGET itkopenjpeg PROPERTY INTERFACE_LINK_LIBRARIES openjp2) ++#target_compile_definitions(itkopenjpeg INTERFACE) ++install(TARGETS itkopenjpeg EXPORT ${ITK3P_INSTALL_EXPORT_NAME}) +--- Modules/ThirdParty/TBB/CMakeLists.txt ++++ Modules/ThirdParty/TBB/CMakeLists.txt +@@ -8,14 +8,14 @@ set(ITKTBB_NO_SRC 1) + # When this module is loaded by an app, load TBB too. + set(ITKTBB_EXPORT_CODE_INSTALL " + set(TBB_DIR \"${TBB_DIR}\") +-find_package(TBB REQUIRED CONFIG) ++find_package(TBB REQUIRED) + ") + + # When this module is configured by an app, configure TBB too. + set(ITKTBB_EXPORT_CODE_BUILD " + if(NOT ITK_BINARY_DIR) + set(TBB_DIR \"${TBB_DIR}\") +- find_package(TBB REQUIRED CONFIG) ++ find_package(TBB REQUIRED) + endif() + ") + +diff --git a/Modules/ThirdParty/TBB/itk-module-init.cmake b/Modules/ThirdParty/TBB/itk-module-init.cmake +index 1b7ee20a..0859ef33 100644 +--- a/Modules/ThirdParty/TBB/itk-module-init.cmake ++++ b/Modules/ThirdParty/TBB/itk-module-init.cmake +@@ -1,2 +1,2 @@ +-find_package(TBB REQUIRED CONFIG) # must have TBBConfig.cmake, provided since version tbb2017_20170604oss ++find_package(TBB REQUIRED) + get_target_property(TBB_INCLUDE_DIRS TBB::tbb INTERFACE_INCLUDE_DIRECTORIES) diff --git a/recipes/itk/config.yml b/recipes/itk/config.yml index 989b5ee90fe13..f362c6f4b0b84 100644 --- a/recipes/itk/config.yml +++ b/recipes/itk/config.yml @@ -1,4 +1,6 @@ versions: + "5.3.0": + folder: "all" "5.1.2": folder: "all" "5.1.0": From 2170b03c90c045f97240d0d07b4b3c9327013b51 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 17 Sep 2024 00:31:53 +0900 Subject: [PATCH 533/641] (#25265) pybind11: add version 2.13.6 --- recipes/pybind11/all/conandata.yml | 3 +++ recipes/pybind11/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/pybind11/all/conandata.yml b/recipes/pybind11/all/conandata.yml index 5ff5ec72e5c37..5901aae7c96f6 100644 --- a/recipes/pybind11/all/conandata.yml +++ b/recipes/pybind11/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.13.6": + url: "https://github.com/pybind/pybind11/archive/v2.13.6.tar.gz" + sha256: "e08cb87f4773da97fa7b5f035de8763abc656d87d5773e62f6da0587d1f0ec20" "2.13.5": url: "https://github.com/pybind/pybind11/archive/v2.13.5.tar.gz" sha256: "b1e209c42b3a9ed74da3e0b25a4f4cd478d89d5efbb48f04b277df427faf6252" diff --git a/recipes/pybind11/config.yml b/recipes/pybind11/config.yml index 2aa582761dc4a..cb2960aa24b66 100644 --- a/recipes/pybind11/config.yml +++ b/recipes/pybind11/config.yml @@ -1,4 +1,6 @@ versions: + "2.13.6": + folder: all "2.13.5": folder: all "2.13.4": From 2b4ac6e4d90df7c3477b62e79a6e04c14ea22d67 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 17 Sep 2024 00:51:24 +0900 Subject: [PATCH 534/641] (#25268) debug-assert: add version 1.3.4 --- recipes/debug_assert/all/conandata.yml | 9 ++++++--- recipes/debug_assert/config.yml | 4 +++- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/recipes/debug_assert/all/conandata.yml b/recipes/debug_assert/all/conandata.yml index cfa7ab5250ed4..dc2038ed34a68 100644 --- a/recipes/debug_assert/all/conandata.yml +++ b/recipes/debug_assert/all/conandata.yml @@ -1,4 +1,7 @@ sources: - '1.3.3': - url: https://github.com/foonathan/debug_assert/archive/v1.3.3.zip - sha256: c0871c7bb8d7e0f36cfae9a5ba526ea0c0fcaa41203ffb4280de27cb030e7383 + "1.3.4": + url: "https://github.com/foonathan/debug_assert/archive/v1.3.4.zip" + sha256: "e29925b1b51e10b46e8c4f3d57a86db6a7ebc7cdec53fe30c1b0ca22ef845f43" + "1.3.3": + url: "https://github.com/foonathan/debug_assert/archive/v1.3.3.zip" + sha256: "c0871c7bb8d7e0f36cfae9a5ba526ea0c0fcaa41203ffb4280de27cb030e7383" diff --git a/recipes/debug_assert/config.yml b/recipes/debug_assert/config.yml index 416be34945c37..3b34bc0f54258 100644 --- a/recipes/debug_assert/config.yml +++ b/recipes/debug_assert/config.yml @@ -1,3 +1,5 @@ versions: - '1.3.3': + "1.3.4": + folder: all + "1.3.3": folder: all From 54f110144c77ba38df750bd8f370027b2a444cb9 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 17 Sep 2024 01:33:16 +0900 Subject: [PATCH 535/641] (#25270) geos: add version 3.13.0 --- recipes/geos/all/conandata.yml | 3 +++ recipes/geos/all/conanfile.py | 4 ++-- recipes/geos/config.yml | 2 ++ 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/recipes/geos/all/conandata.yml b/recipes/geos/all/conandata.yml index 32c3f79cfd503..1c16e5baab94b 100644 --- a/recipes/geos/all/conandata.yml +++ b/recipes/geos/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.13.0": + url: "https://github.com/libgeos/geos/releases/download/3.13.0/geos-3.13.0.tar.bz2" + sha256: "47ec83ff334d672b9e4426695f15da6e6368244214971fabf386ff8ef6df39e4" "3.12.2": url: "https://github.com/libgeos/geos/releases/download/3.12.2/geos-3.12.2.tar.bz2" sha256: "34c7770bf0090ee88488af98767d08e779f124fa33437e0aabec8abd4609fec6" diff --git a/recipes/geos/all/conanfile.py b/recipes/geos/all/conanfile.py index ebf8ae42c76d7..1eefc045b2934 100644 --- a/recipes/geos/all/conanfile.py +++ b/recipes/geos/all/conanfile.py @@ -13,9 +13,9 @@ class GeosConan(ConanFile): name = "geos" description = "GEOS is a C++ library for performing operations on two-dimensional vector geometries." license = "LGPL-2.1" - topics = ("osgeo", "geometry", "topology", "geospatial") - homepage = "https://libgeos.org/" url = "https://github.com/conan-io/conan-center-index" + homepage = "https://libgeos.org/" + topics = ("osgeo", "geometry", "topology", "geospatial") package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { diff --git a/recipes/geos/config.yml b/recipes/geos/config.yml index 8d3308284cb94..b2d68bf99ca6a 100644 --- a/recipes/geos/config.yml +++ b/recipes/geos/config.yml @@ -1,4 +1,6 @@ versions: + "3.13.0": + folder: all "3.12.2": folder: all "3.12.0": From 2c3904ff13e23e1358e36197e97c90c2188138da Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 17 Sep 2024 02:11:35 +0900 Subject: [PATCH 536/641] (#25271) stringzilla: add version 3.9.6 --- recipes/stringzilla/all/conandata.yml | 3 +++ recipes/stringzilla/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/stringzilla/all/conandata.yml b/recipes/stringzilla/all/conandata.yml index b44cb110d34b4..c4ca6e70109b7 100644 --- a/recipes/stringzilla/all/conandata.yml +++ b/recipes/stringzilla/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.9.6": + url: "https://github.com/ashvardanian/StringZilla/archive/refs/tags/v3.9.6.tar.gz" + sha256: "21577e967d79155f5bcbe9bfd885dd817a79666f384fb2a955c0ac5dbf0657a3" "3.9.3": url: "https://github.com/ashvardanian/StringZilla/archive/refs/tags/v3.9.3.tar.gz" sha256: "7d24a2fc0e426a85eac0a2be965f64e0eee794d89a895c2b5dcb614b038af580" diff --git a/recipes/stringzilla/config.yml b/recipes/stringzilla/config.yml index 7b1e1a9b0e3f3..c6b356c693aac 100644 --- a/recipes/stringzilla/config.yml +++ b/recipes/stringzilla/config.yml @@ -1,4 +1,6 @@ versions: + "3.9.6": + folder: all "3.9.3": folder: all "3.9.0": From 2334eaa21a92f57146c0f7704cf1f17c7ce4fc7a Mon Sep 17 00:00:00 2001 From: Ivo Hedtke Date: Mon, 16 Sep 2024 19:31:48 +0200 Subject: [PATCH 537/641] (#25278) [soplex] update to version 7.1.1 --- recipes/soplex/all/conandata.yml | 3 +++ recipes/soplex/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/soplex/all/conandata.yml b/recipes/soplex/all/conandata.yml index 45d267e534138..082b7e8e0f6dc 100644 --- a/recipes/soplex/all/conandata.yml +++ b/recipes/soplex/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "7.1.1": + url: "https://github.com/scipopt/soplex/archive/refs/tags/release-711.tar.gz" + sha256: "75752dca395e219e350f3b462f1f4c08e9d3c2deb2782414862f546a9489cdeb" "7.1.0": url: "https://github.com/scipopt/soplex/archive/refs/tags/release-710.tar.gz" sha256: "ec177fdb688346287d5f211dd7ec4a0195c8ec9b3a5314d38aca383b6fa1418e" diff --git a/recipes/soplex/config.yml b/recipes/soplex/config.yml index bce9fdb6e5c4d..d583730ab48c3 100644 --- a/recipes/soplex/config.yml +++ b/recipes/soplex/config.yml @@ -1,4 +1,6 @@ versions: + "7.1.1": + folder: all "7.1.0": folder: all "7.0.1": From 5ecc85f6f909267c9e683889d7e989e9ded4374a Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Tue, 17 Sep 2024 00:01:37 +0100 Subject: [PATCH 538/641] (#25288) [bot] Update list of references (prod-v2/ListPackages) Co-authored-by: conan-center-bot --- .c3i/conan_v2_ready_references.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.c3i/conan_v2_ready_references.yml b/.c3i/conan_v2_ready_references.yml index bb5fb884995cf..c7beaad8761f2 100644 --- a/.c3i/conan_v2_ready_references.yml +++ b/.c3i/conan_v2_ready_references.yml @@ -758,6 +758,7 @@ required_for_references: - libjxl - libkml - libliftoff +- liblqr - liblsl - libltc - liblzf @@ -982,6 +983,7 @@ required_for_references: - miniz - minizip - minizip-ng +- minmea - mio - mlpack - mm_file @@ -1118,6 +1120,7 @@ required_for_references: - openmvg - openpam - openscenegraph +- openslide - openssh - openssl - opensubdiv From 9cbef643d67e83b87be1dbf0eb256addd9b5267c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Abril=20Rinc=C3=B3n=20Blanco?= Date: Tue, 17 Sep 2024 09:42:29 +0200 Subject: [PATCH 539/641] (#24634) mtfmt: Add new recipe * Working version for 0.1.2 * Add missing patch * Patch to not install under mtfmt directory * Update recipes/mtfmt/all/conanfile.py Co-authored-by: Uilian Ries * Don't change package layout, let's silence the hook * Add rest of options, fix static linking * utf8 is true by default * Add version 0.1.3 * Fix library location on Windows --------- Co-authored-by: Uilian Ries --- recipes/mtfmt/all/conandata.yml | 10 ++ recipes/mtfmt/all/conanfile.py | 111 ++++++++++++++++++ .../0.1.3-0001-remove-hardcoded-stds.patch | 27 +++++ recipes/mtfmt/all/test_package/CMakeLists.txt | 8 ++ recipes/mtfmt/all/test_package/conanfile.py | 26 ++++ recipes/mtfmt/all/test_package/test_package.c | 97 +++++++++++++++ recipes/mtfmt/config.yml | 3 + 7 files changed, 282 insertions(+) create mode 100644 recipes/mtfmt/all/conandata.yml create mode 100644 recipes/mtfmt/all/conanfile.py create mode 100644 recipes/mtfmt/all/patches/0.1.3-0001-remove-hardcoded-stds.patch create mode 100644 recipes/mtfmt/all/test_package/CMakeLists.txt create mode 100644 recipes/mtfmt/all/test_package/conanfile.py create mode 100644 recipes/mtfmt/all/test_package/test_package.c create mode 100644 recipes/mtfmt/config.yml diff --git a/recipes/mtfmt/all/conandata.yml b/recipes/mtfmt/all/conandata.yml new file mode 100644 index 0000000000000..479a84d9ef5a9 --- /dev/null +++ b/recipes/mtfmt/all/conandata.yml @@ -0,0 +1,10 @@ +sources: + # Newer versions at the top + "0.1.3": + url: "https://github.com/MtFmT-Lib/mtfmt/archive/refs/tags/v0.1.3.tar.gz" + sha256: "767a9b85b79d915ce7f1e43f0d24dc14942c07af24d6e96f7ff60ee522f1c1ce" +patches: + "0.1.3": + - patch_file: "patches/0.1.3-0001-remove-hardcoded-stds.patch" + patch_description: "Remove hardcoded C/CXX standards" + patch_type: "conan" diff --git a/recipes/mtfmt/all/conanfile.py b/recipes/mtfmt/all/conanfile.py new file mode 100644 index 0000000000000..7f72f34a57527 --- /dev/null +++ b/recipes/mtfmt/all/conanfile.py @@ -0,0 +1,111 @@ +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rm, rmdir +from conan.tools.microsoft import is_msvc +import os + + +required_conan_version = ">=1.53.0" + + +class MtFmtConan(ConanFile): + name = "mtfmt" + description = "mtfmt (Mini template formatter) is a formatting library designed for embedded systems" + license = "LGPL-3.0-only" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/MtFmT-Lib/mtfmt" + topics = ("formatting", "embedded") + package_type = "library" + settings = "os", "arch", "compiler", "build_type" + options = { + "shared": [True, False], + "fPIC": [True, False], + "use_div": [True, False], + "use_malloc": [True, False], + "use_stdout": [True, False], + "use_assert": [True, False], + "use_utf8": [True, False], + "use_fp32": [True, False], + "use_fp64": [True, False], + } + default_options = { + "shared": False, + "fPIC": True, + "use_div": False, + "use_malloc": False, + "use_stdout": False, + "use_assert": False, + "use_utf8": True, + "use_fp32": False, + "use_fp64": False, + } + + def config_options(self): + if self.settings.os == "Windows": + del self.options.fPIC + + def configure(self): + if self.options.shared: + self.options.rm_safe("fPIC") + self.settings.rm_safe("compiler.cppstd") + self.settings.rm_safe("compiler.libcxx") + + def export_sources(self): + export_conandata_patches(self) + + def layout(self): + cmake_layout(self, src_folder="src") + + def validate(self): + # Windows always builds as release, debug is not supported + if is_msvc(self) and self.settings.build_type == "Debug": + raise ConanInvalidConfiguration(f"{self.ref} does not support MSVC debug builds") + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + tc.cache_variables["MTFMT_BUILD_SHARED"] = self.options.shared + tc.cache_variables["MTFMT_RT_USE_DIV"] = self.options.use_div + tc.cache_variables["MTFMT_RT_USE_MALLOC"] = self.options.use_malloc + tc.cache_variables["MTFMT_RT_USE_STDOUT"] = self.options.use_stdout + tc.cache_variables["MTFMT_RT_USE_ASSERT"] = self.options.use_assert + tc.cache_variables["MTFMT_RT_USE_UTF8"] = self.options.use_utf8 + tc.cache_variables["MTFMT_RT_USE_FP32"] = self.options.use_fp32 + tc.cache_variables["MTFMT_RT_USE_FP64"] = self.options.use_fp64 + tc.cache_variables["CMAKE_POLICY_DEFAULT_CMP0077"] = "NEW" + tc.generate() + + def _patch_sources(self): + apply_conandata_patches(self) + + def build(self): + self._patch_sources() + cmake = CMake(self) + cmake.configure() + cmake.build() + + def package(self): + copy(self, "LICENSE", self.source_folder, os.path.join(self.package_folder, "licenses")) + cmake = CMake(self) + cmake.install() + rmdir(self, os.path.join(self.package_folder, "mtfmt", "lib", "cmake")) + rmdir(self, os.path.join(self.package_folder, "mtfmt", "share")) + rm(self, "*.la", os.path.join(self.package_folder, "mtfmt", "lib")) + rm(self, "*.pdb", os.path.join(self.package_folder, "mtfmt", "lib")) + rm(self, "*.pdb", os.path.join(self.package_folder, "mtfmt", "bin")) + + def package_info(self): + suffix = "_d" if self.settings.build_type == "Debug" else "" + self.cpp_info.libs = ["mtfmt" + suffix] + + libdir = os.path.join("mtfmt", "lib") + + if not self.options.shared or self.settings.os == "Windows": + libdir = os.path.join(libdir, "static") + + self.cpp_info.libdirs = [libdir] + self.cpp_info.includedirs = [os.path.join("mtfmt", "include")] + self.cpp_info.bindirs = [os.path.join("mtfmt", "bin")] diff --git a/recipes/mtfmt/all/patches/0.1.3-0001-remove-hardcoded-stds.patch b/recipes/mtfmt/all/patches/0.1.3-0001-remove-hardcoded-stds.patch new file mode 100644 index 0000000000000..272d9f3d83b9f --- /dev/null +++ b/recipes/mtfmt/all/patches/0.1.3-0001-remove-hardcoded-stds.patch @@ -0,0 +1,27 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 2d4ffcd..293cf7e 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -2,8 +2,8 @@ cmake_minimum_required(VERSION 3.10) + + project(mtfmt) + +-set(CMAKE_C_STANDARD 11) +-set(CMAKE_CXX_STANDARD 11) ++#set(CMAKE_C_STANDARD 11) ++#set(CMAKE_CXX_STANDARD 11) + + # debug版的后缀 + set(CMAKE_DEBUG_POSTFIX "_d") +@@ -50,6 +50,11 @@ endif() + # including path + target_include_directories(${TARGET_NAME} PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}/inc") + ++# Standards ++target_compile_features(${TARGET_NAME} PRIVATE cxx_std_11) ++target_compile_features(${TARGET_NAME} PRIVATE c_std_11) ++ ++ + # debug? + if(NOT MSVC) + if(NOT CMAKE_BUILD_TYPE) diff --git a/recipes/mtfmt/all/test_package/CMakeLists.txt b/recipes/mtfmt/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..db0d350d8ebe1 --- /dev/null +++ b/recipes/mtfmt/all/test_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) + +project(test_package LANGUAGES C) + +find_package(mtfmt REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.c) +target_link_libraries(${PROJECT_NAME} PRIVATE mtfmt::mtfmt) diff --git a/recipes/mtfmt/all/test_package/conanfile.py b/recipes/mtfmt/all/test_package/conanfile.py new file mode 100644 index 0000000000000..ef5d7042163ec --- /dev/null +++ b/recipes/mtfmt/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/mtfmt/all/test_package/test_package.c b/recipes/mtfmt/all/test_package/test_package.c new file mode 100644 index 0000000000000..29545fce88b63 --- /dev/null +++ b/recipes/mtfmt/all/test_package/test_package.c @@ -0,0 +1,97 @@ +// SPDX-License-Identifier: LGPL-3.0 +/** + * @file example_build_config.c + * @author 向阳 (hinata.hoshino@foxmail.com) + * @brief 不同对齐方式下的格式化的例子 + * @version 1.0 + * @date 2023-07-23 + * + * @copyright Copyright (c) 向阳, all rights reserved. + * + */ +#include "mtfmt.h" +#include +#include + +/** + * @brief 测试1个位是否被set + * + */ +#define BIT_TEST(v, b) (!!(((v) & (b)) == (b))) + +/** + * @brief 把boolean变成C字符串 + * + */ +#define BOOL2STR(b) ((b) ? "true" : "false") + +int main(void) +{ + uint32_t cfg = MSTR_CONFIGURE_CFG_VAL(mstr_configure()); + uint32_t compiler = MSTR_CONFIGURE_CC_VAL(cfg); + + puts("+-----------+--------------------------+-------+"); + + const char* compiler_name = "unknown"; + switch (compiler) { + case MSTR_BUILD_CC_MSVC: compiler_name = "msvc"; break; + case MSTR_BUILD_CC_GNUC: compiler_name = "gcc"; break; + case MSTR_BUILD_CC_ARMCC: compiler_name = "armcc"; break; + case MSTR_BUILD_CC_ARMCLANG: compiler_name = "armclang"; break; + case MSTR_BUILD_CC_EMSCRIPTEN: compiler_name = "emscripten"; break; + case MSTR_BUILD_CC_OTHER: compiler_name = "unknown"; break; + } + printf("| Compiler | %-24s | --- |\n", compiler_name); + + puts("+-----------+--------------------------+-------+"); + + printf( + "| Configure | %-24s | %5s |\n", + "_MSTR_USE_MALLOC", + BOOL2STR(BIT_TEST(cfg, MSTRCFG_USE_MALLOC_BIT)) + ); + printf( + "| | %-24s | %5s |\n", + "_MSTR_BUILD_DLL", + BOOL2STR(BIT_TEST(cfg, MSTRCFG_BUILD_DLL_BIT)) + ); + printf( + "| | %-24s | %5s |\n", + "_MSTR_USE_HARDWARE_DIV", + BOOL2STR(BIT_TEST(cfg, MSTRCFG_BUILD_HARDWARE_DIV)) + ); + printf( + "| | %-24s | %5s |\n", + "_MSTR_USE_STD_IO", + BOOL2STR(BIT_TEST(cfg, MSTRCFG_USE_STD_IO)) + ); + printf( + "| | %-24s | %5s |\n", + "_MSTR_USE_UTF_8", + BOOL2STR(BIT_TEST(cfg, MSTRCFG_USE_UTF_8)) + ); + printf( + "| | %-24s | %5s |\n", + "_MSTR_USE_CPP_EXCEPTION", + BOOL2STR(BIT_TEST(cfg, MSTRCFG_USE_CXX_EXCEPTION)) + ); + printf( + "| | %-24s | %5s |\n", + "_MSTR_USE_FP_FLOAT32", + BOOL2STR(BIT_TEST(cfg, MSTRCFG_USE_FLOAT32)) + ); + printf( + "| | %-24s | %5s |\n", + "_MSTR_USE_FP_FLOAT64", + BOOL2STR(BIT_TEST(cfg, MSTRCFG_USE_FLOAT64)) + ); + printf( + "| | %-24s | %5s |\n", + "_MSTR_USE_ALLOC", + BOOL2STR(BIT_TEST(cfg, MSTRCFG_USE_ALLOCATOR)) + ); + + puts("+-----------+--------------------------+-------+"); + + return 0; +} diff --git a/recipes/mtfmt/config.yml b/recipes/mtfmt/config.yml new file mode 100644 index 0000000000000..b7f57204004e4 --- /dev/null +++ b/recipes/mtfmt/config.yml @@ -0,0 +1,3 @@ +versions: + "0.1.3": + folder: all From 8cf9b27025fe69bb599c18de785fce4622aa053a Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 17 Sep 2024 18:11:55 +0900 Subject: [PATCH 540/641] (#25257) cpptrace: add version 0.7.1, remove older versions * cpptrace: add version 0.7.1, remove older versions * remove unused codes --- recipes/cpptrace/all/conandata.yml | 79 +++---------------- recipes/cpptrace/all/conanfile.py | 7 +- .../patches/0.3.0/0001-cpptrace_export.patch | 13 --- .../patches/0.4.0/0001-libdwarf_path.patch | 12 --- .../all/patches/0.4.0/0002-zstd.patch | 72 ----------------- .../all/patches/0.5.2/0001-msvc-bug.patch | 36 --------- .../cpptrace/all/test_package/CMakeLists.txt | 4 +- .../cpptrace/all/test_package/conanfile.py | 1 - .../all/test_package/test_package.cpp | 4 +- recipes/cpptrace/config.yml | 19 +---- 10 files changed, 19 insertions(+), 228 deletions(-) delete mode 100644 recipes/cpptrace/all/patches/0.3.0/0001-cpptrace_export.patch delete mode 100644 recipes/cpptrace/all/patches/0.4.0/0001-libdwarf_path.patch delete mode 100644 recipes/cpptrace/all/patches/0.4.0/0002-zstd.patch delete mode 100644 recipes/cpptrace/all/patches/0.5.2/0001-msvc-bug.patch diff --git a/recipes/cpptrace/all/conandata.yml b/recipes/cpptrace/all/conandata.yml index 626503503c52b..dcee072fe65ad 100644 --- a/recipes/cpptrace/all/conandata.yml +++ b/recipes/cpptrace/all/conandata.yml @@ -1,85 +1,32 @@ sources: - # Newer versions at the top + "0.7.1": + url: "https://github.com/jeremy-rifkin/cpptrace/archive/refs/tags/v0.7.1.tar.gz" + sha256: "63df54339feb0c68542232229777df057e1848fc8294528613971bbf42889e83" "0.7.0": - url: - - "https://github.com/jeremy-rifkin/cpptrace/archive/refs/tags/v0.7.0.tar.gz" + url: "https://github.com/jeremy-rifkin/cpptrace/archive/refs/tags/v0.7.0.tar.gz" sha256: "b5c1fbd162f32b8995d9b1fefb1b57fac8b1a0e790f897b81cdafe3625d12001" "0.6.3": - url: - - "https://github.com/jeremy-rifkin/cpptrace/archive/refs/tags/v0.6.3.tar.gz" + 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" + url: "https://github.com/jeremy-rifkin/cpptrace/archive/refs/tags/v0.6.2.tar.gz" sha256: "02a0540b5b1be0788565f48b065b456d3eab81ae2323a50e75ed36449a0143ed" "0.6.1": - url: - - "https://github.com/jeremy-rifkin/cpptrace/archive/refs/tags/v0.6.1.tar.gz" + url: "https://github.com/jeremy-rifkin/cpptrace/archive/refs/tags/v0.6.1.tar.gz" sha256: "4bb478eedbe4b2c0093ef7af4f64795304850e03312e658076b25ef8d6019c75" + # 0.6.0 is required by libassert v2 "0.6.0": - url: - - "https://github.com/jeremy-rifkin/cpptrace/archive/refs/tags/v0.6.0.tar.gz" + url: "https://github.com/jeremy-rifkin/cpptrace/archive/refs/tags/v0.6.0.tar.gz" sha256: "7c2996f03d15f61016bc81fe7fa5220b1cc42498333c5c0e699ad2f96b918b96" - "0.5.4": - url: - - "https://github.com/jeremy-rifkin/cpptrace/archive/refs/tags/v0.5.4.tar.gz" - sha256: "bab0f76330f90c445216ccade1a3ff29c9c4bbd44805be34d52095cd95b02df4" - "0.5.3": - url: - - "https://github.com/jeremy-rifkin/cpptrace/archive/refs/tags/v0.5.3.tar.gz" - sha256: "fb84b8b021bf8c1265e650b4cc19ae8acc9c07b980eb1e34d9806acf15bb4fdf" - "0.5.2": - url: - - "https://github.com/jeremy-rifkin/cpptrace/archive/refs/tags/v0.5.2.tar.gz" - sha256: "d148998e175b9c69ffb4383ab321a0d27487392e4eee3f39441d35b6856c8f78" - "0.5.1": - url: - - "https://github.com/jeremy-rifkin/cpptrace/archive/refs/tags/v0.5.1.tar.gz" - sha256: "27b9f862ec6185f570ee59c07fdd12bebb55a986191518e896621317d2654f26" - "0.5.0": - url: - - "https://github.com/jeremy-rifkin/cpptrace/archive/refs/tags/v0.5.0.tar.gz" - sha256: "dc034503aed3009618312c42c40e1f80bf14d4148c9bc8b3ea02cf971459120e" - "0.4.1": - url: - - "https://github.com/jeremy-rifkin/cpptrace/archive/refs/tags/v0.4.1.tar.gz" - sha256: "8b6e2c813cf2db332c1aa0502c38afd01a1e00ece0ecc7fcd82fcae4b34e5161" - "0.4.0": - url: - - "https://github.com/jeremy-rifkin/cpptrace/archive/refs/tags/v0.4.0.tar.gz" - sha256: "eef368f5bed2d85c976ea90b325e4c9bfc1b9618cbbfa15bf088adc8fa98ff89" + # 0.3.1 is required by libassert v1 "0.3.1": - url: - - "https://github.com/jeremy-rifkin/cpptrace/archive/refs/tags/v0.3.1.tar.gz" + url: "https://github.com/jeremy-rifkin/cpptrace/archive/refs/tags/v0.3.1.tar.gz" sha256: "3c4c5b3406c2b598e5cd2a8cb97f9e8e1f54d6df087a0e62564e6fb68fed852d" - "0.3.0": - url: - - "https://github.com/jeremy-rifkin/cpptrace/archive/refs/tags/v0.3.0.tar.gz" - sha256: "1650d760ff0c0f9763de7e1e04285033f2b0189df87398ba8bf76e9937d5a4ee" + # 0.2.1 is required by libassert v1 "0.2.1": - url: - - "https://github.com/jeremy-rifkin/cpptrace/archive/refs/tags/v0.2.1.tar.gz" + url: "https://github.com/jeremy-rifkin/cpptrace/archive/refs/tags/v0.2.1.tar.gz" sha256: "3184f404c61b6b8ba6fe7c64fc40d1c3d6d87df59bcacf1845d846101bc22f9a" patches: - "0.5.2": - - patch_file: "patches/0.5.2/0001-msvc-bug.patch" - patch_type: "official" - patch_source: "https://github.com/jeremy-rifkin/cpptrace/commit/599d6abd6cc74e80e8429fc309247be5f7edd5d7" - patch_description: "Workaround bug for old msvc" - "0.4.0": - - patch_file: "patches/0.4.0/0001-libdwarf_path.patch" - patch_type: "conan" - patch_source: "https://github.com/jeremy-rifkin/cpptrace/commit/a1624238000c794243e20801dc2b35b2f847d492" - patch_description: "Use new libdwarf header placement" - - patch_file: "patches/0.4.0/0002-zstd.patch" - patch_type: "conan" - patch_source: "https://github.com/jeremy-rifkin/cpptrace/commit/b7d14bc952111df973268c76133bb8ad99afdeb0" - patch_description: "Zstd is handled by libdwarf" - "0.3.0": - - patch_file: "patches/0.3.0/0001-cpptrace_export.patch" - patch_type: "bugfix" - patch_source: "https://github.com/jeremy-rifkin/cpptrace/commit/b3b9d5fda6c7f53b069848e7e79454f3618ca356" - patch_description: "Fix an incorrect CPPTRACE_EXPORT annotation" "0.2.1": - patch_file: "patches/0.2.1/0001-to_uintptr.patch" patch_type: "bugfix" diff --git a/recipes/cpptrace/all/conanfile.py b/recipes/cpptrace/all/conanfile.py index 6fcf6290cb18d..8b802e49b1649 100644 --- a/recipes/cpptrace/all/conanfile.py +++ b/recipes/cpptrace/all/conanfile.py @@ -1,6 +1,6 @@ from conan import ConanFile from conan.tools.microsoft import check_min_vs, is_msvc_static_runtime, is_msvc -from conan.tools.files import get, copy, rm, rmdir +from conan.tools.files import get, copy, rmdir from conan.tools.build import check_min_cppstd from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout from conan.tools.files import apply_conandata_patches, export_conandata_patches @@ -95,12 +95,7 @@ def package(self): if self.settings.os == "Windows" and self.options.shared: copy(self, "*.dll", src=self.build_folder, dst=os.path.join(self.package_folder, "bin"), keep_path=False) - 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 = ["cpptrace"] diff --git a/recipes/cpptrace/all/patches/0.3.0/0001-cpptrace_export.patch b/recipes/cpptrace/all/patches/0.3.0/0001-cpptrace_export.patch deleted file mode 100644 index d75b21cd35c7f..0000000000000 --- a/recipes/cpptrace/all/patches/0.3.0/0001-cpptrace_export.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/include/cpptrace/cpptrace.hpp b/include/cpptrace/cpptrace.hpp -index b35bed1..27b626b 100644 ---- a/include/cpptrace/cpptrace.hpp -+++ b/include/cpptrace/cpptrace.hpp -@@ -90,7 +90,7 @@ namespace cpptrace { - // This is used over std::optional because the library is C++11 and also std::optional is a bit heavy-duty for this - // use. - template::value, int>::type = 0> -- struct CPPTRACE_EXPORT nullable { -+ struct nullable { - T raw_value; - nullable& operator=(T value) { - raw_value = value; diff --git a/recipes/cpptrace/all/patches/0.4.0/0001-libdwarf_path.patch b/recipes/cpptrace/all/patches/0.4.0/0001-libdwarf_path.patch deleted file mode 100644 index 4561234caabeb..0000000000000 --- a/recipes/cpptrace/all/patches/0.4.0/0001-libdwarf_path.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index e077cf8..2f848dd 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -404,7 +404,6 @@ if(CPPTRACE_GET_SYMBOLS_WITH_LIBDWARF) - endif() - if(CPPTRACE_CONAN) - target_link_libraries(${target_name} PRIVATE libdwarf::libdwarf) -- target_compile_definitions(${target_name} PRIVATE CPPTRACE_USE_NESTED_LIBDWARF_HEADER_PATH) - elseif(CPPTRACE_VCPKG) - target_link_libraries(${target_name} PRIVATE libdwarf::dwarf) - elseif(CPPTRACE_USE_EXTERNAL_LIBDWARF) diff --git a/recipes/cpptrace/all/patches/0.4.0/0002-zstd.patch b/recipes/cpptrace/all/patches/0.4.0/0002-zstd.patch deleted file mode 100644 index 97ccd388d4128..0000000000000 --- a/recipes/cpptrace/all/patches/0.4.0/0002-zstd.patch +++ /dev/null @@ -1,72 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 2f848dd..8f3ec74 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -338,40 +338,39 @@ endif() - - if(CPPTRACE_GET_SYMBOLS_WITH_LIBDWARF) - target_compile_definitions(${target_name} PUBLIC CPPTRACE_GET_SYMBOLS_WITH_LIBDWARF) -- # First, dependencies: Zstd and zlib (currently relying on system zlib) -- if(CPPTRACE_USE_EXTERNAL_ZSTD) -- find_package(zstd) -- else() -- include(FetchContent) -- cmake_policy(SET CMP0074 NEW) -- FetchContent_Declare( -- zstd -- GIT_REPOSITORY https://github.com/facebook/zstd.git -- GIT_TAG 63779c798237346c2b245c546c40b72a5a5913fe # v1.5.5 -- GIT_SHALLOW 1 -- SOURCE_SUBDIR build/cmake -- ) -- # FetchContent_MakeAvailable(zstd) -- FetchContent_GetProperties(zstd) -- if(NOT zstd_POPULATED) -- FetchContent_Populate(zstd) -- set(ZSTD_BUILD_PROGRAMS OFF) -- set(ZSTD_BUILD_CONTRIB OFF) -- set(ZSTD_BUILD_TESTS OFF) -- set(ZSTD_BUILD_STATIC ON) -- set(ZSTD_BUILD_SHARED OFF) -- set(ZSTD_LEGACY_SUPPORT OFF) -- add_subdirectory("${zstd_SOURCE_DIR}/build/cmake" "${zstd_BINARY_DIR}") -- endif() -- endif() -- # Libdwarf itself - if(CPPTRACE_USE_EXTERNAL_LIBDWARF) - find_package(libdwarf REQUIRED) - else() -+ include(FetchContent) -+ # First, dependencies: Zstd and zlib (currently relying on system zlib) -+ if(CPPTRACE_USE_EXTERNAL_ZSTD) -+ find_package(zstd) -+ else() -+ cmake_policy(SET CMP0074 NEW) -+ FetchContent_Declare( -+ zstd -+ GIT_REPOSITORY https://github.com/facebook/zstd.git -+ GIT_TAG 63779c798237346c2b245c546c40b72a5a5913fe # v1.5.5 -+ GIT_SHALLOW 1 -+ SOURCE_SUBDIR build/cmake -+ ) -+ # FetchContent_MakeAvailable(zstd) -+ FetchContent_GetProperties(zstd) -+ if(NOT zstd_POPULATED) -+ FetchContent_Populate(zstd) -+ set(ZSTD_BUILD_PROGRAMS OFF) -+ set(ZSTD_BUILD_CONTRIB OFF) -+ set(ZSTD_BUILD_TESTS OFF) -+ set(ZSTD_BUILD_STATIC ON) -+ set(ZSTD_BUILD_SHARED OFF) -+ set(ZSTD_LEGACY_SUPPORT OFF) -+ add_subdirectory("${zstd_SOURCE_DIR}/build/cmake" "${zstd_BINARY_DIR}") -+ endif() -+ endif() -+ # Libdwarf itself - set(CMAKE_POLICY_DEFAULT_CMP0077 NEW) - # set(PIC_ALWAYS TRUE) - # set(BUILD_DWARFDUMP FALSE) -- include(FetchContent) - FetchContent_Declare( - libdwarf - # GIT_REPOSITORY https://github.com/davea42/libdwarf-code.git diff --git a/recipes/cpptrace/all/patches/0.5.2/0001-msvc-bug.patch b/recipes/cpptrace/all/patches/0.5.2/0001-msvc-bug.patch deleted file mode 100644 index b9a184ee0d627..0000000000000 --- a/recipes/cpptrace/all/patches/0.5.2/0001-msvc-bug.patch +++ /dev/null @@ -1,36 +0,0 @@ -diff --git a/src/utils/microfmt.hpp b/src/utils/microfmt.hpp -index ba47db7..0f750c3 100644 ---- a/src/utils/microfmt.hpp -+++ b/src/utils/microfmt.hpp -@@ -302,20 +302,27 @@ namespace microfmt { - } - } - -- template - #if defined(__cpp_lib_string_view) && __cpp_lib_string_view >= 201606L -+ template - std::string format(std::string_view fmt, Args&&... args) { -- #else -- std::string format(const std::string& fmt, Args&&... args) { -- #endif - return detail::format(fmt.begin(), fmt.end(), {detail::format_value(args)...}); - } - -+ inline std::string format(std::string_view fmt) { -+ return std::string(fmt); -+ } -+ #endif -+ - template - std::string format(const char* fmt, Args&&... args) { - return detail::format(fmt, fmt + std::strlen(fmt), {detail::format_value(args)...}); - } - -+ // working around an old msvc bug https://godbolt.org/z/88T8hrzzq mre: https://godbolt.org/z/drd8echbP -+ inline std::string format(const char* fmt) { -+ return std::string(fmt); -+ } -+ - template - void print(const S& fmt, Args&&... args) { - std::cout< Date: Tue, 17 Sep 2024 03:51:51 -0700 Subject: [PATCH 541/641] (#25179) [zulu-openjdk/11.0.24] Add Zulu JDK version 11.0.24 for platforms of interest. --- recipes/zulu-openjdk/all/conandata.yml | 32 ++++++++++++++++++++++++++ recipes/zulu-openjdk/config.yml | 2 ++ 2 files changed, 34 insertions(+) diff --git a/recipes/zulu-openjdk/all/conandata.yml b/recipes/zulu-openjdk/all/conandata.yml index 7333db337f861..79b65fbdb247a 100644 --- a/recipes/zulu-openjdk/all/conandata.yml +++ b/recipes/zulu-openjdk/all/conandata.yml @@ -59,6 +59,38 @@ sources: "armv8": url: "https://cdn.azul.com/zulu/bin/zulu17.46.19-ca-jdk17.0.9-macosx_aarch64.tar.gz" sha256: "d6837676e55b97772b6512e253fdaf8ab282bb216c0f8366b6c5905cd02b5056" + "11.0.24": + "Linux": + "x86_64": + url: "https://cdn.azul.com/zulu/bin/zulu11.74.15-ca-jdk11.0.24-linux_x64.tar.gz" + sha256: "a7aac0e69a99bf64a1a3ec96f08149ac069a5bbdaaefae922ee3a7465fd918b3" + "armv8": + url: "https://cdn.azul.com/zulu/bin/zulu11.74.15-ca-jdk11.0.24-linux_aarch64.tar.gz" + sha256: "4f473e6307c465c037889981ae2cb3c4133648409c7331b6e57540a4896033e1" + "x86": + url: "https://cdn.azul.com/zulu/bin/zulu11.74.15-ca-jdk11.0.24-linux_i686.tar.gz" + sha256: "d6e9f14562b6a6b89e37bc740e0700de8f831e81a64ce701ab0c5d6ba4fc1b71" + "Macos": + "armv8": + url: "https://cdn.azul.com/zulu/bin/zulu11.74.15-ca-jdk11.0.24-macosx_aarch64.tar.gz" + sha256: "f8ac458076c10f13753b7342033aaa073b715ef798023acf155ba814bff67514" + "x86_64": + url: "https://cdn.azul.com/zulu/bin/zulu11.74.15-ca-jdk11.0.24-macosx_x64.tar.gz" + sha256: "087ea956e8b43c89c732df8024e1344f686b02611c2c5449be6478299b9a9dac" + "SunOS": + "sparcv9": + url: "https://cdn.azul.com/zulu/bin/zulu11.74.15-ca-jdk11.0.24-solaris_sparcv9.zip" + sha256: "82e8eb5887592f290cec095c6c8466a576c8d8049c1c5eb8987822fba3bfdbb7" + "x86_64": + url: "https://cdn.azul.com/zulu/bin/zulu11.74.15-ca-jdk11.0.24-solaris_x64.zip" + sha256: "60b67de2325b7041e2495c5ae10574c960542fd7ad7eee1fef0d9bcaf63ce514" + "Windows": + "x86": + url: "https://cdn.azul.com/zulu/bin/zulu11.74.15-ca-jdk11.0.24-win_i686.zip" + sha256: "bae034bc5075e31123f76980f3f3234150f68cbe96e48d288291b8ea6c5124f4" + "x86_64": + url: "https://cdn.azul.com/zulu/bin/zulu11.74.15-ca-jdk11.0.24-win_x64.zip" + sha256: "1b1870eb161076dcadf2c6f85855969484d907f44f11c1483d86e964dc946323" "11.0.19": "Windows": "x86_64": diff --git a/recipes/zulu-openjdk/config.yml b/recipes/zulu-openjdk/config.yml index 39b0388632c08..0ef2c791e311c 100644 --- a/recipes/zulu-openjdk/config.yml +++ b/recipes/zulu-openjdk/config.yml @@ -5,6 +5,8 @@ versions: folder: all "17.0.9": folder: all + "11.0.24": + folder: all "11.0.19": folder: all "11.0.15": From 31d3aa9ea6e551c81e7c11ef9663f62815c85f24 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 17 Sep 2024 20:11:29 +0900 Subject: [PATCH 542/641] (#25221) libcurl: add version 8.10.0 * libcurl: add version 8.10.0 * fix cmake compilation errors --- recipes/libcurl/all/conandata.yml | 5 ++++ recipes/libcurl/all/conanfile.py | 44 ++++++++++++++++++++++--------- recipes/libcurl/config.yml | 2 ++ 3 files changed, 39 insertions(+), 12 deletions(-) diff --git a/recipes/libcurl/all/conandata.yml b/recipes/libcurl/all/conandata.yml index b90b6d33233cb..cee1789ae6825 100644 --- a/recipes/libcurl/all/conandata.yml +++ b/recipes/libcurl/all/conandata.yml @@ -1,4 +1,9 @@ sources: + "8.10.0": + url: + - "https://curl.se/download/curl-8.10.0.tar.xz" + - "https://github.com/curl/curl/releases/download/curl-8_10_0/curl-8.10.0.tar.xz" + sha256: "e6b142f0e85e954759d37e26a3627e2278137595be80e3a860c4353e4335e5a0" "8.9.1": url: - "https://curl.se/download/curl-8.9.1.tar.xz" diff --git a/recipes/libcurl/all/conanfile.py b/recipes/libcurl/all/conanfile.py index 81baf51c83f26..1eb13831e058b 100644 --- a/recipes/libcurl/all/conanfile.py +++ b/recipes/libcurl/all/conanfile.py @@ -339,33 +339,53 @@ def _patch_cmake(self): # Use upstream FindZstd.cmake because check_symbol_exists() is called # afterwards and it would fail with zstd_LIBRARIES generated by CMakeDeps replace_in_file(self, cmakelists, "find_package(Zstd REQUIRED)", "find_package(Zstd REQUIRED MODULE)") - replace_in_file(self, os.path.join(self.source_folder, "CMake", "FindZstd.cmake"), "if(UNIX)", "if(0)") + if Version(self.version) < "8.10.0": + replace_in_file(self, os.path.join(self.source_folder, "CMake", "FindZstd.cmake"), "if(UNIX)", "if(0)") # c-ares - replace_in_file(self, cmakelists, "find_package(CARES REQUIRED)", "find_package(c-ares REQUIRED CONFIG)") - replace_in_file(self, cmakelists, "${CARES_LIBRARY}", "c-ares::cares") + if Version(self.version) < "8.10.0": + replace_in_file(self, cmakelists, "find_package(CARES REQUIRED)", "find_package(c-ares REQUIRED CONFIG)") + replace_in_file(self, cmakelists, "${CARES_LIBRARY}", "c-ares::cares") + else: + replace_in_file(self, cmakelists, "find_package(Cares REQUIRED)", "find_package(c-ares REQUIRED CONFIG)") + replace_in_file(self, cmakelists, "${CARES_LIBRARIES}", "c-ares::cares") # libpsl - replace_in_file(self, cmakelists, "find_package(LibPSL)", "find_package(libpsl REQUIRED CONFIG)") + if Version(self.version) < "8.10.0": + replace_in_file(self, cmakelists, "find_package(LibPSL)", "find_package(libpsl REQUIRED CONFIG)") + replace_in_file(self, cmakelists, "${LIBPSL_LIBRARY}", "libpsl::libpsl") + replace_in_file(self, cmakelists, "${LIBPSL_INCLUDE_DIR}", "${libpsl_INCLUDE_DIRS}") + else: + replace_in_file(self, cmakelists, "${LIBPSL_LIBRARIES}", "libpsl::libpsl") + replace_in_file(self, cmakelists, "${LIBPSL_INCLUDE_DIRS}", "${libpsl_INCLUDE_DIRS}") replace_in_file(self, cmakelists, "if(LIBPSL_FOUND)", "if(libpsl_FOUND)") - replace_in_file(self, cmakelists, "${LIBPSL_LIBRARY}", "libpsl::libpsl") - replace_in_file(self, cmakelists, "${LIBPSL_INCLUDE_DIR}", "${libpsl_INCLUDE_DIRS}") # libssh2 - replace_in_file(self, cmakelists, "find_package(LibSSH2)", "find_package(Libssh2 REQUIRED CONFIG)") + if Version(self.version) < "8.10.0": + replace_in_file(self, cmakelists, "find_package(LibSSH2)", "find_package(Libssh2 REQUIRED CONFIG)") + replace_in_file(self, cmakelists, "${LIBSSH2_LIBRARY}", "Libssh2::libssh2") + replace_in_file(self, cmakelists, "${LIBSSH2_INCLUDE_DIR}", "${Libssh2_INCLUDE_DIRS}") + else: + replace_in_file(self, cmakelists, "${LIBSSH2_LIBRARIES}", "Libssh2::libssh2") + replace_in_file(self, cmakelists, "${LIBSSH2_INCLUDE_DIRS}", "${Libssh2_INCLUDE_DIRS}") replace_in_file(self, cmakelists, "if(LIBSSH2_FOUND)", "if(Libssh2_FOUND)") - replace_in_file(self, cmakelists, "${LIBSSH2_LIBRARY}", "Libssh2::libssh2") - replace_in_file(self, cmakelists, "${LIBSSH2_INCLUDE_DIR}", "${Libssh2_INCLUDE_DIRS}") # libnghttp2 - replace_in_file(self, cmakelists, "find_package(NGHTTP2 REQUIRED)", "find_package(libnghttp2 REQUIRED CONFIG)") + if Version(self.version) < "8.10.0": + replace_in_file(self, cmakelists, "find_package(NGHTTP2 REQUIRED)", "find_package(libnghttp2 REQUIRED CONFIG)") + else: + replace_in_file(self, cmakelists, "find_package(NGHTTP2)", "find_package(libnghttp2 REQUIRED CONFIG)") replace_in_file(self, cmakelists, "${NGHTTP2_INCLUDE_DIRS}", "${libnghttp2_INCLUDE_DIRS}") replace_in_file(self, cmakelists, "${NGHTTP2_LIBRARIES}", "libnghttp2::nghttp2") # wolfssl replace_in_file(self, cmakelists, "find_package(WolfSSL REQUIRED)", "find_package(wolfssl REQUIRED CONFIG)") - replace_in_file(self, cmakelists, "${WolfSSL_LIBRARIES}", "${wolfssl_LIBRARIES}") - replace_in_file(self, cmakelists, "${WolfSSL_INCLUDE_DIRS}", "${wolfssl_INCLUDE_DIRS}") + if Version(self.version) < "8.10.0": + replace_in_file(self, cmakelists, "${WolfSSL_LIBRARIES}", "${wolfssl_LIBRARIES}") + replace_in_file(self, cmakelists, "${WolfSSL_INCLUDE_DIRS}", "${wolfssl_INCLUDE_DIRS}") + else: + replace_in_file(self, cmakelists, "${WOLFSSL_LIBRARIES}", "${wolfssl_LIBRARIES}") + replace_in_file(self, cmakelists, "${WOLFSSL_INCLUDE_DIRS}", "${wolfssl_INCLUDE_DIRS}") # INTERFACE_LIBRARY (generated by the cmake_find_package generator) targets doesn't have the LOCATION property. # So skipp the LOCATION check in the CMakeLists.txt diff --git a/recipes/libcurl/config.yml b/recipes/libcurl/config.yml index 30551059764ab..32555d9791ca0 100644 --- a/recipes/libcurl/config.yml +++ b/recipes/libcurl/config.yml @@ -1,4 +1,6 @@ versions: + "8.10.0": + folder: all "8.9.1": folder: all "8.8.0": From be0cfa4278546d5931236365772fbe6c59cb1556 Mon Sep 17 00:00:00 2001 From: Rob Boehne Date: Tue, 17 Sep 2024 04:52:03 -0700 Subject: [PATCH 543/641] (#25261) [libpng/1.6.44] Add a new version of libpng * [libpng/1.6.44] Add a new version of libpng [libpng 1.6.44 announcement](https://raw.githubusercontent.com/pnggroup/libpng/v1.6.44/ANNOUNCE) * fix: remove "/lib/cmake/PNG/PNGConfig.cmake " * Refactor to remove unused import. --------- Co-authored-by: Ernesto de Gracia Herranz --- recipes/libpng/all/conandata.yml | 3 +++ recipes/libpng/all/conanfile.py | 3 ++- recipes/libpng/config.yml | 2 ++ 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/recipes/libpng/all/conandata.yml b/recipes/libpng/all/conandata.yml index 9d660e1b52521..0861bf8b1062b 100644 --- a/recipes/libpng/all/conandata.yml +++ b/recipes/libpng/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.6.44": + url: "https://sourceforge.net/projects/libpng/files/libpng16/1.6.44/libpng-1.6.44.tar.xz" + sha256: "60c4da1d5b7f0aa8d158da48e8f8afa9773c1c8baa5d21974df61f1886b8ce8e" "1.6.43": url: "https://sourceforge.net/projects/libpng/files/libpng16/1.6.43/libpng-1.6.43.tar.xz" sha256: "6a5ca0652392a2d7c9db2ae5b40210843c0bbc081cbd410825ab00cc59f14a6c" diff --git a/recipes/libpng/all/conanfile.py b/recipes/libpng/all/conanfile.py index a5aa7d7b88067..d41cc8f49d2bb 100644 --- a/recipes/libpng/all/conanfile.py +++ b/recipes/libpng/all/conanfile.py @@ -2,7 +2,7 @@ from conan.errors import ConanInvalidConfiguration from conan.tools.apple import is_apple_os from conan.tools.cmake import CMake, CMakeToolchain, CMakeDeps, cmake_layout -from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, replace_in_file, rm, rmdir +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rm, rmdir from conan.tools.microsoft import is_msvc from conan.tools.scm import Version import os @@ -149,6 +149,7 @@ def package(self): rmdir(self, os.path.join(self.package_folder, "lib", "libpng")) rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) rmdir(self, os.path.join(self.package_folder, "share")) + rm(self, "*.cmake", os.path.join(self.package_folder, "lib", "cmake", "PNG")) def package_info(self): major_min_version = f"{Version(self.version).major}{Version(self.version).minor}" diff --git a/recipes/libpng/config.yml b/recipes/libpng/config.yml index 05a40beb2a7b3..72e85034a3407 100644 --- a/recipes/libpng/config.yml +++ b/recipes/libpng/config.yml @@ -1,4 +1,6 @@ versions: + "1.6.44": + folder: all "1.6.43": folder: all "1.6.42": From 8f737d3c3f585b07b0eba9fcdcdb701368a48ddd Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 18 Sep 2024 19:35:53 +0900 Subject: [PATCH 544/641] (#25264) drogon: add version 1.9.7 * drogon: add version 1.9.7 * add patch_source --- recipes/drogon/all/conandata.yml | 14 ++++ recipes/drogon/all/conanfile.py | 5 +- .../1.9.7-0002-find-cci-packages.patch | 71 +++++++++++++++++++ .../1.9.7-0003-include-exception.patch | 13 ++++ recipes/drogon/config.yml | 2 + 5 files changed, 104 insertions(+), 1 deletion(-) create mode 100644 recipes/drogon/all/patches/1.9.7-0002-find-cci-packages.patch create mode 100644 recipes/drogon/all/patches/1.9.7-0003-include-exception.patch diff --git a/recipes/drogon/all/conandata.yml b/recipes/drogon/all/conandata.yml index bca73571212af..fecd2ed6377de 100644 --- a/recipes/drogon/all/conandata.yml +++ b/recipes/drogon/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.9.7": + url: "https://github.com/drogonframework/drogon/archive/v1.9.7.tar.gz" + sha256: "e54c5d604769a496b951e5af52a0f85e60eba584fae426d204eb5b2f02cfbf59" "1.9.6": url: "https://github.com/drogonframework/drogon/archive/v1.9.6.tar.gz" sha256: "a81d0ea0e87b0214aa56f7fa7bb851011efe606af67891a0945825104505a08a" @@ -24,6 +27,17 @@ sources: url: "https://github.com/drogonframework/drogon/archive/v1.8.7.tar.gz" sha256: "d2d80d35becd69bf80d74bf09b69425193f1b7be3926bd44f3ac7b951e54465d" patches: + "1.9.7": + - patch_file: "patches/1.8.5-0001-remove-shared-libs.patch" + patch_description: "remove shared libs option" + patch_type: "conan" + - patch_file: "patches/1.9.7-0002-find-cci-packages.patch" + patch_description: "Fix jsoncpp cmake target name" + patch_type: "conan" + - patch_file: "patches/1.9.7-0003-include-exception.patch" + patch_description: "include exception for exception_ptr" + patch_type: "portability" + patch_source: "https://github.com/drogonframework/drogon/pull/2159" "1.9.6": - patch_file: "patches/1.8.5-0001-remove-shared-libs.patch" patch_description: "remove shared libs option" diff --git a/recipes/drogon/all/conanfile.py b/recipes/drogon/all/conanfile.py index 1aa59c64d8206..88788705194dd 100644 --- a/recipes/drogon/all/conanfile.py +++ b/recipes/drogon/all/conanfile.py @@ -110,7 +110,10 @@ def validate(self): raise ConanInvalidConfiguration(f"{self.ref} requires boost on C++14") def requirements(self): - self.requires("trantor/1.5.19", transitive_headers=True, transitive_libs=True) + if Version(self.version) < "1.9.7": + self.requires("trantor/1.5.19", transitive_headers=True, transitive_libs=True) + else: + self.requires("trantor/1.5.21", transitive_headers=True, transitive_libs=True) self.requires("jsoncpp/1.9.5", transitive_headers=True, transitive_libs=True) self.requires("openssl/[>=1.1 <4]") self.requires("zlib/[>=1.2.11 <2]") diff --git a/recipes/drogon/all/patches/1.9.7-0002-find-cci-packages.patch b/recipes/drogon/all/patches/1.9.7-0002-find-cci-packages.patch new file mode 100644 index 0000000000000..10aaaaa8d1cad --- /dev/null +++ b/recipes/drogon/all/patches/1.9.7-0002-find-cci-packages.patch @@ -0,0 +1,71 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 91b9b9b..9a2773f 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -185,9 +185,9 @@ endif() + + + # jsoncpp +-find_package(Jsoncpp REQUIRED) +-target_link_libraries(${PROJECT_NAME} PUBLIC Jsoncpp_lib) +-list(APPEND INCLUDE_DIRS_FOR_DYNAMIC_VIEW ${JSONCPP_INCLUDE_DIRS}) ++find_package(jsoncpp REQUIRED) ++target_link_libraries(${PROJECT_NAME} PUBLIC jsoncpp_lib) ++list(APPEND INCLUDE_DIRS_FOR_DYNAMIC_VIEW ${jsoncpp_INCLUDE_DIRS}) + + # yamlcpp + if(BUILD_YAML_CONFIG) +@@ -199,7 +199,7 @@ if(BUILD_YAML_CONFIG) + message(STATUS "yaml-cpp not used") + else() + message(STATUS "yaml-cpp found ") +- target_link_libraries(${PROJECT_NAME} PUBLIC ${YAML_CPP_LINK_LIBRARY}) ++ target_link_libraries(${PROJECT_NAME} PUBLIC yaml-cpp) + target_compile_definitions(${PROJECT_NAME} PUBLIC HAS_YAML_CPP) + endif() + else() +@@ -437,7 +437,7 @@ if (BUILD_SQLITE) + find_package(SQLite3 QUIET) + find_package(unofficial-sqlite3 QUIET) + if (SQLite3_FOUND) +- target_link_libraries(${PROJECT_NAME} PRIVATE SQLite3_lib) ++ target_link_libraries(${PROJECT_NAME} PRIVATE SQLite::SQLite3) + set(DROGON_FOUND_SQLite3 TRUE) + elseif (unofficial-sqlite3_FOUND) + target_link_libraries(${PROJECT_NAME} PRIVATE unofficial::sqlite3::sqlite3) +@@ -460,10 +460,10 @@ if (BUILD_SQLITE) + endif (BUILD_SQLITE) + + if (BUILD_REDIS) +- find_package(Hiredis) +- if (Hiredis_FOUND) ++ find_package(hiredis) ++ if (hiredis_FOUND) + add_definitions(-DUSE_REDIS) +- target_link_libraries(${PROJECT_NAME} PRIVATE Hiredis_lib) ++ target_link_libraries(${PROJECT_NAME} PRIVATE hiredis::hiredis) + set(DROGON_SOURCES + ${DROGON_SOURCES} + nosql_lib/redis/src/RedisClientImpl.cc +@@ -483,10 +483,10 @@ if (BUILD_REDIS) + nosql_lib/redis/src/SubscribeContext.h + nosql_lib/redis/src/RedisSubscriberImpl.h) + +- endif (Hiredis_FOUND) ++ endif () + endif (BUILD_REDIS) + +-if (NOT Hiredis_FOUND) ++if (NOT hiredis_FOUND) + set(DROGON_SOURCES + ${DROGON_SOURCES} + lib/src/RedisClientSkipped.cc +@@ -495,7 +495,7 @@ if (NOT Hiredis_FOUND) + set(private_headers + ${private_headers} + lib/src/RedisClientManager.h) +-endif (NOT Hiredis_FOUND) ++endif () + + if (BUILD_TESTING) + add_subdirectory(nosql_lib/redis/tests) diff --git a/recipes/drogon/all/patches/1.9.7-0003-include-exception.patch b/recipes/drogon/all/patches/1.9.7-0003-include-exception.patch new file mode 100644 index 0000000000000..8c99b4baf0dcc --- /dev/null +++ b/recipes/drogon/all/patches/1.9.7-0003-include-exception.patch @@ -0,0 +1,13 @@ +diff --git a/lib/inc/drogon/RequestStream.h b/lib/inc/drogon/RequestStream.h +index 852f075..b72e39e 100644 +--- a/lib/inc/drogon/RequestStream.h ++++ b/lib/inc/drogon/RequestStream.h +@@ -16,7 +16,7 @@ + #include + #include + #include +- ++#include + namespace drogon + { + class HttpRequest; diff --git a/recipes/drogon/config.yml b/recipes/drogon/config.yml index 4fe7e87fc8cfb..b6e81018df502 100644 --- a/recipes/drogon/config.yml +++ b/recipes/drogon/config.yml @@ -1,4 +1,6 @@ versions: + "1.9.7": + folder: "all" "1.9.6": folder: "all" "1.9.5": From 4a911250eddd7f79383ce4efa1d337a74cb81c0d Mon Sep 17 00:00:00 2001 From: igormironchik Date: Wed, 18 Sep 2024 14:10:42 +0300 Subject: [PATCH 545/641] (#25277) md4qt: add version 3.0.0 --- recipes/md4qt/all/conandata.yml | 3 +++ recipes/md4qt/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/md4qt/all/conandata.yml b/recipes/md4qt/all/conandata.yml index e803e1133c2a4..c86a0ee7fa859 100644 --- a/recipes/md4qt/all/conandata.yml +++ b/recipes/md4qt/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.0.0": + url: "https://github.com/igormironchik/md4qt/archive/refs/tags/3.0.0.tar.gz" + sha256: "757f94ce1818123abe899729bba00aa1d99150d4cbe934ab57a95b308fd536dd" "2.8.2": url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.8.2.tar.gz" sha256: "4f560d752ead3aba4983bd09d87e9e32a8313770d7fde0374988785d193b386a" diff --git a/recipes/md4qt/config.yml b/recipes/md4qt/config.yml index 39e742c86f556..7d4bc0dc284de 100644 --- a/recipes/md4qt/config.yml +++ b/recipes/md4qt/config.yml @@ -1,4 +1,6 @@ versions: + "3.0.0": + folder: all "2.8.2": folder: all "2.8.1": From abb7a2177aea742e1b12a0ad1aa3e145f8e06948 Mon Sep 17 00:00:00 2001 From: Uilian Ries Date: Wed, 18 Sep 2024 13:42:51 +0200 Subject: [PATCH 546/641] (#25281) [vulkan-validationlayers] Add support for Android * Build vulkan-validationlayers for Android Signed-off-by: Uilian Ries * update package type to static type Signed-off-by: Uilian Ries * Add fPIC option Signed-off-by: Uilian Ries * Fix fpic management on Windows Signed-off-by: Uilian Ries * Remove Wayland support on Android * Added system_libs for android --------- Signed-off-by: Uilian Ries Co-authored-by: PerseoGI --- .../vulkan-validationlayers/all/conanfile.py | 27 ++++++++++++++++--- 1 file changed, 23 insertions(+), 4 deletions(-) diff --git a/recipes/vulkan-validationlayers/all/conanfile.py b/recipes/vulkan-validationlayers/all/conanfile.py index 8d5cc5e6efcf4..9806017bf17ae 100644 --- a/recipes/vulkan-validationlayers/all/conanfile.py +++ b/recipes/vulkan-validationlayers/all/conanfile.py @@ -23,14 +23,16 @@ class VulkanValidationLayersConan(ConanFile): topics = ("vulkan", "validation-layers") homepage = "https://github.com/KhronosGroup/Vulkan-ValidationLayers" url = "https://github.com/conan-io/conan-center-index" - + package_type = "static-library" settings = "os", "arch", "compiler", "build_type" options = { + "fPIC": [True, False], "with_wsi_xcb": [True, False], "with_wsi_xlib": [True, False], "with_wsi_wayland": [True, False], } default_options = { + "fPIC": True, "with_wsi_xcb": True, "with_wsi_xlib": True, "with_wsi_wayland": True, @@ -90,6 +92,8 @@ def config_options(self): del self.options.with_wsi_xcb del self.options.with_wsi_xlib del self.options.with_wsi_wayland + if self.settings.os == "Windows": + del self.options.fPIC def layout(self): cmake_layout(self, src_folder="src") @@ -153,9 +157,13 @@ def generate(self): tc.variables["VULKAN_HEADERS_INSTALL_DIR"] = self.dependencies["vulkan-headers"].package_folder.replace("\\", "/") tc.variables["USE_CCACHE"] = False if self.settings.os in ["Linux", "FreeBSD"]: - tc.variables["BUILD_WSI_XCB_SUPPORT"] = self.options.with_wsi_xcb - tc.variables["BUILD_WSI_XLIB_SUPPORT"] = self.options.with_wsi_xlib - tc.variables["BUILD_WSI_WAYLAND_SUPPORT"] = self.options.with_wsi_wayland + tc.variables["BUILD_WSI_XCB_SUPPORT"] = self.options.get_safe("with_wsi_xcb") + tc.variables["BUILD_WSI_XLIB_SUPPORT"] = self.options.get_safe("with_wsi_xlib") + tc.variables["BUILD_WSI_WAYLAND_SUPPORT"] = self.options.get_safe("with_wsi_wayland") + elif self.settings.os == "Android": + tc.variables["BUILD_WSI_XCB_SUPPORT"] = False + tc.variables["BUILD_WSI_XLIB_SUPPORT"] = False + tc.variables["BUILD_WSI_WAYLAND_SUPPORT"] = False tc.variables["BUILD_WERROR"] = False tc.variables["BUILD_TESTS"] = False tc.variables["INSTALL_TESTS"] = False @@ -190,6 +198,14 @@ def _patch_sources(self): os.path.join(self.generators_folder, "SPIRV-ToolsConfig.cmake"), os.path.join(self.generators_folder, "SPIRV-Tools-optConfig.cmake"), ) + if self.settings.os == "Android": + # INFO: libVkLayer_utils.a: error: undefined symbol: __android_log_print + # https://github.com/KhronosGroup/Vulkan-ValidationLayers/commit/a26638ae9fdd8c40b56d4c7b72859a5b9a0952c9 + replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), + "VkLayer_utils PUBLIC Vulkan::Headers", "VkLayer_utils PUBLIC Vulkan::Headers -landroid -llog") + if not self.options.get_safe("fPIC"): + replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), + "CMAKE_POSITION_INDEPENDENT_CODE ON", "CMAKE_POSITION_INDEPENDENT_CODE OFF") def build(self): self._patch_sources() @@ -239,3 +255,6 @@ def package_info(self): # TODO: to remove after conan v2, it allows to not break consumers still relying on virtualenv generator self.env_info.VK_LAYER_PATH.append(vk_layer_path) + + if self.settings.os == "Android": + self.cpp_info.system_libs.extend(["android", "log"]) From 5ef4fe3e2070ace6a9c354ade412a918cc6713b7 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Wed, 18 Sep 2024 15:46:33 +0300 Subject: [PATCH 547/641] (#23410) libdatrie: new recipe * libdatrie: new recipe * libdatrie: shared macOS builds are broken * libdatrie: fix Windows build * libdatrie: make libiconv visible test_package tries to find libiconv.so and fails otherwise * libdatrie: add /FS --- recipes/libdatrie/all/conandata.yml | 9 ++ recipes/libdatrie/all/conanfile.py | 138 ++++++++++++++++++ .../libdatrie/all/patches/fix-exports.patch | 7 + .../libdatrie/all/test_package/CMakeLists.txt | 8 + .../libdatrie/all/test_package/conanfile.py | 26 ++++ .../libdatrie/all/test_package/test_package.c | 15 ++ recipes/libdatrie/config.yml | 3 + 7 files changed, 206 insertions(+) create mode 100644 recipes/libdatrie/all/conandata.yml create mode 100644 recipes/libdatrie/all/conanfile.py create mode 100644 recipes/libdatrie/all/patches/fix-exports.patch create mode 100644 recipes/libdatrie/all/test_package/CMakeLists.txt create mode 100644 recipes/libdatrie/all/test_package/conanfile.py create mode 100644 recipes/libdatrie/all/test_package/test_package.c create mode 100644 recipes/libdatrie/config.yml diff --git a/recipes/libdatrie/all/conandata.yml b/recipes/libdatrie/all/conandata.yml new file mode 100644 index 0000000000000..96b260a1cc4e3 --- /dev/null +++ b/recipes/libdatrie/all/conandata.yml @@ -0,0 +1,9 @@ +sources: + "0.2.13": + url: "https://linux.thai.net/pub/ThaiLinux/software/libthai/libdatrie-0.2.13.tar.xz" + sha256: "12231bb2be2581a7f0fb9904092d24b0ed2a271a16835071ed97bed65267f4be" +patches: + "0.2.13": + - patch_file: "patches/fix-exports.patch" + patch_type: "portability" + patch_description: "Fix .def exports for Windows" diff --git a/recipes/libdatrie/all/conanfile.py b/recipes/libdatrie/all/conanfile.py new file mode 100644 index 0000000000000..7ec417808f17c --- /dev/null +++ b/recipes/libdatrie/all/conanfile.py @@ -0,0 +1,138 @@ +import os + +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.apple import fix_apple_shared_install_name, is_apple_os +from conan.tools.build import cross_building +from conan.tools.env import Environment, VirtualBuildEnv, VirtualRunEnv +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rm, rmdir, save, rename +from conan.tools.gnu import Autotools, AutotoolsDeps, AutotoolsToolchain +from conan.tools.layout import basic_layout +from conan.tools.microsoft import is_msvc, unix_path + +required_conan_version = ">=1.54.0" + + +class LibdatrieConan(ConanFile): + name = "libdatrie" + description = "Implementation of double-array structure for representing tries" + license = "LGPL-2.1-or-later" + homepage = "https://linux.thai.net/projects/datrie" + url = "https://github.com/conan-io/conan-center-index" + topics = ("trie", "double-array-trie", "datrie") + + package_type = "library" + settings = "os", "arch", "compiler", "build_type" + options = { + "shared": [True, False], + "fPIC": [True, False], + "tools": [True, False], + } + default_options = { + "shared": False, + "fPIC": True, + "tools": False, + } + + @property + def _settings_build(self): + return getattr(self, "settings_build", self.settings) + + def config_options(self): + if self.settings.os == "Windows": + del self.options.fPIC + + def configure(self): + if self.options.shared: + self.options.rm_safe("fPIC") + self.settings.rm_safe("compiler.cppstd") + self.settings.rm_safe("compiler.libcxx") + + def layout(self): + basic_layout(self, src_folder="src") + + def export_sources(self): + export_conandata_patches(self) + + def requirements(self): + self.requires("libiconv/1.17") + + def validate(self): + if is_apple_os(self) and self.options.shared: + # Fails due to build script bugs + raise ConanInvalidConfiguration("shared builds on Apple OS-s are not supported. Contributions are welcome!") + + 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("automake/1.16.5") + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + env = VirtualBuildEnv(self) + env.generate() + + if not cross_building(self): + env = VirtualRunEnv(self) + env.generate(scope="build") + + tc = AutotoolsToolchain(self) + tc.configure_args.extend([ + "--disable-doxygen-doc", + ]) + if is_msvc(self): + tc.extra_cflags.append("-FS") + tc.extra_cxxflags.append("-FS") + tc.generate() + + if is_msvc(self): + env = Environment() + iconv_info = self.dependencies["libiconv"].cpp_info + env.append("CPPFLAGS", [f"-I{unix_path(self, iconv_info.includedir)}"] + [f"-D{d}" for d in iconv_info.defines]) + env.append("_LINK_", [lib if lib.endswith(".lib") else f"{lib}.lib" for lib in iconv_info.libs]) + env.append("LDFLAGS", [f"-L{unix_path(self, iconv_info.libdir)}"]) + env.vars(self).save_script("conanautotoolsdeps_cl_workaround") + else: + tc = AutotoolsDeps(self) + tc.generate() + + if is_msvc(self): + env = Environment() + automake_conf = self.dependencies.build["automake"].conf_info + compile_wrapper = unix_path(self, automake_conf.get("user.automake:compile-wrapper", check_type=str)) + ar_wrapper = unix_path(self, automake_conf.get("user.automake:lib-wrapper", check_type=str)) + env.define("CC", f"{compile_wrapper} cl -nologo") + env.define("LD", "link -nologo") + env.define("AR", f"{ar_wrapper} lib") + env.vars(self).save_script("conanbuild_msvc") + + def build(self): + apply_conandata_patches(self) + autotools = Autotools(self) + autotools.configure() + if not self.options.tools: + save(self, os.path.join(self.build_folder, "tools", "Makefile"), "all:\n\t\ninstall:\n\t\n") + # Unnecessary and breaks MSVC build + save(self, os.path.join(self.build_folder, "man", "Makefile"), "all:\n\t\ninstall:\n\t\n") + autotools.make() + + def package(self): + copy(self, "COPYING", self.source_folder, os.path.join(self.package_folder, "licenses")) + autotools = Autotools(self) + autotools.install() + rm(self, "*.la", os.path.join(self.package_folder, "lib")) + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) + rmdir(self, os.path.join(self.package_folder, "share")) + fix_apple_shared_install_name(self) + if is_msvc(self) and self.options.shared: + rename(self, os.path.join(self.package_folder, "lib", "datrie.dll.lib"), + os.path.join(self.package_folder, "lib", "datrie.lib")) + + def package_info(self): + self.cpp_info.set_property("pkg_config_name", "datrie-0.2") + self.cpp_info.libs = ["datrie"] diff --git a/recipes/libdatrie/all/patches/fix-exports.patch b/recipes/libdatrie/all/patches/fix-exports.patch new file mode 100644 index 0000000000000..70886973e7745 --- /dev/null +++ b/recipes/libdatrie/all/patches/fix-exports.patch @@ -0,0 +1,7 @@ +--- datrie/libdatrie.def ++++ datrie/libdatrie.def +@@ -1,3 +1,4 @@ ++EXPORTS + alpha_map_new + alpha_map_clone + alpha_map_free diff --git a/recipes/libdatrie/all/test_package/CMakeLists.txt b/recipes/libdatrie/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..baf1d9bc4e755 --- /dev/null +++ b/recipes/libdatrie/all/test_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES C) + +find_package(libdatrie REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.c) +target_link_libraries(${PROJECT_NAME} PRIVATE libdatrie::libdatrie) +target_compile_features(${PROJECT_NAME} PRIVATE c_std_99) diff --git a/recipes/libdatrie/all/test_package/conanfile.py b/recipes/libdatrie/all/test_package/conanfile.py new file mode 100644 index 0000000000000..3a91c9439218e --- /dev/null +++ b/recipes/libdatrie/all/test_package/conanfile.py @@ -0,0 +1,26 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def layout(self): + cmake_layout(self) + + def requirements(self): + self.requires(self.tested_reference_str) + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/libdatrie/all/test_package/test_package.c b/recipes/libdatrie/all/test_package/test_package.c new file mode 100644 index 0000000000000..683c115b1b56f --- /dev/null +++ b/recipes/libdatrie/all/test_package/test_package.c @@ -0,0 +1,15 @@ +#include + +int main(void) { + AlphaMap *en_map = alpha_map_new(); + if (!en_map) + return 1; + if (alpha_map_add_range(en_map, 0x0061, 0x007a) != 0) + return 1; + Trie *test_trie = trie_new(en_map); + if (!test_trie) + return 1; + trie_free(test_trie); + alpha_map_free(en_map); + return 0; +} diff --git a/recipes/libdatrie/config.yml b/recipes/libdatrie/config.yml new file mode 100644 index 0000000000000..58b2f36b9fab3 --- /dev/null +++ b/recipes/libdatrie/config.yml @@ -0,0 +1,3 @@ +versions: + "0.2.13": + folder: all From 0586167b12752217bbea2b3aac1f2c1aa2710cb5 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Wed, 18 Sep 2024 16:09:27 +0300 Subject: [PATCH 548/641] (#24769) pocketfft: new recipe * pocketfft: new recipe * pocketfft: add missing pthread * pocketfft: add a patch for * pocketfft: update version, drop merged patch --- recipes/pocketfft/all/conandata.yml | 4 + recipes/pocketfft/all/conanfile.py | 82 +++++++++++++++++++ .../pocketfft/all/test_package/CMakeLists.txt | 8 ++ .../pocketfft/all/test_package/conanfile.py | 26 ++++++ .../all/test_package/test_package.cpp | 15 ++++ recipes/pocketfft/config.yml | 3 + 6 files changed, 138 insertions(+) create mode 100644 recipes/pocketfft/all/conandata.yml create mode 100644 recipes/pocketfft/all/conanfile.py create mode 100644 recipes/pocketfft/all/test_package/CMakeLists.txt create mode 100644 recipes/pocketfft/all/test_package/conanfile.py create mode 100644 recipes/pocketfft/all/test_package/test_package.cpp create mode 100644 recipes/pocketfft/config.yml diff --git a/recipes/pocketfft/all/conandata.yml b/recipes/pocketfft/all/conandata.yml new file mode 100644 index 0000000000000..afc3604e9585d --- /dev/null +++ b/recipes/pocketfft/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "0.0.0.cci.20240801": + url: "https://github.com/mreineck/pocketfft/archive/bb87ca50df0478415a12d9011dc374eeed4e9d93.tar.gz" + sha256: "434d6cfd38613fb17db2c006cd64991947bdf88fb3f750cf6bfbaa86083c5bbd" diff --git a/recipes/pocketfft/all/conanfile.py b/recipes/pocketfft/all/conanfile.py new file mode 100644 index 0000000000000..75e19754616a6 --- /dev/null +++ b/recipes/pocketfft/all/conanfile.py @@ -0,0 +1,82 @@ +import os + +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import check_min_cppstd +from conan.tools.files import copy, get +from conan.tools.layout import basic_layout + +required_conan_version = ">=1.52.0" + + +class PocketfftConan(ConanFile): + name = "pocketfft" + description = "PocketFFT: a heavily modified implementation of FFTPack" + license = "BSD-3-Clause" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/mreineck/pocketfft" + topics = ("fft", "fast-fourier-transform", "fftpack", "header-only") + + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" + no_copy_source = True + options = { + "cache_size": ["ANY"], + "multithreading": [True, False], + "pthread": [True, False], + "vectorization": [True, False], + } + default_options = { + "cache_size": 0, + "multithreading": True, + "pthread": False, + "vectorization": True, + } + + def configure(self): + if not self.options.multithreading: + del self.options.pthread + + def requirements(self): + if self.options.get_safe("pthread") and self.settings.os == "Windows": + self.requires("pthreads4w/3.0.0") + + 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, 11) + + if not str(self.options.cache_size).isdigit() or int(str(self.options.cache_size)) < 0: + raise ConanInvalidConfiguration("cache_size option must be greater or equal to 0") + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def package(self): + copy(self, "LICENSE.md", self.source_folder, os.path.join(self.package_folder, "licenses")) + copy(self, "*.h", self.source_folder, os.path.join(self.package_folder, "include")) + + def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] + + self.cpp_info.defines.append(f"POCKETFFT_CACHE_SIZE={self.options.cache_size}") + if not self.options.multithreading: + self.cpp_info.defines.append("POCKETFFT_NO_MULTITHREADING") + if self.options.get_safe("pthread"): + self.cpp_info.defines.append("POCKETFFT_PTHREADS") + if not self.options.vectorization: + self.cpp_info.defines.append("POCKETFFT_NO_VECTORS") + + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.system_libs.append("m") + if self.options.multithreading: + self.cpp_info.system_libs.append("pthread") + + if self.options.get_safe("pthread") and self.settings.os == "Windows": + self.cpp_info.system_libs.append("pthreads4w::pthreads4w") diff --git a/recipes/pocketfft/all/test_package/CMakeLists.txt b/recipes/pocketfft/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..5d277cd110bf2 --- /dev/null +++ b/recipes/pocketfft/all/test_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) + +find_package(pocketfft REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE pocketfft::pocketfft) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) diff --git a/recipes/pocketfft/all/test_package/conanfile.py b/recipes/pocketfft/all/test_package/conanfile.py new file mode 100644 index 0000000000000..3a91c9439218e --- /dev/null +++ b/recipes/pocketfft/all/test_package/conanfile.py @@ -0,0 +1,26 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def layout(self): + cmake_layout(self) + + def requirements(self): + self.requires(self.tested_reference_str) + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/pocketfft/all/test_package/test_package.cpp b/recipes/pocketfft/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..04d8a1970ebf2 --- /dev/null +++ b/recipes/pocketfft/all/test_package/test_package.cpp @@ -0,0 +1,15 @@ +#include + +#include +#include + +using namespace pocketfft; + +int main() { + const int len = 16; + shape_t shape{len}; + stride_t stride{sizeof(std::complex)}; + shape_t axes = {0}; + std::vector> data(len), res(len); + c2c(shape, stride, stride, axes, FORWARD, data.data(), res.data(), 1.f); +} diff --git a/recipes/pocketfft/config.yml b/recipes/pocketfft/config.yml new file mode 100644 index 0000000000000..cecbc61c9639e --- /dev/null +++ b/recipes/pocketfft/config.yml @@ -0,0 +1,3 @@ +versions: + "0.0.0.cci.20240801": + folder: all From a7603e7197f40441765e61aa9b86270f1ddc127b Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Wed, 18 Sep 2024 16:28:55 +0300 Subject: [PATCH 549/641] (#24815) manif: new recipe * manif: new recipe * manif: require GCC 6 or newer * manif: change version to 0.0.2.cci.20240804 * manif: bump to v0.0.5 --- recipes/manif/all/conandata.yml | 4 ++ recipes/manif/all/conanfile.py | 66 +++++++++++++++++++ recipes/manif/all/test_package/CMakeLists.txt | 8 +++ recipes/manif/all/test_package/conanfile.py | 26 ++++++++ .../manif/all/test_package/test_package.cpp | 10 +++ recipes/manif/config.yml | 3 + 6 files changed, 117 insertions(+) create mode 100644 recipes/manif/all/conandata.yml create mode 100644 recipes/manif/all/conanfile.py create mode 100644 recipes/manif/all/test_package/CMakeLists.txt create mode 100644 recipes/manif/all/test_package/conanfile.py create mode 100644 recipes/manif/all/test_package/test_package.cpp create mode 100644 recipes/manif/config.yml diff --git a/recipes/manif/all/conandata.yml b/recipes/manif/all/conandata.yml new file mode 100644 index 0000000000000..5d0f0b0b2a6f2 --- /dev/null +++ b/recipes/manif/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "0.0.5": + url: "https://github.com/artivis/manif/archive/refs/tags/0.0.5.tar.gz" + sha256: "246a781c54a5c57179d48096faca0d108944e120f69d8fd7fb69e3cb4a0a67fb" diff --git a/recipes/manif/all/conanfile.py b/recipes/manif/all/conanfile.py new file mode 100644 index 0000000000000..f0f62f808f152 --- /dev/null +++ b/recipes/manif/all/conanfile.py @@ -0,0 +1,66 @@ +import os + +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import check_min_cppstd +from conan.tools.files import copy, get +from conan.tools.layout import basic_layout +from conan.tools.scm import Version + +required_conan_version = ">=1.52.0" + + +class PackageConan(ConanFile): + name = "manif" + description = "A small C++11 header-only library for Lie theory" + license = "MIT" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://artivis.github.io/manif" + topics = ("lie-groups", "state-estimation", "geometry", "robotics", "computer-vision", "header-only") + + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" + no_copy_source = True + + @property + def _min_cppstd(self): + return 11 + + @property + def _compilers_minimum_version(self): + return { + "gcc": "6", + } + + def layout(self): + basic_layout(self, src_folder="src") + + def requirements(self): + self.requires("eigen/3.4.0") + self.requires("tl-optional/1.1.0") + + def package_id(self): + self.info.clear() + + def validate(self): + if self.settings.compiler.cppstd: + check_min_cppstd(self, self._min_cppstd) + minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) + if minimum_version and Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration( + f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." + ) + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def package(self): + copy(self, "LICENSE", self.source_folder, os.path.join(self.package_folder, "licenses")) + copy(self, "*.h", os.path.join(self.source_folder, "include"), os.path.join(self.package_folder, "include")) + + def package_info(self): + self.cpp_info.set_property("cmake_file_name", "manif") + self.cpp_info.set_property("cmake_target_name", "MANIF::manif") + + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] diff --git a/recipes/manif/all/test_package/CMakeLists.txt b/recipes/manif/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..84ba50bb17606 --- /dev/null +++ b/recipes/manif/all/test_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) + +find_package(manif REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE MANIF::manif) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) diff --git a/recipes/manif/all/test_package/conanfile.py b/recipes/manif/all/test_package/conanfile.py new file mode 100644 index 0000000000000..3a91c9439218e --- /dev/null +++ b/recipes/manif/all/test_package/conanfile.py @@ -0,0 +1,26 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def layout(self): + cmake_layout(self) + + def requirements(self): + self.requires(self.tested_reference_str) + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/manif/all/test_package/test_package.cpp b/recipes/manif/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..c82dc520226c0 --- /dev/null +++ b/recipes/manif/all/test_package/test_package.cpp @@ -0,0 +1,10 @@ +#include + +using namespace manif; + +int main() { + SE3d X = SE3d::Random(); + SE3Tangentd w = SE3Tangentd::Random(); + SE3d::Jacobian J_o_x, J_o_w; + auto X_plus_w = X.plus(w, J_o_x, J_o_w); +} diff --git a/recipes/manif/config.yml b/recipes/manif/config.yml new file mode 100644 index 0000000000000..6506e357707be --- /dev/null +++ b/recipes/manif/config.yml @@ -0,0 +1,3 @@ +versions: + "0.0.5": + folder: all From ee774d9d3f3a70d7924ce16e741bd8d9d5ed1132 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 18 Sep 2024 22:51:11 +0900 Subject: [PATCH 550/641] (#24875) ctrack: add recipe MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * ctrack: add recipe * Update recipes/ctrack/all/test_package/test_package.cpp * update 1.0.2 * disable execution policy to fix compilation error on older gcc --------- Co-authored-by: Abril Rincón Blanco --- recipes/ctrack/all/conandata.yml | 4 ++ recipes/ctrack/all/conanfile.py | 68 +++++++++++++++++++ .../ctrack/all/test_package/CMakeLists.txt | 8 +++ recipes/ctrack/all/test_package/conanfile.py | 26 +++++++ .../ctrack/all/test_package/test_package.cpp | 25 +++++++ recipes/ctrack/config.yml | 3 + 6 files changed, 134 insertions(+) create mode 100644 recipes/ctrack/all/conandata.yml create mode 100644 recipes/ctrack/all/conanfile.py create mode 100644 recipes/ctrack/all/test_package/CMakeLists.txt create mode 100644 recipes/ctrack/all/test_package/conanfile.py create mode 100644 recipes/ctrack/all/test_package/test_package.cpp create mode 100644 recipes/ctrack/config.yml diff --git a/recipes/ctrack/all/conandata.yml b/recipes/ctrack/all/conandata.yml new file mode 100644 index 0000000000000..f43d2b2b61b59 --- /dev/null +++ b/recipes/ctrack/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "1.0.2": + url: "https://github.com/Compaile/ctrack/releases/download/v1.0.2/ctrack-main.zip" + sha256: "1a41a831c28977504b49b6966c46e65939271eca90fbe297e248a3e0bf05ac5a" diff --git a/recipes/ctrack/all/conanfile.py b/recipes/ctrack/all/conanfile.py new file mode 100644 index 0000000000000..439699d0f2442 --- /dev/null +++ b/recipes/ctrack/all/conanfile.py @@ -0,0 +1,68 @@ +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import check_min_cppstd +from conan.tools.files import copy, get +from conan.tools.layout import basic_layout +from conan.tools.scm import Version +import os + +required_conan_version = ">=1.52.0" + +class CtrackConan(ConanFile): + name = "ctrack" + description = "A lightweight, high-performance C++ benchmarking and tracking library for effortless function profiling in both development and production environments." + license = "MIT" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/Compaile/ctrack" + topics = ("benchmark", "tracking", "profiling", "header-only") + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" + no_copy_source = True + + @property + def _min_cppstd(self): + return 17 + + @property + def _compilers_minimum_version(self): + return { + "gcc": "8", + "clang": "7", + "apple-clang": "12", + "Visual Studio": "16", + "msvc": "192", + } + + def layout(self): + basic_layout(self, src_folder="src") + + def package_id(self): + self.info.clear() + + def validate(self): + if self.settings.compiler.get_safe("cppstd"): + check_min_cppstd(self, self._min_cppstd) + minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) + if minimum_version and Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration( + f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." + ) + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def package(self): + copy(self, "LICENSE", self.source_folder, os.path.join(self.package_folder, "licenses")) + copy( + self, + "*.hpp", + os.path.join(self.source_folder, "include"), + os.path.join(self.package_folder, "include"), + ) + + def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] + + self.cpp_info.set_property("cmake_file_name", "ctrack") + self.cpp_info.set_property("cmake_target_name", "ctrack::ctrack") diff --git a/recipes/ctrack/all/test_package/CMakeLists.txt b/recipes/ctrack/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..c5cbaf058679d --- /dev/null +++ b/recipes/ctrack/all/test_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) + +find_package(ctrack REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE ctrack::ctrack) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) diff --git a/recipes/ctrack/all/test_package/conanfile.py b/recipes/ctrack/all/test_package/conanfile.py new file mode 100644 index 0000000000000..3a91c9439218e --- /dev/null +++ b/recipes/ctrack/all/test_package/conanfile.py @@ -0,0 +1,26 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def layout(self): + cmake_layout(self) + + def requirements(self): + self.requires(self.tested_reference_str) + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/ctrack/all/test_package/test_package.cpp b/recipes/ctrack/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..a7b05d6ea6f7c --- /dev/null +++ b/recipes/ctrack/all/test_package/test_package.cpp @@ -0,0 +1,25 @@ +// In older gcc, header requires tbb library. +// adding following line to fix compilation error due to this +#define CTRACK_DISABLE_EXECUTION_POLICY +#include "ctrack.hpp" +#include + +void expensiveOperation() { + CTRACK; + // Simulating some work + for (int i = 0; i < 5; ++i) { + std::cout << i << " "; + } + std::cout << std::endl; +} + +int main() { + for (int i = 0; i < 2; ++i) { + expensiveOperation(); + } + + // Print results to console + ctrack::result_print(); + + return 0; +} diff --git a/recipes/ctrack/config.yml b/recipes/ctrack/config.yml new file mode 100644 index 0000000000000..8457ca9a4a8cd --- /dev/null +++ b/recipes/ctrack/config.yml @@ -0,0 +1,3 @@ +versions: + "1.0.2": + folder: all From 9dd5060a83bd1217b7a9d6d8a86a8a59b05926b0 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 18 Sep 2024 23:09:36 +0900 Subject: [PATCH 551/641] (#24882) inipp: add new recipe * inipp: add recipe * fix license file problem * require C++14 --- recipes/inipp/all/conandata.yml | 4 ++ recipes/inipp/all/conanfile.py | 69 +++++++++++++++++++ recipes/inipp/all/test_package/CMakeLists.txt | 8 +++ recipes/inipp/all/test_package/conanfile.py | 26 +++++++ .../inipp/all/test_package/test_package.cpp | 13 ++++ recipes/inipp/config.yml | 3 + 6 files changed, 123 insertions(+) create mode 100644 recipes/inipp/all/conandata.yml create mode 100644 recipes/inipp/all/conanfile.py create mode 100644 recipes/inipp/all/test_package/CMakeLists.txt create mode 100644 recipes/inipp/all/test_package/conanfile.py create mode 100644 recipes/inipp/all/test_package/test_package.cpp create mode 100644 recipes/inipp/config.yml diff --git a/recipes/inipp/all/conandata.yml b/recipes/inipp/all/conandata.yml new file mode 100644 index 0000000000000..64126a2c14163 --- /dev/null +++ b/recipes/inipp/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "1.0.12": + url: "https://github.com/mcmtroffaes/inipp/archive/refs/tags/1.0.12.tar.gz" + sha256: "e37833ab689c7b38de09b1923635b131f80db42e9b22f37d88ae4d74a7cd3e78" diff --git a/recipes/inipp/all/conanfile.py b/recipes/inipp/all/conanfile.py new file mode 100644 index 0000000000000..8d2aa4480c81c --- /dev/null +++ b/recipes/inipp/all/conanfile.py @@ -0,0 +1,69 @@ +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import check_min_cppstd +from conan.tools.files import copy, get +from conan.tools.layout import basic_layout +from conan.tools.scm import Version +import os + +required_conan_version = ">=1.52.0" + +class InippConan(ConanFile): + name = "inipp" + description = "Simple C++ ini parser." + license = "MIT" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/mcmtroffaes/inipp" + topics = ("ini", "header-only") + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" + no_copy_source = True + + @property + def _min_cppstd(self): + # inipp requires `deduced return type` which is provided in C++14 + return 14 + + @property + def _compilers_minimum_version(self): + return { + "apple-clang": "10", + "clang": "7", + "gcc": "7", + "msvc": "191", + "Visual Studio": "15", + } + + def layout(self): + basic_layout(self, src_folder="src") + + def package_id(self): + self.info.clear() + + def validate(self): + if self.settings.compiler.cppstd: + check_min_cppstd(self, self._min_cppstd) + minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) + if minimum_version and Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration( + f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." + ) + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def package(self): + copy(self, "LICENSE.txt", self.source_folder, os.path.join(self.package_folder, "licenses")) + copy( + self, + "*.h", + os.path.join(self.source_folder, "inipp"), + os.path.join(self.package_folder, "include"), + ) + + def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] + + self.cpp_info.set_property("cmake_file_name", "inipp") + self.cpp_info.set_property("cmake_target_name", "inipp::inipp") diff --git a/recipes/inipp/all/test_package/CMakeLists.txt b/recipes/inipp/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..8b6037a46e4cd --- /dev/null +++ b/recipes/inipp/all/test_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) + +find_package(inipp REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE inipp::inipp) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_14) diff --git a/recipes/inipp/all/test_package/conanfile.py b/recipes/inipp/all/test_package/conanfile.py new file mode 100644 index 0000000000000..3a91c9439218e --- /dev/null +++ b/recipes/inipp/all/test_package/conanfile.py @@ -0,0 +1,26 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def layout(self): + cmake_layout(self) + + def requirements(self): + self.requires(self.tested_reference_str) + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/inipp/all/test_package/test_package.cpp b/recipes/inipp/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..cb8defcfdd28d --- /dev/null +++ b/recipes/inipp/all/test_package/test_package.cpp @@ -0,0 +1,13 @@ +#include +#include "inipp.h" + +int main() { + inipp::Ini ini; + ini.generate(std::cout); + + ini.default_section(ini.sections["DEFAULT"]); + ini.interpolate(); + ini.generate(std::cout); + + return 0; +} diff --git a/recipes/inipp/config.yml b/recipes/inipp/config.yml new file mode 100644 index 0000000000000..81d603cb239b7 --- /dev/null +++ b/recipes/inipp/config.yml @@ -0,0 +1,3 @@ +versions: + "1.0.12": + folder: all From 73a0c2a6d52cda8a331715496512bcb8e08a58a5 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 18 Sep 2024 23:30:02 +0900 Subject: [PATCH 552/641] (#25102) statistic: add recipe * statistic: add recipe * support apple-clang * support older gcc * require C++11 * drop msvc suport --- recipes/statistic/all/conandata.yml | 4 ++ recipes/statistic/all/conanfile.py | 52 +++++++++++++++++++ .../statistic/all/test_package/CMakeLists.txt | 8 +++ .../statistic/all/test_package/conanfile.py | 26 ++++++++++ .../all/test_package/test_package.cpp | 20 +++++++ recipes/statistic/config.yml | 3 ++ 6 files changed, 113 insertions(+) create mode 100644 recipes/statistic/all/conandata.yml create mode 100644 recipes/statistic/all/conanfile.py create mode 100644 recipes/statistic/all/test_package/CMakeLists.txt create mode 100644 recipes/statistic/all/test_package/conanfile.py create mode 100644 recipes/statistic/all/test_package/test_package.cpp create mode 100644 recipes/statistic/config.yml diff --git a/recipes/statistic/all/conandata.yml b/recipes/statistic/all/conandata.yml new file mode 100644 index 0000000000000..c9f570c26cbed --- /dev/null +++ b/recipes/statistic/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "1.0.8": + url: "https://github.com/RobTillaart/Statistic/archive/refs/tags/1.0.8.tar.gz" + sha256: "44ed39d05fb9280ad88e88d732805a228a69110fac6d1377bcf64cc84a363241" diff --git a/recipes/statistic/all/conanfile.py b/recipes/statistic/all/conanfile.py new file mode 100644 index 0000000000000..612fd3e02ff8c --- /dev/null +++ b/recipes/statistic/all/conanfile.py @@ -0,0 +1,52 @@ +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.files import copy, get +from conan.tools.layout import basic_layout +from conan.tools.build import check_min_cppstd +from conan.tools.microsoft import is_msvc +import os + +required_conan_version = ">=1.52.0" + +class StatisticConan(ConanFile): + name = "statistic" + description = "Statistic library for Arduino includes sum, average, variance and std deviation" + license = "MIT" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/RobTillaart/Statistic" + topics = ("arduino", "statistics", "header-only") + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" + no_copy_source = True + + @property + def _min_cppstd(self): + return 11 + + def layout(self): + basic_layout(self, src_folder="src") + + def package_id(self): + self.info.clear() + + def validate(self): + if is_msvc(self): + raise ConanInvalidConfiguration(f"{self.ref} does not support Visual Studio") + if self.settings.compiler.get_safe("cppstd"): + check_min_cppstd(self, self._min_cppstd) + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def package(self): + copy(self, "LICENSE", self.source_folder, os.path.join(self.package_folder, "licenses")) + copy( + self, + "Statistic.h", + self.source_folder, + os.path.join(self.package_folder, "include"), + ) + + def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] diff --git a/recipes/statistic/all/test_package/CMakeLists.txt b/recipes/statistic/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..9b9900a401fc1 --- /dev/null +++ b/recipes/statistic/all/test_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) + +find_package(statistic REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE statistic::statistic) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) diff --git a/recipes/statistic/all/test_package/conanfile.py b/recipes/statistic/all/test_package/conanfile.py new file mode 100644 index 0000000000000..3a91c9439218e --- /dev/null +++ b/recipes/statistic/all/test_package/conanfile.py @@ -0,0 +1,26 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def layout(self): + cmake_layout(self) + + def requirements(self): + self.requires(self.tested_reference_str) + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/statistic/all/test_package/test_package.cpp b/recipes/statistic/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..185ea7dc94706 --- /dev/null +++ b/recipes/statistic/all/test_package/test_package.cpp @@ -0,0 +1,20 @@ +#include +#if defined __has_include && __has_include() +# define HAVE_STDCXX_LIMITS 1 +#endif +#include "Statistic.h" + +int main(void) { + statistic::Statistic myStats; + + for (int i = 0; i < 10; i++) { + myStats.add(i); + } + std::cout << myStats.count() << std::endl; + std::cout << myStats.average() << std::endl; + std::cout << myStats.variance() << std::endl; + std::cout << myStats.minimum() << std::endl; + std::cout << myStats.maximum() << std::endl; + + return 0; +} diff --git a/recipes/statistic/config.yml b/recipes/statistic/config.yml new file mode 100644 index 0000000000000..28e3ee22ca8ac --- /dev/null +++ b/recipes/statistic/config.yml @@ -0,0 +1,3 @@ +versions: + "1.0.8": + folder: all From 81168ea8adb8853ef7dddcfaf42d28c65a5cde0b Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Wed, 18 Sep 2024 16:50:58 +0200 Subject: [PATCH 553/641] (#25273) add new recipe ann/1.1.2 * add ann/1.1.2 * add libm to system libs --- recipes/ann/all/CMakeLists.txt | 29 ++++ recipes/ann/all/conandata.yml | 12 ++ recipes/ann/all/conanfile.py | 71 +++++++++ .../1.1.2-0001-fix-windows-static.patch | 11 ++ ...-0002-fix-cppstd17+-register-keyword.patch | 141 ++++++++++++++++++ recipes/ann/all/test_package/CMakeLists.txt | 7 + recipes/ann/all/test_package/conanfile.py | 26 ++++ recipes/ann/all/test_package/test_package.cpp | 6 + recipes/ann/config.yml | 3 + 9 files changed, 306 insertions(+) create mode 100644 recipes/ann/all/CMakeLists.txt create mode 100644 recipes/ann/all/conandata.yml create mode 100644 recipes/ann/all/conanfile.py create mode 100644 recipes/ann/all/patches/1.1.2-0001-fix-windows-static.patch create mode 100644 recipes/ann/all/patches/1.1.2-0002-fix-cppstd17+-register-keyword.patch create mode 100644 recipes/ann/all/test_package/CMakeLists.txt create mode 100644 recipes/ann/all/test_package/conanfile.py create mode 100644 recipes/ann/all/test_package/test_package.cpp create mode 100644 recipes/ann/config.yml diff --git a/recipes/ann/all/CMakeLists.txt b/recipes/ann/all/CMakeLists.txt new file mode 100644 index 0000000000000..869e7fed035ec --- /dev/null +++ b/recipes/ann/all/CMakeLists.txt @@ -0,0 +1,29 @@ +cmake_minimum_required(VERSION 3.15) +project(ANN LANGUAGES CXX) + +include(GNUInstallDirs) + +file(GLOB ANN_SRC_FILES ${ANN_SRC_DIR}/src/*.cpp) + +add_library(ANN ${ANN_SRC_FILES}) +target_include_directories(ANN PUBLIC ${ANN_SRC_DIR}/include) + +if(WIN32) + if(BUILD_SHARED_LIBS) + set_target_properties(ANN PROPERTIES + CXX_VISIBILITY_PRESET hidden + VISIBILITY_INLINES_HIDDEN TRUE + ) + target_compile_definitions(ANN PRIVATE DLL_EXPORTS) + else() + target_compile_definitions(ANN PUBLIC ANN_STATIC) + endif() +endif() + +install(DIRECTORY ${ANN_SRC_DIR}/include/ANN DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) +install( + TARGETS ANN + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} +) diff --git a/recipes/ann/all/conandata.yml b/recipes/ann/all/conandata.yml new file mode 100644 index 0000000000000..664adc9ca8f3c --- /dev/null +++ b/recipes/ann/all/conandata.yml @@ -0,0 +1,12 @@ +sources: + "1.1.2": + url: "https://www.cs.umd.edu/~mount/ANN/Files/1.1.2/ann_1.1.2.tar.gz" + sha256: "eea03f2e224b66813226d775053316675375dcec45bd263674c052d9324a49a5" +patches: + "1.1.2": + - patch_file: "patches/1.1.2-0001-fix-windows-static.patch" + patch_description: "Fix windows static" + patch_type: "portability" + - patch_file: "patches/1.1.2-0002-fix-cppstd17+-register-keyword.patch" + patch_description: "Fix compilation with C++17 (or above) standard, by removing register keyword" + patch_type: "portability" diff --git a/recipes/ann/all/conanfile.py b/recipes/ann/all/conanfile.py new file mode 100644 index 0000000000000..01aac4245f259 --- /dev/null +++ b/recipes/ann/all/conanfile.py @@ -0,0 +1,71 @@ +from conan import ConanFile +from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get +import os + +required_conan_version = ">=1.53.0" + + +class AnnConan(ConanFile): + name = "ann" + description = ( + "ANN is a library written in C++, which supports data structures and " + "algorithms for both exact and approximate nearest neighbor searching " + "in arbitrarily high dimensions." + ) + license = "LGPL-2.1-or-later" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://www.cs.umd.edu/~mount/ANN" + topics = ("nns", "nearest-neighbor-search") + 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", src=self.recipe_folder, dst=self.export_sources_folder) + export_conandata_patches(self) + + def config_options(self): + if self.settings.os == "Windows": + del self.options.fPIC + + def configure(self): + if self.options.shared: + self.options.rm_safe("fPIC") + + def layout(self): + cmake_layout(self, src_folder="src") + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + tc.variables["ANN_SRC_DIR"] = self.source_folder.replace("\\", "/") + tc.generate() + + def build(self): + apply_conandata_patches(self) + cmake = CMake(self) + cmake.configure(build_script_folder=os.path.join(self.source_folder, os.pardir)) + cmake.build() + + def package(self): + for license_file in ("Copyright.txt", "License.txt"): + copy(self, license_file, src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + cmake = CMake(self) + cmake.install() + + def package_info(self): + self.cpp_info.libs = ["ANN"] + if self.settings.os == "Windows" and not self.options.shared: + self.cpp_info.defines.append("ANN_STATIC") + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.system_libs.append("m") diff --git a/recipes/ann/all/patches/1.1.2-0001-fix-windows-static.patch b/recipes/ann/all/patches/1.1.2-0001-fix-windows-static.patch new file mode 100644 index 0000000000000..7e027ada50bbb --- /dev/null +++ b/recipes/ann/all/patches/1.1.2-0001-fix-windows-static.patch @@ -0,0 +1,11 @@ +--- a/include/ANN/ANN.h ++++ b/include/ANN/ANN.h +@@ -59,7 +59,7 @@ + #ifndef ANN_H + #define ANN_H + +-#ifdef WIN32 ++#if defined(_WIN32) && !defined(ANN_STATIC) + //---------------------------------------------------------------------- + // For Microsoft Visual C++, externally accessible symbols must be + // explicitly indicated with DLL_API, which is somewhat like "extern." diff --git a/recipes/ann/all/patches/1.1.2-0002-fix-cppstd17+-register-keyword.patch b/recipes/ann/all/patches/1.1.2-0002-fix-cppstd17+-register-keyword.patch new file mode 100644 index 0000000000000..b7ccbe07fc3a4 --- /dev/null +++ b/recipes/ann/all/patches/1.1.2-0002-fix-cppstd17+-register-keyword.patch @@ -0,0 +1,141 @@ +--- a/src/ANN.cpp ++++ b/src/ANN.cpp +@@ -48,9 +48,9 @@ ANNdist annDist( // interpoint squared distance + ANNpoint p, + ANNpoint q) + { +- register int d; +- register ANNcoord diff; +- register ANNcoord dist; ++ int d; ++ ANNcoord diff; ++ ANNcoord dist; + + dist = 0; + for (d = 0; d < dim; d++) { +--- a/src/kd_fix_rad_search.cpp ++++ b/src/kd_fix_rad_search.cpp +@@ -147,11 +147,11 @@ void ANNkd_split::ann_FR_search(ANNdist box_dist) + + void ANNkd_leaf::ann_FR_search(ANNdist box_dist) + { +- register ANNdist dist; // distance to data point +- register ANNcoord* pp; // data coordinate pointer +- register ANNcoord* qq; // query coordinate pointer +- register ANNcoord t; +- register int d; ++ ANNdist dist; // distance to data point ++ ANNcoord* pp; // data coordinate pointer ++ ANNcoord* qq; // query coordinate pointer ++ ANNcoord t; ++ int d; + + for (int i = 0; i < n_pts; i++) { // check points in bucket + +--- a/src/kd_pr_search.cpp ++++ b/src/kd_pr_search.cpp +@@ -180,12 +180,12 @@ void ANNkd_split::ann_pri_search(ANNdist box_dist) + + void ANNkd_leaf::ann_pri_search(ANNdist box_dist) + { +- register ANNdist dist; // distance to data point +- register ANNcoord* pp; // data coordinate pointer +- register ANNcoord* qq; // query coordinate pointer +- register ANNdist min_dist; // distance to k-th closest point +- register ANNcoord t; +- register int d; ++ ANNdist dist; // distance to data point ++ ANNcoord* pp; // data coordinate pointer ++ ANNcoord* qq; // query coordinate pointer ++ ANNdist min_dist; // distance to k-th closest point ++ ANNcoord t; ++ int d; + + min_dist = ANNprPointMK->max_key(); // k-th smallest distance so far + +--- a/src/kd_search.cpp ++++ b/src/kd_search.cpp +@@ -171,12 +171,12 @@ void ANNkd_split::ann_search(ANNdist box_dist) + + void ANNkd_leaf::ann_search(ANNdist box_dist) + { +- register ANNdist dist; // distance to data point +- register ANNcoord* pp; // data coordinate pointer +- register ANNcoord* qq; // query coordinate pointer +- register ANNdist min_dist; // distance to k-th closest point +- register ANNcoord t; +- register int d; ++ ANNdist dist; // distance to data point ++ ANNcoord* pp; // data coordinate pointer ++ ANNcoord* qq; // query coordinate pointer ++ ANNdist min_dist; // distance to k-th closest point ++ ANNcoord t; ++ int d; + + min_dist = ANNkdPointMK->max_key(); // k-th smallest distance so far + +--- a/src/kd_util.cpp ++++ b/src/kd_util.cpp +@@ -127,10 +127,10 @@ ANNdist annBoxDistance( // compute distance from point to box + const ANNpoint hi, // high point of box + int dim) // dimension of space + { +- register ANNdist dist = 0.0; // sum of squared distances +- register ANNdist t; ++ ANNdist dist = 0.0; // sum of squared distances ++ ANNdist t; + +- for (register int d = 0; d < dim; d++) { ++ for (int d = 0; d < dim; d++) { + if (q[d] < lo[d]) { // q is left of box + t = ANNdist(lo[d]) - ANNdist(q[d]); + dist = ANN_SUM(dist, ANN_POW(t)); +@@ -238,8 +238,8 @@ void annMedianSplit( + int l = 0; // left end of current subarray + int r = n-1; // right end of current subarray + while (l < r) { +- register int i = (r+l)/2; // select middle as pivot +- register int k; ++ int i = (r+l)/2; // select middle as pivot ++ int k; + + if (PA(i,d) > PA(r,d)) // make sure last > pivot + PASWAP(i,r) +--- a/src/pr_queue.h ++++ b/src/pr_queue.h +@@ -86,9 +86,9 @@ public: + PQinfo inf) // item info + { + if (++n > max_size) annError("Priority queue overflow.", ANNabort); +- register int r = n; ++ int r = n; + while (r > 1) { // sift up new item +- register int p = r/2; ++ int p = r/2; + ANN_FLOP(1) // increment floating ops + if (pq[p].key <= kv) // in proper order + break; +@@ -105,9 +105,9 @@ public: + { + kv = pq[1].key; // key of min item + inf = pq[1].info; // information of min item +- register PQkey kn = pq[n--].key;// last item in queue +- register int p = 1; // p points to item out of position +- register int r = p<<1; // left child of p ++ PQkey kn = pq[n--].key;// last item in queue ++ int p = 1; // p points to item out of position ++ int r = p<<1; // left child of p + while (r <= n) { // while r is still within the heap + ANN_FLOP(2) // increment floating ops + // set r to smaller child of p +--- a/src/pr_queue_k.h ++++ b/src/pr_queue_k.h +@@ -100,7 +100,7 @@ public: + PQKkey kv, // key value + PQKinfo inf) // item info + { +- register int i; ++ int i; + // slide larger values up + for (i = n; i > 0; i--) { + if (mk[i-1].key > kv) diff --git a/recipes/ann/all/test_package/CMakeLists.txt b/recipes/ann/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..fe5808fbfdff7 --- /dev/null +++ b/recipes/ann/all/test_package/CMakeLists.txt @@ -0,0 +1,7 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) + +find_package(ann REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE ann::ann) diff --git a/recipes/ann/all/test_package/conanfile.py b/recipes/ann/all/test_package/conanfile.py new file mode 100644 index 0000000000000..0a6bc68712d90 --- /dev/null +++ b/recipes/ann/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/ann/all/test_package/test_package.cpp b/recipes/ann/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..8a2ab526c32b2 --- /dev/null +++ b/recipes/ann/all/test_package/test_package.cpp @@ -0,0 +1,6 @@ +#include + +int main() { + ANNpoint queryPt = annAllocPt(2); + return 0; +} diff --git a/recipes/ann/config.yml b/recipes/ann/config.yml new file mode 100644 index 0000000000000..8d13aefb6b4fb --- /dev/null +++ b/recipes/ann/config.yml @@ -0,0 +1,3 @@ +versions: + "1.1.2": + folder: all From 73992eea0ab56086fd74bfe5e3998cee5b232448 Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 19 Sep 2024 00:49:49 +0900 Subject: [PATCH 554/641] (#24825) daw_utf_range: update daw_header_libraries/2.110.0 * daw_utf_range: update daw_header_libraries/2.106.2 * update 2.107.0 * update 2.110.0 --- recipes/daw_utf_range/all/conandata.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/daw_utf_range/all/conandata.yml b/recipes/daw_utf_range/all/conandata.yml index 38e97ab2afcd4..ee9d8569fa27c 100644 --- a/recipes/daw_utf_range/all/conandata.yml +++ b/recipes/daw_utf_range/all/conandata.yml @@ -15,7 +15,7 @@ sources: url: "https://github.com/beached/utf_range/archive/v2.2.0.tar.gz" sha256: "00f60360736062403c8a7a94dd07c750366958f20d1864578faecf2e09d84265" daw_headers_mapping: - "2.2.5": "2.106.0" + "2.2.5": "2.110.0" "2.2.4": "2.101.0" "2.2.3": "2.97.0" "2.2.2": "2.97.0" From d734781fa3e13d3391ad014574f9f37b2244a5f1 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Thu, 19 Sep 2024 10:54:08 +0300 Subject: [PATCH 555/641] (#25302) libraw: fix inconsistencies with upstream project --- recipes/libraw/all/CMakeLists.txt | 33 ++++++++++++++++------- recipes/libraw/all/conanfile.py | 44 ++++++++++++++++++++++++------- 2 files changed, 58 insertions(+), 19 deletions(-) diff --git a/recipes/libraw/all/CMakeLists.txt b/recipes/libraw/all/CMakeLists.txt index 867dedb15eb72..f6b105c027f9d 100644 --- a/recipes/libraw/all/CMakeLists.txt +++ b/recipes/libraw/all/CMakeLists.txt @@ -1,6 +1,7 @@ cmake_minimum_required(VERSION 3.8) project(LibRaw LANGUAGES CXX) +option(LIBRAW_BUILD_THREAD_SAFE "Build raw_r library with -pthread enabled" OFF) option(LIBRAW_WITH_JPEG "Build with libjpeg" ON) option(LIBRAW_WITH_LCMS "Build with LCMS" ON) option(LIBRAW_WITH_JASPER "Build with Jasper" ON) @@ -32,33 +33,47 @@ if(LIBRAW_WITH_JASPER) endif() add_library(raw ${libraw_LIB_SRCS}) -target_compile_features(raw PRIVATE cxx_std_11) +target_compile_features(raw PUBLIC cxx_std_11) target_include_directories(raw PUBLIC "${LIBRAW_SRC_DIR}") if(WIN32) target_link_libraries(raw PUBLIC ws2_32) if(BUILD_SHARED_LIBS) - target_compile_definitions(raw PRIVATE LIBRAW_BUILDLIB) + target_compile_definitions(raw PUBLIC LIBRAW_BUILDLIB) else() target_compile_definitions(raw PUBLIC LIBRAW_NODLL) endif() endif() if(MSVC) - target_compile_options(raw PRIVATE /wd4018 /wd4101 /wd4244 /wd4251 /wd4267 /wd4996) + target_compile_options(raw PUBLIC /wd4018 /wd4101 /wd4244 /wd4251 /wd4267 /wd4996) endif() if(LIBRAW_WITH_JPEG) - target_compile_definitions(raw PRIVATE USE_JPEG USE_JPEG8) - target_link_libraries(raw PRIVATE JPEG::JPEG) + target_compile_definitions(raw PUBLIC USE_JPEG USE_JPEG8) + target_link_libraries(raw PUBLIC JPEG::JPEG) endif () if (LIBRAW_WITH_LCMS) - target_compile_definitions(raw PRIVATE USE_LCMS2) - target_link_libraries(raw PRIVATE lcms::lcms) + target_compile_definitions(raw PUBLIC USE_LCMS2) + target_link_libraries(raw PUBLIC lcms::lcms) endif () if (LIBRAW_WITH_JASPER) - target_compile_definitions(raw PRIVATE USE_JASPER) - target_link_libraries(raw PRIVATE Jasper::Jasper) + target_compile_definitions(raw PUBLIC USE_JASPER) + target_link_libraries(raw PUBLIC Jasper::Jasper) endif () include(GNUInstallDirs) +if(LIBRAW_BUILD_THREAD_SAFE) + add_library(raw_r ${libraw_LIB_SRCS}) + target_link_libraries(raw_r INTERFACE raw) + target_compile_options(raw_r PRIVATE -pthread) + target_link_options(raw_r PRIVATE -pthread) + target_include_directories(raw_r PUBLIC "${LIBRAW_SRC_DIR}") + install( + TARGETS raw_r + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} + ) +endif() + install(DIRECTORY "${LIBRAW_SRC_DIR}/libraw" DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) install( TARGETS raw diff --git a/recipes/libraw/all/conanfile.py b/recipes/libraw/all/conanfile.py index 4fda00c094ccf..27f826a27275a 100644 --- a/recipes/libraw/all/conanfile.py +++ b/recipes/libraw/all/conanfile.py @@ -1,8 +1,10 @@ +import os + 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, CMakeDeps, CMakeToolchain, cmake_layout from conan.tools.files import copy, get -import os +from conan.tools.microsoft import is_msvc required_conan_version = ">=1.53.0" @@ -18,6 +20,7 @@ class LibRawConan(ConanFile): options = { "shared": [True, False], "fPIC": [True, False], + "build_thread_safe": [True, False], "with_jpeg": [False, "libjpeg", "libjpeg-turbo", "mozjpeg"], "with_lcms": [True, False], "with_jasper": [True, False], @@ -25,6 +28,7 @@ class LibRawConan(ConanFile): default_options = { "shared": False, "fPIC": True, + "build_thread_safe": False, "with_jpeg": "libjpeg", "with_lcms": True, "with_jasper": True, @@ -38,6 +42,8 @@ def _min_cppstd(self): def config_options(self): if self.settings.os == "Windows": del self.options.fPIC + if is_msvc(self): + del self.options.build_thread_safe def configure(self): if self.options.shared: @@ -71,6 +77,7 @@ def generate(self): tc = CMakeToolchain(self) tc.variables["RAW_LIB_VERSION_STRING"] = self.version tc.variables["LIBRAW_SRC_DIR"] = self.source_folder.replace("\\", "/") + tc.variables["LIBRAW_BUILD_THREAD_SAFE"] = self.options.get_safe("build_thread_safe", False) tc.variables["LIBRAW_WITH_JPEG"] = bool(self.options.with_jpeg) tc.variables["LIBRAW_WITH_LCMS"] = self.options.with_lcms tc.variables["LIBRAW_WITH_JASPER"] = self.options.with_jasper @@ -91,20 +98,37 @@ def package(self): cmake.install() def package_info(self): - self.cpp_info.libs = ["raw"] + self.cpp_info.components["libraw_"].set_property("pkg_config_name", "libraw") + self.cpp_info.components["libraw_"].libs = ["raw"] + self.cpp_info.components["libraw_"].includedirs.append(os.path.join("include", "libraw")) if self.settings.os == "Windows": - self.cpp_info.system_libs.append("ws2_32") + self.cpp_info.components["libraw_"].system_libs.append("ws2_32") if not self.options.shared: - self.cpp_info.defines.append("LIBRAW_NODLL") + self.cpp_info.components["libraw_"].defines.append("LIBRAW_NODLL") + requires = [] if self.options.with_jpeg == "libjpeg": - self.cpp_info.requires.append("libjpeg::libjpeg") + requires.append("libjpeg::libjpeg") elif self.options.with_jpeg == "libjpeg-turbo": - self.cpp_info.requires.append("libjpeg-turbo::jpeg") + requires.append("libjpeg-turbo::jpeg") elif self.options.with_jpeg == "mozjpeg": - self.cpp_info.requires.append("mozjpeg::libjpeg") + requires.append("mozjpeg::libjpeg") if self.options.with_lcms: - self.cpp_info.requires.append("lcms::lcms") + requires.append("lcms::lcms") if self.options.with_jasper: - self.cpp_info.requires.append("jasper::jasper") + requires.append("jasper::jasper") + self.cpp_info.components["libraw_"].requires = requires + + if self.options.get_safe("build_thread_safe"): + self.cpp_info.components["libraw_r"].set_property("pkg_config_name", "libraw_r") + self.cpp_info.components["libraw_r"].libs = ["raw_r"] + self.cpp_info.components["libraw_r"].includedirs.append(os.path.join("include", "libraw")) + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.components["libraw_r"].system_libs.append("pthread") + self.cpp_info.components["libraw_r"].requires = requires + + if not self.options.shared and stdcpp_library(self): + self.cpp_info.components["libraw_"].system_libs.append(stdcpp_library(self)) + if self.options.get_safe("build_thread_safe"): + self.cpp_info.components["libraw_r"].system_libs.append(stdcpp_library(self)) From 8fd2f21266dad208f836e729c0dc0fb7e6d2aff9 Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 19 Sep 2024 17:32:37 +0900 Subject: [PATCH 556/641] (#25294) zlib-ng: add new version 2.2.2 Co-authored-by: Ernesto de Gracia Herranz --- recipes/zlib-ng/all/conandata.yml | 3 +++ recipes/zlib-ng/all/conanfile.py | 2 +- recipes/zlib-ng/config.yml | 2 ++ 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/recipes/zlib-ng/all/conandata.yml b/recipes/zlib-ng/all/conandata.yml index 3d65b1bcb2280..ec5f329c3876a 100644 --- a/recipes/zlib-ng/all/conandata.yml +++ b/recipes/zlib-ng/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.2.2": + url: "https://github.com/zlib-ng/zlib-ng/archive/refs/tags/2.2.2.tar.gz" + sha256: "fcb41dd59a3f17002aeb1bb21f04696c9b721404890bb945c5ab39d2cb69654c" "2.2.1": url: "https://github.com/zlib-ng/zlib-ng/archive/refs/tags/2.2.1.tar.gz" sha256: "ec6a76169d4214e2e8b737e0850ba4acb806c69eeace6240ed4481b9f5c57cdf" diff --git a/recipes/zlib-ng/all/conanfile.py b/recipes/zlib-ng/all/conanfile.py index bee52f1ca8321..3e9b57a60b9de 100644 --- a/recipes/zlib-ng/all/conanfile.py +++ b/recipes/zlib-ng/all/conanfile.py @@ -13,10 +13,10 @@ class ZlibNgConan(ConanFile): name = "zlib-ng" description = "zlib data compression library for the next generation systems" - topics = ("zlib", "compression") license ="Zlib" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/zlib-ng/zlib-ng/" + topics = ("zlib", "compression") package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { diff --git a/recipes/zlib-ng/config.yml b/recipes/zlib-ng/config.yml index ff1fc8adbb40a..d3e8e7960ca7d 100644 --- a/recipes/zlib-ng/config.yml +++ b/recipes/zlib-ng/config.yml @@ -1,4 +1,6 @@ versions: + "2.2.2": + folder: all "2.2.1": folder: all "2.1.7": From 4cb0e094f485e9f7fd975cd6d584a6acd1062af3 Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 19 Sep 2024 18:11:03 +0900 Subject: [PATCH 557/641] (#25289) glaze: add version 3.4.1 * glaze: add version 3.4.0 * update 3.4.1 --- recipes/glaze/all/conandata.yml | 3 +++ recipes/glaze/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/glaze/all/conandata.yml b/recipes/glaze/all/conandata.yml index c11e5e4c425da..1363469395437 100644 --- a/recipes/glaze/all/conandata.yml +++ b/recipes/glaze/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.4.1": + url: "https://github.com/stephenberry/glaze/archive/v3.4.1.tar.gz" + sha256: "73a38c4d7731714581061a918b33ad57cf38404abc68d9a58dbe57d56fe26a79" "3.3.4": url: "https://github.com/stephenberry/glaze/archive/v3.3.4.tar.gz" sha256: "7fe31c14e7ede69d937aa8f126894fef11ebf3156f25cb95446d3d6d38e9da9c" diff --git a/recipes/glaze/config.yml b/recipes/glaze/config.yml index 6dffeb3a2ef50..59f4a4de596e9 100644 --- a/recipes/glaze/config.yml +++ b/recipes/glaze/config.yml @@ -1,4 +1,6 @@ versions: + "3.4.1": + folder: all "3.3.4": folder: all "3.3.2": From 33e83ffff1c193b4f4218f59c25df41e87ceb2e2 Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 19 Sep 2024 18:32:18 +0900 Subject: [PATCH 558/641] (#25296) catch2: add version 3.7.1 --- recipes/catch2/3.x.x/conandata.yml | 3 +++ recipes/catch2/3.x.x/conanfile.py | 4 ++-- recipes/catch2/config.yml | 2 ++ 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/recipes/catch2/3.x.x/conandata.yml b/recipes/catch2/3.x.x/conandata.yml index f13e63f80f8cb..21b5c183917cb 100644 --- a/recipes/catch2/3.x.x/conandata.yml +++ b/recipes/catch2/3.x.x/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.7.1": + url: "https://github.com/catchorg/Catch2/archive/v3.7.1.tar.gz" + sha256: "c991b247a1a0d7bb9c39aa35faf0fe9e19764213f28ffba3109388e62ee0269c" "3.7.0": url: "https://github.com/catchorg/Catch2/archive/v3.7.0.tar.gz" sha256: "5b10cd536fa3818112a82820ce0787bd9f2a906c618429e7c4dea639983c8e88" diff --git a/recipes/catch2/3.x.x/conanfile.py b/recipes/catch2/3.x.x/conanfile.py index c87f83e06c752..5bc8657f4ad30 100644 --- a/recipes/catch2/3.x.x/conanfile.py +++ b/recipes/catch2/3.x.x/conanfile.py @@ -13,10 +13,10 @@ class Catch2Conan(ConanFile): name = "catch2" description = "A modern, C++-native, header-only, framework for unit-tests, TDD and BDD" - topics = ("catch2", "unit-test", "tdd", "bdd") license = "BSL-1.0" - homepage = "https://github.com/catchorg/Catch2" url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/catchorg/Catch2" + topics = ("catch2", "unit-test", "tdd", "bdd") package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { diff --git a/recipes/catch2/config.yml b/recipes/catch2/config.yml index a1edebfb1f349..0c81c16ccdbcb 100644 --- a/recipes/catch2/config.yml +++ b/recipes/catch2/config.yml @@ -1,4 +1,6 @@ versions: + "3.7.1": + folder: 3.x.x "3.7.0": folder: 3.x.x "3.6.0": From a37ef39fd13360fc5a3f090ff79027569958f8a6 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Thu, 19 Sep 2024 12:31:19 +0200 Subject: [PATCH 559/641] (#25318) libjpeg-turbo: add version 3.0.4 --- recipes/libjpeg-turbo/all/conandata.yml | 3 +++ recipes/libjpeg-turbo/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/libjpeg-turbo/all/conandata.yml b/recipes/libjpeg-turbo/all/conandata.yml index 40dc5dfa58b25..f4f8c634444a1 100644 --- a/recipes/libjpeg-turbo/all/conandata.yml +++ b/recipes/libjpeg-turbo/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.0.4": + url: "https://github.com/libjpeg-turbo/libjpeg-turbo/releases/download/3.0.4/libjpeg-turbo-3.0.4.tar.gz" + sha256: "99130559e7d62e8d695f2c0eaeef912c5828d5b84a0537dcb24c9678c9d5b76b" "3.0.3": url: "https://github.com/libjpeg-turbo/libjpeg-turbo/releases/download/3.0.3/libjpeg-turbo-3.0.3.tar.gz" sha256: "343e789069fc7afbcdfe44dbba7dbbf45afa98a15150e079a38e60e44578865d" diff --git a/recipes/libjpeg-turbo/config.yml b/recipes/libjpeg-turbo/config.yml index 8349c00d69a36..584908f335b17 100644 --- a/recipes/libjpeg-turbo/config.yml +++ b/recipes/libjpeg-turbo/config.yml @@ -1,4 +1,6 @@ versions: + "3.0.4": + folder: all "3.0.3": folder: all "3.0.2": From 33ccd9ba46aa3976b06d3e0b838a4ee7100f1e90 Mon Sep 17 00:00:00 2001 From: ZbigniewRA Date: Thu, 19 Sep 2024 12:51:38 +0200 Subject: [PATCH 560/641] (#25291) range-v3: add version cci.20240905. range-v3 didn't see a release for over 2 years, despite numerous bug fixes and improvements being implemented. This new version adds support for new versions of GCC. --- recipes/range-v3/all/conandata.yml | 3 +++ recipes/range-v3/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/range-v3/all/conandata.yml b/recipes/range-v3/all/conandata.yml index 1e7ea8c024212..0b45a37f14d0e 100644 --- a/recipes/range-v3/all/conandata.yml +++ b/recipes/range-v3/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "cci.20240905": + url: https://github.com/ericniebler/range-v3/archive/a33616bfdb642744acaa937a3f258fba384b7fd4.tar.gz + sha256: d5cc3bf42825097c55c1c6a1f0158eb8fbceb0653935f2f7d2b5286c827dd834 "0.12.0": url: https://github.com/ericniebler/range-v3/archive/refs/tags/0.12.0.tar.gz sha256: 015adb2300a98edfceaf0725beec3337f542af4915cec4d0b89fa0886f4ba9cb diff --git a/recipes/range-v3/config.yml b/recipes/range-v3/config.yml index 5ed235c09031b..8df94b876518b 100644 --- a/recipes/range-v3/config.yml +++ b/recipes/range-v3/config.yml @@ -1,4 +1,6 @@ versions: + "cci.20240905": + folder: all "0.12.0": folder: all "0.11.0": From 2ee7947fd090162737149b7abdcd49302ba3821d Mon Sep 17 00:00:00 2001 From: Uilian Ries Date: Thu, 19 Sep 2024 14:21:39 +0200 Subject: [PATCH 561/641] (#25323) [linter] Simplify Conan V2 migration linter * Remove check Conans import Signed-off-by: Uilian Ries * Remove check conans import Signed-off-by: Uilian Ries * Remove lower case name check Signed-off-by: Uilian Ries * Use Conan 2.x for transition linter Signed-off-by: Uilian Ries * Remove old linters from linters doc Signed-off-by: Uilian Ries * Conan 2.x is mandatory Signed-off-by: Uilian Ries --------- Signed-off-by: Uilian Ries --- .github/workflows/linter-conan-v2.yml | 26 ++++----- docs/linters.md | 75 -------------------------- docs/v2_migration.md | 6 +-- linter/check_import_conanfile.py | 28 ---------- linter/check_import_errors.py | 77 --------------------------- linter/check_package_name.py | 8 --- linter/conanv2_transition.py | 6 --- 7 files changed, 16 insertions(+), 210 deletions(-) delete mode 100644 linter/check_import_conanfile.py delete mode 100644 linter/check_import_errors.py diff --git a/.github/workflows/linter-conan-v2.yml b/.github/workflows/linter-conan-v2.yml index 9b437a26e46d8..769623eebf2c9 100644 --- a/.github/workflows/linter-conan-v2.yml +++ b/.github/workflows/linter-conan-v2.yml @@ -22,12 +22,12 @@ jobs: linter/** .github/workflows/linter-conan-v2.yml - - name: Get Conan v1 version - id: parse_conan_v1_version + - name: Get Conan v2 version + id: parse_conan_v2_version if: steps.changed_files.outputs.any_changed == 'true' uses: mikefarah/yq@master with: - cmd: yq '.conan.version' '.c3i/config_v1.yml' + cmd: yq '.conan.version' '.c3i/config_v2.yml' - uses: actions/setup-python@v4 if: steps.changed_files.outputs.any_changed == 'true' @@ -37,7 +37,7 @@ jobs: - name: Install requirements if: steps.changed_files.outputs.any_changed == 'true' run: | - pip install ${{ env.REQUIREMENTS }} conan==${{ steps.parse_conan_v1_version.outputs.result }} + pip install ${{ env.REQUIREMENTS }} conan==${{ steps.parse_conan_v2_version.outputs.result }} - name: Execute linter over all recipes in the repository id: linter_recipes @@ -68,12 +68,12 @@ jobs: with: files: | recipes/*/*/conanfile.py - - name: Get Conan v1 version - id: parse_conan_v1_version + - name: Get Conan v2 version + id: parse_conan_v2_version if: steps.changed-files.outputs.any_changed == 'true' uses: mikefarah/yq@master with: - cmd: yq '.conan.version' '.c3i/config_v1.yml' + cmd: yq '.conan.version' '.c3i/config_v2.yml' - uses: actions/setup-python@v4 if: steps.changed-files.outputs.any_changed == 'true' with: @@ -81,7 +81,7 @@ jobs: - name: Install dependencies if: steps.changed-files.outputs.any_changed == 'true' run: | - pip install ${{ env.REQUIREMENTS }} conan==${{ steps.parse_conan_v1_version.outputs.result }} + pip install ${{ env.REQUIREMENTS }} conan==${{ steps.parse_conan_v2_version.outputs.result }} - name: Run linter if: steps.changed-files.outputs.any_changed == 'true' run: | @@ -101,12 +101,12 @@ jobs: with: files: | recipes/*/*/test_*/conanfile.py - - name: Get Conan v1 version - id: parse_conan_v1_version + - name: Get Conan v2 version + id: parse_conan_v2_version if: steps.changed-files.outputs.any_changed == 'true' uses: mikefarah/yq@master with: - cmd: yq '.conan.version' '.c3i/config_v1.yml' + cmd: yq '.conan.version' '.c3i/config_v2.yml' - uses: actions/setup-python@v4 if: steps.changed-files.outputs.any_changed == 'true' with: @@ -114,11 +114,11 @@ jobs: - name: Install dependencies if: steps.changed-files.outputs.any_changed == 'true' run: | - pip install ${{ env.REQUIREMENTS }} conan==${{ steps.parse_conan_v1_version.outputs.result }} + pip install ${{ env.REQUIREMENTS }} conan==${{ steps.parse_conan_v2_version.outputs.result }} - name: Run linter if: steps.changed-files.outputs.any_changed == 'true' run: | echo "::add-matcher::linter/recipe_linter.json" for file in ${{ steps.changed-files.outputs.all_changed_files }}; do - pylint --rcfile=linter/pylintrc_testpackage --ignore-paths="recipes/[^/]*/[^/]*/test_v1[^/]*/conanfile.py" --output-format=parseable ${file} + pylint --rcfile=linter/pylintrc_testpackage --ignore-paths="recipes/[^/]*/[^/]*/test_v2[^/]*/conanfile.py" --output-format=parseable ${file} done diff --git a/docs/linters.md b/docs/linters.md index c108d63beb5a0..1a76e25288b80 100644 --- a/docs/linters.md +++ b/docs/linters.md @@ -16,13 +16,8 @@ to configure plugins, warnings and errors which should be enabled or disabled. * [Running the linters locally](#running-the-linters-locally) * [Pylint configuration files](#pylint-configuration-files) * [Linter Warning and Errors](#linter-warning-and-errors) - * [E9006 - conan-import-conanfile: ConanFile should be imported from conan](#e9006---conan-import-conanfile-conanfile-should-be-imported-from-conan) * [E9005 - conan-missing-name: Every conan recipe must contain the attribute name](#e9005---conan-missing-name-every-conan-recipe-must-contain-the-attribute-name) - * [E9004 - conan-package-name: Conan package names must be lower-case](#e9004---conan-package-name-conan-package-names-must-be-lower-case) * [E9007 - conan-test-no-name: Do not add name attribute in test package recipes](#e9007---conan-test-no-name-do-not-add-name-attribute-in-test-package-recipes) - * [E9008 - conan-import-errors: Deprecated imports should be replaced by new imports](#e9008---conan-import-errors-deprecated-imports-should-be-replaced-by-new-imports) - * [E9009 - conan-import-error-conanexception: conans.errors is deprecated and conan.errors should be used instead](#e9009---conan-import-error-conanexception-conanserrors-is-deprecated-and-conanerrors-should-be-used-instead) - * [E9010 - conan-import-error-conaninvalidconfiguration: conans.errors is deprecated and conan.errors should be used instead](#e9010---conan-import-error-conaninvalidconfiguration-conanserrors-is-deprecated-and-conanerrors-should-be-used-instead) * [E9011 - conan-import-tools: Importing conan.tools or conan.tools.xxx.zzz.yyy should be considered as private](#e9011---conan-import-tools-importing-conantools-or-conantoolsxxxzzzyyy-should-be-considered-as-private) * [E9012 - conan-attr-version: Recipe should not contain version attribute](#e9012---conan-attr-version-recipe-should-not-contain-version-attribute) @@ -47,18 +42,6 @@ Check the [Developing Recipes](developing_recipes_locally.md) for more informati Here is the list of current warning and errors provided by pylint, when using CCI configuration. -### E9006 - conan-import-conanfile: ConanFile should be imported from conan - -```python -from conans import ConanFile -``` - -Should be replaced by: - -```python -from conan import Conanfile -``` - ### E9005 - conan-missing-name: Every conan recipe must contain the attribute name The attribute `name` is always expected. On the other hand, `version` should not be listed. @@ -68,15 +51,6 @@ def BazConanfile(ConanFile): name = "baz" ``` -### E9004 - conan-package-name: Conan package names must be lower-case - -The package name is always lower-case, even when the upstream uses another format - -```python -def FoobarConanfile(ConanFile): - name = "foobar" -``` - ### E9007 - conan-test-no-name: Do not add name attribute in test package recipes The test package is not a recipe, thus, it should not have a name @@ -86,55 +60,6 @@ def TestPackageConanFile(ConanFile): name = "test_package" # Wrong! ``` -### E9008 - conan-import-errors: Deprecated imports should be replaced by new imports - -Read [v2_linter](v2_linter.md) for a list of mappings of v1 to v2. -Regular imports from `conans.tools` are now updated: - -```python -from conans import tools -... - -tools.rmdir(os.path.join(self.package_folder, "shared")) -``` - -Should be replaced by specialized tools, prepared for Conan 2.0 - -```python -from conan.tools.files import rmdir -... - -rmdir(self, os.path.join(self.package_folder, "shared")) -``` - -### E9009 - conan-import-error-conanexception: conans.errors is deprecated and conan.errors should be used instead - -```python -from conans.errors import ConanException -``` - -Should be replaced by: - -```python -from conan.errors import ConanException -``` - -Only the namespace `conans` has been replaced by `conan`. - -### E9010 - conan-import-error-conaninvalidconfiguration: conans.errors is deprecated and conan.errors should be used instead - -```python -from conans.errors import ConanInvalidConfiguration -``` - -Should be replaced by: - -```python -from conan.errors import ConanInvalidConfiguration -``` - -Only the namespace `conans` has been replaced by `conan`. - ### E9011 - conan-import-tools: Importing conan.tools or conan.tools.xxx.zzz.yyy should be considered as private Documented on [conanfile.tools](https://docs.conan.io/1/reference/conanfile/tools.html): diff --git a/docs/v2_migration.md b/docs/v2_migration.md index 9139fefbde135..d372401b811e0 100644 --- a/docs/v2_migration.md +++ b/docs/v2_migration.md @@ -3,8 +3,8 @@ This is expected for recipes to be updates in each pull request. - Updated helpers are expected, this is enforced by the [v2_linter](v2_linter.md) -- Once a recipe publishes v2 packages, it must pass the v2 pipeline -- The v2 pipeline with **shortly be required** for changes to be merged. +- Once a recipe publishes v2 packages, it must pass the v2 pipeline always. +- The v2 pipeline with **is required** for changes to be merged. ## Contents @@ -127,7 +127,7 @@ generators using the ``set_property(property_name, value)`` method. Both of these two models **will live together in recipes** to make recipes compatible for both 1.x and 2.0 users. Deprecated feilds are not to be removed at this time. -To understand the impact of these and the relation between different generates, refer to the +To understand the impact of these and the relation between different generates, refer to the [migrating properties](https://docs.conan.io/1/migrating_to_2.0/properties.html) documentation. ### Translating .names information to cmake_target_name, cmake_module_target_name and cmake_file_name diff --git a/linter/check_import_conanfile.py b/linter/check_import_conanfile.py deleted file mode 100644 index bd5a90391b096..0000000000000 --- a/linter/check_import_conanfile.py +++ /dev/null @@ -1,28 +0,0 @@ - -from pylint.checkers import BaseChecker -from pylint.interfaces import IAstroidChecker -from astroid import nodes, Const, AssignName - - -class ImportConanFile(BaseChecker): - """ - Import ConanFile from new 'conan' module - """ - - __implements__ = IAstroidChecker - - name = "conan-import-conanfile" - msgs = { - "E9006": ( - "Import ConanFile from new module: `from conan import ConanFile`. Old import is deprecated in Conan v2.", - "conan-import-conanfile", - "Import ConanFile from new module: `from conan import ConanFile`. Old import is deprecated in Conan v2.", - ), - } - - def visit_importfrom(self, node: nodes.ImportFrom) -> None: - basename = node.modname - if basename == 'conans': - names = [name for name, _ in node.names] - if 'ConanFile' in names: - self.add_message("conan-import-conanfile", node=node) diff --git a/linter/check_import_errors.py b/linter/check_import_errors.py deleted file mode 100644 index b6a0ac1aa9973..0000000000000 --- a/linter/check_import_errors.py +++ /dev/null @@ -1,77 +0,0 @@ - -from pylint.checkers import BaseChecker -from pylint.interfaces import IAstroidChecker -from astroid import nodes, Const, AssignName - - -class ImportErrors(BaseChecker): - """ - Import errors from new 'conan' module - """ - - __implements__ = IAstroidChecker - - name = "conan-import-errors" - msgs = { - "E9008": ( - "Import errors from new module: `from conan import errors`. Old import is deprecated in Conan v2.", - "conan-import-errors", - "Import errors from new module: `from conan import errors`. Old import is deprecated in Conan v2.", - ), - } - - def visit_importfrom(self, node: nodes.ImportFrom) -> None: - basename = node.modname - if basename == 'conans': - names = [name for name, _ in node.names] - if 'errors' in names: - self.add_message("conan-import-errors", node=node) - - -class ImportErrorsConanException(BaseChecker): - """ - Import errors from new 'conan' module - """ - - __implements__ = IAstroidChecker - - name = "conan-import-error-conanexception" - msgs = { - "E9009": ( - "Import ConanException from new module: `from conan.errors import ConanException`. Old import is deprecated in Conan v2.", - "conan-import-error-conanexception", - "Import ConanException from new module: `from conan.errors import ConanException`. Old import is deprecated in Conan v2.", - ), - } - - def visit_importfrom(self, node: nodes.ImportFrom) -> None: - basename = node.modname - if basename == 'conans.errors': - names = [name for name, _ in node.names] - if 'ConanException' in names: - self.add_message("conan-import-error-conanexception", node=node) - - -class ImportErrorsConanInvalidConfiguration(BaseChecker): - """ - Import errors from new 'conan' module - """ - - __implements__ = IAstroidChecker - - name = "conan-import-error-conaninvalidconfiguration" - msgs = { - "E9010": ( - "Import ConanInvalidConfiguration from new module: `from conan.errors import ConanInvalidConfiguration`. Old import is deprecated in Conan v2.", - "conan-import-error-conaninvalidconfiguration", - "Import ConanInvalidConfiguration from new module: `from conan.errors import ConanInvalidConfiguration`. Old import is deprecated in Conan v2.", - ), - } - - def visit_importfrom(self, node: nodes.ImportFrom) -> None: - basename = node.modname - if basename == 'conans.errors': - names = [name for name, _ in node.names] - if 'ConanInvalidConfiguration' in names: - self.add_message("conan-import-error-conaninvalidconfiguration", node=node) - diff --git a/linter/check_package_name.py b/linter/check_package_name.py index 4c302243ff26c..fcc8f60447a9b 100644 --- a/linter/check_package_name.py +++ b/linter/check_package_name.py @@ -13,11 +13,6 @@ class PackageName(BaseChecker): name = "conan-package-name" msgs = { - "E9004": ( - "Reference name should be all lowercase", - "conan-bad-name", - "Use only lower-case on the package name: `name = 'foobar'`." - ), "E9005": ( "Missing name attribute", "conan-missing-name", @@ -44,9 +39,6 @@ def visit_classdef(self, node: nodes) -> None: if is_test: self.add_message("conan-test-no-name", node=attr, line=attr.lineno) return - value = children[1].as_string() - if value.lower() != value: - self.add_message("conan-bad-name", node=attr, line=attr.lineno) return if not is_test: self.add_message("conan-missing-name", node=node) diff --git a/linter/conanv2_transition.py b/linter/conanv2_transition.py index e330ff1d44590..32fbb30499363 100644 --- a/linter/conanv2_transition.py +++ b/linter/conanv2_transition.py @@ -6,8 +6,6 @@ from pylint.lint import PyLinter from linter.check_package_name import PackageName -from linter.check_import_conanfile import ImportConanFile -from linter.check_import_errors import ImportErrorsConanException, ImportErrorsConanInvalidConfiguration, ImportErrors from linter.check_import_tools import ImportTools from linter.check_layout_src_folder import LayoutSrcFolder from linter.check_version_attribute import VersionAttribute @@ -15,10 +13,6 @@ def register(linter: PyLinter) -> None: linter.register_checker(PackageName(linter)) - linter.register_checker(ImportConanFile(linter)) - linter.register_checker(ImportErrors(linter)) - linter.register_checker(ImportErrorsConanException(linter)) - linter.register_checker(ImportErrorsConanInvalidConfiguration(linter)) linter.register_checker(ImportTools(linter)) linter.register_checker(LayoutSrcFolder(linter)) linter.register_checker(VersionAttribute(linter)) From 61274b9e7a0b9f0122f0ea4ad08aa451bceeb07a Mon Sep 17 00:00:00 2001 From: Rob Boehne Date: Thu, 19 Sep 2024 06:12:27 -0700 Subject: [PATCH 562/641] (#25314) [libtiff/4.7.0] Add version 4.7.0 to libtiff --- recipes/libtiff/all/conandata.yml | 7 +++++++ recipes/libtiff/config.yml | 2 ++ 2 files changed, 9 insertions(+) diff --git a/recipes/libtiff/all/conandata.yml b/recipes/libtiff/all/conandata.yml index e73e0da6320f6..72d0f547b3861 100644 --- a/recipes/libtiff/all/conandata.yml +++ b/recipes/libtiff/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "4.7.0": + url: "https://download.osgeo.org/libtiff/tiff-4.7.0.tar.xz" + sha256: "273a0a73b1f0bed640afee4a5df0337357ced5b53d3d5d1c405b936501f71017" "4.6.0": url: "https://download.osgeo.org/libtiff/tiff-4.6.0.tar.gz" sha256: "88b3979e6d5c7e32b50d7ec72fb15af724f6ab2cbf7e10880c360a77e4b5d99a" @@ -15,6 +18,10 @@ sources: url: "https://download.osgeo.org/libtiff/tiff-4.3.0.tar.gz" sha256: "0e46e5acb087ce7d1ac53cf4f56a09b221537fc86dfc5daaad1c2e89e1b37ac8" patches: + "4.7.0": + - patch_file: "patches/4.5.1-0001-cmake-dependencies.patch" + patch_description: "CMake: robust handling of dependencies" + patch_type: "conan" "4.6.0": - patch_file: "patches/4.5.1-0001-cmake-dependencies.patch" patch_description: "CMake: robust handling of dependencies" diff --git a/recipes/libtiff/config.yml b/recipes/libtiff/config.yml index d9523166c1893..3209eca1a3fa1 100644 --- a/recipes/libtiff/config.yml +++ b/recipes/libtiff/config.yml @@ -1,4 +1,6 @@ versions: + "4.7.0": + folder: all "4.6.0": folder: all "4.5.1": From 5c32f2a0bec109615c6362a136f61a25154bc3d7 Mon Sep 17 00:00:00 2001 From: Uilian Ries Date: Fri, 20 Sep 2024 09:01:43 +0200 Subject: [PATCH 563/641] (#25329) Remove Linter v2 migration Signed-off-by: Uilian Ries --- .github/workflows/linter-conan-v2.yml | 124 ---------------------- docs/linters.md | 82 +------------- docs/v2_migration.md | 147 -------------------------- linter/check_import_tools.py | 30 ------ linter/check_layout_src_folder.py | 44 -------- linter/check_package_name.py | 44 -------- linter/check_version_attribute.py | 33 ------ linter/conanv2_transition.py | 18 ---- 8 files changed, 1 insertion(+), 521 deletions(-) delete mode 100644 .github/workflows/linter-conan-v2.yml delete mode 100644 docs/v2_migration.md delete mode 100644 linter/check_import_tools.py delete mode 100644 linter/check_layout_src_folder.py delete mode 100644 linter/check_package_name.py delete mode 100644 linter/check_version_attribute.py delete mode 100644 linter/conanv2_transition.py diff --git a/.github/workflows/linter-conan-v2.yml b/.github/workflows/linter-conan-v2.yml deleted file mode 100644 index 769623eebf2c9..0000000000000 --- a/.github/workflows/linter-conan-v2.yml +++ /dev/null @@ -1,124 +0,0 @@ -name: "[linter] Conan v2 migration" - -on: - pull_request: - -env: - PYTHONPATH: ${{github.workspace}} - PYVER: "3.8" - REQUIREMENTS: "pylint==2.14" - -jobs: - test_linter: - name: Test linter changes (v2 migration) - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v3 - - name: Get changed files - uses: ./.github/actions/pr_changed_files - id: changed_files - with: - files: | - linter/** - .github/workflows/linter-conan-v2.yml - - - name: Get Conan v2 version - id: parse_conan_v2_version - if: steps.changed_files.outputs.any_changed == 'true' - uses: mikefarah/yq@master - with: - cmd: yq '.conan.version' '.c3i/config_v2.yml' - - - uses: actions/setup-python@v4 - if: steps.changed_files.outputs.any_changed == 'true' - with: - python-version: ${{ env.PYVER }} - - - name: Install requirements - if: steps.changed_files.outputs.any_changed == 'true' - run: | - pip install ${{ env.REQUIREMENTS }} conan==${{ steps.parse_conan_v2_version.outputs.result }} - - - name: Execute linter over all recipes in the repository - id: linter_recipes - if: steps.changed_files.outputs.any_changed == 'true' - run: | - echo '## Linter summary (recipes)' >> $GITHUB_STEP_SUMMARY - pylint --rcfile=linter/pylintrc_recipe `ls recipes/*/*/conanfile.py | shuf -n 500` --output-format=json --output=recipes.json --score=y --exit-zero - jq '[map( select(.type=="error")) | group_by (.message)[] | {message: .[0].message, length: length}] | sort_by(.length) | reverse' recipes.json > recipes2.json - jq -r '.[] | " * \(.message): \(.length)"' recipes2.json >> $GITHUB_STEP_SUMMARY - - - name: Execute linter over all test_package/recipes in the repository - id: linter_test_package - if: steps.changed_files.outputs.any_changed == 'true' - run: | - echo '## Linter summary (test_package)' >> $GITHUB_STEP_SUMMARY - pylint --rcfile=linter/pylintrc_testpackage `ls recipes/*/*/test_package/conanfile.py | shuf -n 500` --output-format=json --output=recipes.json --exit-zero - jq '[map( select(.type=="error")) | group_by (.message)[] | {message: .[0].message, length: length}] | sort_by(.length) | reverse' recipes.json > recipes2.json - jq -r '.[] | " * \(.message): \(.length)"' recipes2.json >> $GITHUB_STEP_SUMMARY - - conanfile_recipe: - name: Lint changed conanfile.py (v2 migration) - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v3 - - name: Get changed files - id: changed-files - uses: ./.github/actions/pr_changed_files - with: - files: | - recipes/*/*/conanfile.py - - name: Get Conan v2 version - id: parse_conan_v2_version - if: steps.changed-files.outputs.any_changed == 'true' - uses: mikefarah/yq@master - with: - cmd: yq '.conan.version' '.c3i/config_v2.yml' - - uses: actions/setup-python@v4 - if: steps.changed-files.outputs.any_changed == 'true' - with: - python-version: ${{ env.PYVER }} - - name: Install dependencies - if: steps.changed-files.outputs.any_changed == 'true' - run: | - pip install ${{ env.REQUIREMENTS }} conan==${{ steps.parse_conan_v2_version.outputs.result }} - - name: Run linter - if: steps.changed-files.outputs.any_changed == 'true' - run: | - echo "::add-matcher::linter/recipe_linter.json" - for file in ${{ steps.changed-files.outputs.all_changed_files }}; do - pylint --rcfile=linter/pylintrc_recipe --output-format=parseable ${file} - done - - conanfile_test_package: - name: Lint changed test_package/conanfile.py (v2 migration) - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v3 - - name: Get changed files - id: changed-files - uses: ./.github/actions/pr_changed_files - with: - files: | - recipes/*/*/test_*/conanfile.py - - name: Get Conan v2 version - id: parse_conan_v2_version - if: steps.changed-files.outputs.any_changed == 'true' - uses: mikefarah/yq@master - with: - cmd: yq '.conan.version' '.c3i/config_v2.yml' - - uses: actions/setup-python@v4 - if: steps.changed-files.outputs.any_changed == 'true' - with: - python-version: ${{ env.PYVER }} - - name: Install dependencies - if: steps.changed-files.outputs.any_changed == 'true' - run: | - pip install ${{ env.REQUIREMENTS }} conan==${{ steps.parse_conan_v2_version.outputs.result }} - - name: Run linter - if: steps.changed-files.outputs.any_changed == 'true' - run: | - echo "::add-matcher::linter/recipe_linter.json" - for file in ${{ steps.changed-files.outputs.all_changed_files }}; do - pylint --rcfile=linter/pylintrc_testpackage --ignore-paths="recipes/[^/]*/[^/]*/test_v2[^/]*/conanfile.py" --output-format=parseable ${file} - done diff --git a/docs/linters.md b/docs/linters.md index 1a76e25288b80..e9e0c601fe0fc 100644 --- a/docs/linters.md +++ b/docs/linters.md @@ -15,11 +15,7 @@ to configure plugins, warnings and errors which should be enabled or disabled. * [Understanding the different linters](#understanding-the-different-linters) * [Running the linters locally](#running-the-linters-locally) * [Pylint configuration files](#pylint-configuration-files) - * [Linter Warning and Errors](#linter-warning-and-errors) - * [E9005 - conan-missing-name: Every conan recipe must contain the attribute name](#e9005---conan-missing-name-every-conan-recipe-must-contain-the-attribute-name) - * [E9007 - conan-test-no-name: Do not add name attribute in test package recipes](#e9007---conan-test-no-name-do-not-add-name-attribute-in-test-package-recipes) - * [E9011 - conan-import-tools: Importing conan.tools or conan.tools.xxx.zzz.yyy should be considered as private](#e9011---conan-import-tools-importing-conantools-or-conantoolsxxxzzzyyy-should-be-considered-as-private) - * [E9012 - conan-attr-version: Recipe should not contain version attribute](#e9012---conan-attr-version-recipe-should-not-contain-version-attribute) + ## Understanding the different linters @@ -37,79 +33,3 @@ Check the [Developing Recipes](developing_recipes_locally.md) for more informati - [Pylint Recipe](../linter/pylintrc_recipe): This `rcfile` lists plugins and rules to be executed over all recipes (not test package) and validate them. - [Pylint Test Package Recipe](../linter/pylintrc_testpackage): This `rcfile` lists plugins and rules to be executed over all recipes in test package folders only: - -## Linter Warning and Errors - -Here is the list of current warning and errors provided by pylint, when using CCI configuration. - -### E9005 - conan-missing-name: Every conan recipe must contain the attribute name - -The attribute `name` is always expected. On the other hand, `version` should not be listed. - -```python -def BazConanfile(ConanFile): - name = "baz" -``` - -### E9007 - conan-test-no-name: Do not add name attribute in test package recipes - -The test package is not a recipe, thus, it should not have a name - -```python -def TestPackageConanFile(ConanFile): - name = "test_package" # Wrong! -``` - -### E9011 - conan-import-tools: Importing conan.tools or conan.tools.xxx.zzz.yyy should be considered as private - -Documented on [conanfile.tools](https://docs.conan.io/1/reference/conanfile/tools.html): -It's not allowed to use `tools.xxx` directly: - -```python -from conan import tools -... - -tools.scm.Version(self.version) -``` - -Neither sub modules: - -```python -from conan.tools.apple.apple import is_apple_os -``` - -Only modules under `conan.tools` and `conan.tools.xxx` are allowed: - -```python -from conan.tools.files import rmdir -from conan.tools import scm -``` - -### E9012 - conan-attr-version: Recipe should not contain version attribute - -All recipes on CCI should be generic enough to support as many versions as possible, so enforcing a specific -version as attribute will not allow to re-use the same recipe for multiple release versions. - -```python -from conan import ConanFile - -class FooConanFile(ConanFile): - version = "1.0.0" # Wrong! -``` - -The package version should be passed as command argument, e.g: - - conan create all/ 1.0.0@ -pr:h=default -pr:b=default - -Or, if you are running Conan 2.0: - - conan create all/ --version=1.0.0 -pr:h=default -pr:b=default - -The only exception is when providing ``system`` packages, which are allowed. - -```python -from conan import ConanFile - -class FooConanFile(ConanFile): - version = "system" # Okay! -``` diff --git a/docs/v2_migration.md b/docs/v2_migration.md deleted file mode 100644 index d372401b811e0..0000000000000 --- a/docs/v2_migration.md +++ /dev/null @@ -1,147 +0,0 @@ -# Preparing recipes for Conan 2.0 - -This is expected for recipes to be updates in each pull request. - -- Updated helpers are expected, this is enforced by the [v2_linter](v2_linter.md) -- Once a recipe publishes v2 packages, it must pass the v2 pipeline always. -- The v2 pipeline with **is required** for changes to be merged. - - -## Contents - - * [Using Layout](#using-layout) - * [With New Generators](#with-new-generators) - * [With Multiple Build Helpers](#with-multiple-build-helpers) - * [CMakeToolchain](#cmaketoolchain) - * [New conf_info properties](#new-conf_info-properties) - * [New cpp_info set_property model](#new-cpp_info-set_property-model) - * [Translating .names information to cmake_target_name, cmake_module_target_name and cmake_file_name](#translating-names-information-to-cmake_target_name-cmake_module_target_name-and-cmake_file_name) - * [Translating .filenames information to cmake_file_name, cmake_module_file_name and cmake_find_mode](#translating-filenames-information-to-cmake_file_name-cmake_module_file_name-and-cmake_find_mode) - * [Translating .build_modules to cmake_build_modules](#translating-build_modules-to-cmake_build_modules) - * [PkgConfigDeps](#pkgconfigdeps) - -> **Note**: Read about the [linter in pull requests](v2_linter.md) to learn how this is being enforced. - -It's time to start thinking seriously about Conan v2 and prepare recipes -for the incoming changes. Conan v2 comes with many -changes and improvements, you can read about them in the -[Conan documentation](https://docs.conan.io/1/conan_v2.html). - -This document is a practical guide, offering extended information particular to Conan -Center Index recipes to get them ready to upgrade to Conan 2.0. - -## Using Layout - -All recipes should use a layout. Without one, more manual configuration of folders (e.g. source, build, etc) -and package structure will be required. - -### With New Generators - -When doing this there is no need to manually define `self._subfolder_[...]` in a recipe. -Simply use `self.source_folder` and `self.build_folder` instead of "subfolder properties" that used to be the norm. - -### With Multiple Build Helpers - -When different build tools are use, at least one layout needs to be set. - -```python - def layout(self): - if self._use_cmake(): - cmake_layout(self) - else: # using autotools - basic_layout(self) -``` - -The `src_folder` must be the same when using different layouts and should -not depend on settings or options. - -## CMakeToolchain - -The old `CMake.definition` should be replaced by `CMakeToolchain.variables` and moved to the `generate` method. -However, certain options need to be passed as `cache_variables`. You'll need to check project's `CMakeLists.txt` -as there are a few cases to look out for: - -- When an `option` is configured before `project()` is called. - - ```cmake - cmake_minimum_required(3.1) - option(BUILD_EXAMPLES "Build examples using foorbar") - project(foobar) - ``` - -- When an variable is declared with `CACHE`. - - ```cmake - cmake_minimum_required(3.1) - project(foobar) - set(USE_JPEG ON CACHE BOOL "include jpeg support?") - ``` - -For more information refere to the [CMakeToolchain docs](https://docs.conan.io/1/reference/conanfile/tools/cmake/cmaketoolchain.html) -or check out the converstaion in conan-io/conan#11937 for the brave. - -## New conf_info properties - -As described in the documentation `self.user_info` has been depreated and you are now required to use -`self.conf_info` to define individual properties to expose to downstream recipes. -The [2.0 migrations docs](https://docs.conan.io/1/migrating_to_2.0/recipes.html#removed-self-user-info) -should cover the technical details, however for ConanCenterIndex we need to make sure there are no collisions -`conf_info` must be named `user.:`. - -For usage options of `conf_info`, the [documenation](https://docs.conan.io/1/reference/config_files/global_conf.html?highlight=conf_info#configuration-in-your-recipes) - -In ConanCenterIndex this will typically looks like: - -- defining a value - ```py - def package_info(self): - tool_path = os.path.join(self.package_folder, "bin", "tool") - self.conf_info.define("user.pkg:tool", tool_path) - ``` -- using a value - ```py - #generators = "VirtualBuildEnv", "VirtualRunEnv" - - def build_requirements(self): - self.tool_requires("tool/0.1") - - def build(self): - tool_path = self.conf_info.get("user.pkg:tool") - self.run(f"{tool_path} --build") - ``` - -> **Note**: This should only be used when absolutely required. In the vast majority of cases, the new -> ["Environments"](https://docs.conan.io/1/reference/conanfile/tools/env/environment.html?highlight=Virtual) -> will include the `self.cpp_info.bindirs` which will provide access to the tools in the correct scopes. - -## New cpp_info set_property model - -New Conan generators like -[CMakeDeps](https://docs.conan.io/1/reference/conanfile/tools/cmake/cmakedeps.html) -and -[PkgConfigDeps](https://docs.conan.io/1/reference/conanfile/tools/gnu/pkgconfigdeps.html), -don't listen to `cpp_info`'s ``.names``, ``.filenames`` or ``.build_modules`` attributes. -There is a new way of setting the `cpp_info` information with these -generators using the ``set_property(property_name, value)`` method. - -Both of these two models **will live together in recipes** to make -recipes compatible for both 1.x and 2.0 users. Deprecated feilds are not to be removed at this time. - -To understand the impact of these and the relation between different generates, refer to the -[migrating properties](https://docs.conan.io/1/migrating_to_2.0/properties.html) documentation. - -### Translating .names information to cmake_target_name, cmake_module_target_name and cmake_file_name - -The variation of `names` is covered by the [Conan documentation](https://docs.conan.io/1/migrating_to_2.0/properties.html#migrating-from-names-to-cmake-target-name). - -### Translating .filenames information to cmake_file_name, cmake_module_file_name and cmake_find_mode - -As for `filenames`, refer to [this section](https://docs.conan.io/1/migrating_to_2.0/properties.html#migrating-from-filenames-to-cmake-file-name). - -### Translating .build_modules to cmake_build_modules - -The variation of `build_modules` is covered by the [Conan documentation](https://docs.conan.io/1/migrating_to_2.0/properties.html#translating-build-modules-to-cmake-build-modules). - -### PkgConfigDeps - -For migrating, `names` used with `pkg_config`, see [Conan documentation](https://docs.conan.io/1/migrating_to_2.0/properties.html#migration-from-names-to-pkg-config-name) diff --git a/linter/check_import_tools.py b/linter/check_import_tools.py deleted file mode 100644 index 1621c7b3dfd2a..0000000000000 --- a/linter/check_import_tools.py +++ /dev/null @@ -1,30 +0,0 @@ -import re -from email.mime import base -from pylint.checkers import BaseChecker -from pylint.interfaces import IAstroidChecker -from astroid import nodes, Const, AssignName - - -class ImportTools(BaseChecker): - """ - Import tools following pattern 'from conan.tools.xxxx import yyyyy' - """ - - __implements__ = IAstroidChecker - - name = "conan-import-tools" - msgs = { - "E9011": ( - "Import tools following pattern 'from conan.tools.xxxx import yyyyy' (https://docs.conan.io/en/latest/reference/conanfile/tools.html).", - "conan-import-tools", - "Import tools following pattern 'from conan.tools.xxxx import yyyyy' (https://docs.conan.io/en/latest/reference/conanfile/tools.html).", - ), - } - - def visit_importfrom(self, node: nodes.ImportFrom) -> None: - basename = node.modname - names = [name for name, _ in node.names] - if basename == 'conan' and 'tools' in names: - self.add_message("conan-import-tools", node=node) - elif re.match(r'conan\.tools\.[^.]+\..+', basename): - self.add_message("conan-import-tools", node=node) diff --git a/linter/check_layout_src_folder.py b/linter/check_layout_src_folder.py deleted file mode 100644 index b7d418884ca45..0000000000000 --- a/linter/check_layout_src_folder.py +++ /dev/null @@ -1,44 +0,0 @@ -from pylint.checkers import BaseChecker -from pylint.interfaces import IAstroidChecker -from astroid import nodes - -WHY_SRC_FOLDER = "Setting the `src_folder` for layouts will help keep an organized and clean workspace when developing recipes locally. " \ - "The extra folder will help ensure there are no collisions between the upstream sources and recipe's exports - which " \ - "also extends to what happens in the cache when creating packages" - - -class LayoutSrcFolder(BaseChecker): - """ - Ensure `src_folder=src` when using built-in layouts - """ - - __implements__ = IAstroidChecker - - name = "conan-layout-src-folder" - msgs = { - "E9012": ( - "layout is missing `src_folder` argument which should be to `src`", - "conan-missing-layout-src-folder", - WHY_SRC_FOLDER, - ), - "E9013": ( - "layout should set `src_folder` to `src`", - "conan-layout-src-folder-is-src", - WHY_SRC_FOLDER, - ), - } - - def visit_call(self, node: nodes.Call) -> None: - if not isinstance(node.func, nodes.Name): - return - - if node.func.name in ["cmake_layout", "bazel_layout", "basic_layout"]: - for kw in node.keywords: - if kw.arg == "src_folder": - if not kw.value or kw.value.as_string().strip("\"'") != "src": - self.add_message( - "conan-layout-src-folder-is-src", node=node, line=node.lineno - ) - break - else: - self.add_message("conan-missing-layout-src-folder", node=node, line=node.lineno) diff --git a/linter/check_package_name.py b/linter/check_package_name.py deleted file mode 100644 index fcc8f60447a9b..0000000000000 --- a/linter/check_package_name.py +++ /dev/null @@ -1,44 +0,0 @@ -from pylint.checkers import BaseChecker -from pylint.interfaces import IAstroidChecker -from astroid import nodes, Const, AssignName -from pathlib import Path - - -class PackageName(BaseChecker): - """ - All packages must have a lower-case name - """ - - __implements__ = IAstroidChecker - - name = "conan-package-name" - msgs = { - "E9005": ( - "Missing name attribute", - "conan-missing-name", - "The member attribute `name` must be declared: `name = 'foobar'`." - ), - "E9007": ( - "No 'name' attribute in test_package conanfile", - "conan-test-no-name", - "No 'name' attribute in test_package conanfile." - ), - } - - def visit_classdef(self, node: nodes) -> None: - filename = Path(node.root().file) - is_test = filename.match('test_*/*.py') - - if node.basenames == ['ConanFile']: - for attr in node.body: - children = list(attr.get_children()) - if len(children) == 2 and \ - isinstance(children[0], AssignName) and \ - children[0].name == "name" and \ - isinstance(children[1], Const): - if is_test: - self.add_message("conan-test-no-name", node=attr, line=attr.lineno) - return - return - if not is_test: - self.add_message("conan-missing-name", node=node) diff --git a/linter/check_version_attribute.py b/linter/check_version_attribute.py deleted file mode 100644 index 66e61f47ef183..0000000000000 --- a/linter/check_version_attribute.py +++ /dev/null @@ -1,33 +0,0 @@ -from pylint.checkers import BaseChecker -from pylint.interfaces import IAstroidChecker -from astroid import nodes, Const, AssignName - - -class VersionAttribute(BaseChecker): - """ - All packages should not enforce a specific version in the recipe - """ - - __implements__ = IAstroidChecker - - name = "conan-attr-version" - msgs = { - "E9014": ( - "Recipe should not contain version attribute", - "conan-forced-version", - "Do not enforce a specific version in your recipe. Keep it generic for any version." - ), - } - - def visit_classdef(self, node: nodes) -> None: - if node.basenames == ['ConanFile']: - for attr in node.body: - children = list(attr.get_children()) - if len(children) == 2 and \ - isinstance(children[0], AssignName) and \ - children[0].name == "version" and \ - isinstance(children[1], Const): - value = children[1].as_string().replace('"', "").replace("'", "") - if value and value != "system": - self.add_message("conan-forced-version", node=attr, line=attr.lineno) - return diff --git a/linter/conanv2_transition.py b/linter/conanv2_transition.py deleted file mode 100644 index 32fbb30499363..0000000000000 --- a/linter/conanv2_transition.py +++ /dev/null @@ -1,18 +0,0 @@ -""" - -Pylint plugin/rules for conanfiles in Conan Center Index - -""" - -from pylint.lint import PyLinter -from linter.check_package_name import PackageName -from linter.check_import_tools import ImportTools -from linter.check_layout_src_folder import LayoutSrcFolder -from linter.check_version_attribute import VersionAttribute - - -def register(linter: PyLinter) -> None: - linter.register_checker(PackageName(linter)) - linter.register_checker(ImportTools(linter)) - linter.register_checker(LayoutSrcFolder(linter)) - linter.register_checker(VersionAttribute(linter)) From 4b05a52c64d1e16f3eb5a1d253b4b13ca8932860 Mon Sep 17 00:00:00 2001 From: Ingmar Rieger Date: Fri, 20 Sep 2024 10:32:34 +0200 Subject: [PATCH 564/641] (#25312) libraw: Version bump to 0.21.3 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Abril Rincón Blanco --- recipes/libraw/all/conandata.yml | 3 +++ recipes/libraw/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/libraw/all/conandata.yml b/recipes/libraw/all/conandata.yml index 3a0ac9ffca1b4..1b7daa83fdaae 100644 --- a/recipes/libraw/all/conandata.yml +++ b/recipes/libraw/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.21.3": + url: "https://github.com/LibRaw/LibRaw/archive/0.21.3.tar.gz" + sha256: "dc3d8b54e333d9d5441336049db255d14b27f19bd326a306cf5aea866806780a" "0.21.2": url: "https://github.com/LibRaw/LibRaw/archive/0.21.2.tar.gz" sha256: "7ac056e0d9e814d808f6973a950bbf45e71b53283eed07a7ea87117a6c0ced96" diff --git a/recipes/libraw/config.yml b/recipes/libraw/config.yml index ef61145f2ee72..5756010f50007 100644 --- a/recipes/libraw/config.yml +++ b/recipes/libraw/config.yml @@ -1,4 +1,6 @@ versions: + "0.21.3": + folder: all "0.21.2": folder: all "0.21.1": From 583776c39fa7e904727c9f595144ad47b637ca28 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Fri, 20 Sep 2024 11:42:31 +0300 Subject: [PATCH 565/641] (#18685) splunk-opentelemetry-cpp: migrate to Conan v2 * splunk-opentelemetry-cpp: migrate to Conan v2 * splunk-opentelemetry-cpp: disable build_jaeger_exporter for now * splunk-opentelemetry-cpp: re-enable build_jaeger_exporter * splunk-opentelemetry-cpp: simplify test_package.cpp * splunk-opentelemetry-cpp: downgrade opentelemetry-cpp dep Fixes the test_package opentelemetry missing symbol linker error. --- .../all/CMakeLists.txt | 7 - .../all/conandata.yml | 5 + .../splunk-opentelemetry-cpp/all/conanfile.py | 126 +++++++++++------- .../all/patches/0.4.0-001-fix-cmake.patch | 26 ++++ .../all/test_package/CMakeLists.txt | 9 +- .../all/test_package/conanfile.py | 21 ++- .../all/test_package/test_package.cpp | 16 +-- .../all/test_v1_package/CMakeLists.txt | 8 ++ .../all/test_v1_package/conanfile.py | 17 +++ 9 files changed, 153 insertions(+), 82 deletions(-) delete mode 100644 recipes/splunk-opentelemetry-cpp/all/CMakeLists.txt create mode 100644 recipes/splunk-opentelemetry-cpp/all/patches/0.4.0-001-fix-cmake.patch create mode 100644 recipes/splunk-opentelemetry-cpp/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/splunk-opentelemetry-cpp/all/test_v1_package/conanfile.py diff --git a/recipes/splunk-opentelemetry-cpp/all/CMakeLists.txt b/recipes/splunk-opentelemetry-cpp/all/CMakeLists.txt deleted file mode 100644 index c0238c83236f9..0000000000000 --- a/recipes/splunk-opentelemetry-cpp/all/CMakeLists.txt +++ /dev/null @@ -1,7 +0,0 @@ -cmake_minimum_required(VERSION 3.5.1) -project(cmake_wrapper) - -include(conanbuildinfo.cmake) -conan_basic_setup() - -add_subdirectory("source_subfolder") diff --git a/recipes/splunk-opentelemetry-cpp/all/conandata.yml b/recipes/splunk-opentelemetry-cpp/all/conandata.yml index d5ceac8af92c2..abbaf169e8c5c 100644 --- a/recipes/splunk-opentelemetry-cpp/all/conandata.yml +++ b/recipes/splunk-opentelemetry-cpp/all/conandata.yml @@ -2,3 +2,8 @@ sources: 0.4.0: url: "https://github.com/signalfx/splunk-otel-cpp/archive/refs/tags/v0.4.0.tar.gz" sha256: "e44f3167cecfea6d1fb0fa3060cc479a0873ab6d481b9b9f57629cbc7d17bfd4" +patches: + "0.4.0": + - patch_file: "patches/0.4.0-001-fix-cmake.patch" + patch_description: "Make CMakeLists.txt compatible with Conan" + patch_type: "conan" diff --git a/recipes/splunk-opentelemetry-cpp/all/conanfile.py b/recipes/splunk-opentelemetry-cpp/all/conanfile.py index 96d1153587973..45da1f403d709 100644 --- a/recipes/splunk-opentelemetry-cpp/all/conanfile.py +++ b/recipes/splunk-opentelemetry-cpp/all/conanfile.py @@ -1,83 +1,115 @@ -from conans import ConanFile, CMake, tools -from conans.errors import ConanInvalidConfiguration import os -import glob + +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import check_min_cppstd +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.files import copy, get, rmdir, export_conandata_patches, apply_conandata_patches +from conan.tools.scm import Version + +required_conan_version = ">=1.53.0" class SplunkOpentelemetryConan(ConanFile): name = "splunk-opentelemetry-cpp" + description = "Splunk's distribution of OpenTelemetry C++" license = "Apache-2.0" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/signalfx/splunk-otel-cpp" - description = "Splunk's distribution of OpenTelemetry C++" topics = ("opentelemetry", "observability", "tracing") - settings = "os", "compiler", "build_type", "arch" + + package_type = "library" + settings = "os", "arch", "compiler", "build_type" options = { - "fPIC": [True, False], "shared": [True, False], + "fPIC": [True, False], + "build_jaeger_exporter": [True, False], } default_options = { - "fPIC": True, "shared": False, + "fPIC": True, + "build_jaeger_exporter": True, } - generators = "cmake", "cmake_find_package_multi" - requires = "opentelemetry-cpp/1.0.1" - exports_sources = "CMakeLists.txt" - short_paths = True - _cmake = None - def validate(self): - if self.settings.arch != "x86_64": - raise ConanInvalidConfiguration("Architecture not supported") + @property + def _min_cppstd(self): + return 14 - def configure(self): - if self.options.shared: - del self.options.fPIC + @property + def _compilers_minimum_version(self): + return { + "gcc": "6", + "clang": "5", + "apple-clang": "10", + "Visual Studio": "16", + "msvc": "192", + } + + def export_sources(self): + export_conandata_patches(self) def config_options(self): if self.settings.os == "Windows": del self.options.fPIC - @property - def _source_subfolder(self): - return "source_subfolder" + def configure(self): + if self.options.shared: + self.options.rm_safe("fPIC") - @property - def _build_subfolder(self): - return "build_subfolder" + def layout(self): + cmake_layout(self, src_folder="src") - def _remove_unnecessary_package_files(self): - tools.rmdir(os.path.join(self.package_folder, "lib", "cmake")) + def requirements(self): + self.requires("opentelemetry-cpp/1.8.3", transitive_headers=True) # v1.12 is not compatible + self.requires("grpc/1.54.3") + self.requires("nlohmann_json/3.11.3") + if self.options.build_jaeger_exporter: + self.requires("thrift/0.17.0") + self.requires("libcurl/[>=7.78.0 <9]") + + def validate(self): + if self.settings.arch != "x86_64": + raise ConanInvalidConfiguration(f"{self.settings.arch} architecture not supported") + if self.options.build_jaeger_exporter and not self.dependencies["opentelemetry-cpp"].options.get_safe("with_jaeger"): + raise ConanInvalidConfiguration("Cannot build Jaeger exporter without with_jaeger=True in opentelemetry-cpp") + + if self.settings.compiler.cppstd: + check_min_cppstd(self, self._min_cppstd) + minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) + if minimum_version and Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration( + f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." + ) def source(self): - tools.get( - **self.conan_data["sources"][self.version], - strip_root=True, - destination=self._source_subfolder - ) - - def _configure_cmake(self): - if self._cmake: - return self._cmake - - self._cmake = CMake(self) - defs = { - "SPLUNK_CPP_EXAMPLES": False - } - self._cmake.configure(defs=defs, build_folder=self._build_subfolder) - return self._cmake + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + tc.variables["SPLUNK_CPP_TESTS"] = False + tc.variables["SPLUNK_CPP_EXAMPLES"] = False + tc.variables["SPLUNK_CPP_WITH_JAEGER_EXPORTER"] = self.options.build_jaeger_exporter + tc.generate() + tc = CMakeDeps(self) + tc.generate() def build(self): - cmake = self._configure_cmake() + apply_conandata_patches(self) + cmake = CMake(self) + cmake.configure() cmake.build() def package(self): - self.copy(pattern="LICENSE", dst="licenses", src=self._source_subfolder) - cmake = self._configure_cmake() + copy(self, "LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + cmake = CMake(self) cmake.install() - self._remove_unnecessary_package_files() + rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) def package_info(self): + self.cpp_info.set_property("cmake_file_name", "SplunkOpenTelemetry") + self.cpp_info.set_property("cmake_target_name", "SplunkOpenTelemetry::SplunkOpenTelemetry") + self.cpp_info.libs = ["SplunkOpenTelemetry"] + + # TODO: to remove in conan v2 once cmake_find_package_* generators removed self.cpp_info.names["cmake_find_package"] = "SplunkOpenTelemetry" self.cpp_info.names["cmake_find_package_multi"] = "SplunkOpenTelemetry" - self.cpp_info.libs = ["SplunkOpenTelemetry"] diff --git a/recipes/splunk-opentelemetry-cpp/all/patches/0.4.0-001-fix-cmake.patch b/recipes/splunk-opentelemetry-cpp/all/patches/0.4.0-001-fix-cmake.patch new file mode 100644 index 0000000000000..c4db3358cce46 --- /dev/null +++ b/recipes/splunk-opentelemetry-cpp/all/patches/0.4.0-001-fix-cmake.patch @@ -0,0 +1,26 @@ +--- CMakeLists.txt ++++ CMakeLists.txt +@@ -1,4 +1,4 @@ +-cmake_minimum_required(VERSION 3.5.1) ++cmake_minimum_required(VERSION 3.15) + + project(SplunkOpenTelemetry CXX) + +@@ -6,8 +6,6 @@ + include(GenerateExportHeader) + + set(PACKAGE_VERSION "0.1.0") +- +-set(CMAKE_CXX_STANDARD 11) + + option(SPLUNK_CPP_TESTS "Enable building of tests" OFF) + option(SPLUNK_CPP_EXAMPLES "Enable building of examples" ON) +@@ -36,7 +34,7 @@ + + target_link_libraries(SplunkOpenTelemetry + PUBLIC +- ${OPENTELEMETRY_CPP_LIBRARIES} ++ opentelemetry-cpp::opentelemetry-cpp + gRPC::grpc++ + protobuf::libprotobuf + ${SPLUNK_CPP_JAEGER_EXPORTER_LIBS} diff --git a/recipes/splunk-opentelemetry-cpp/all/test_package/CMakeLists.txt b/recipes/splunk-opentelemetry-cpp/all/test_package/CMakeLists.txt index 66cd3ac3bbc17..a7bd5843a1ba9 100644 --- a/recipes/splunk-opentelemetry-cpp/all/test_package/CMakeLists.txt +++ b/recipes/splunk-opentelemetry-cpp/all/test_package/CMakeLists.txt @@ -1,13 +1,8 @@ -cmake_minimum_required(VERSION 3.12) - +cmake_minimum_required(VERSION 3.15) project(test_package CXX) -set(CMAKE_CXX_STANDARD 11) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) find_package(SplunkOpenTelemetry CONFIG REQUIRED) add_executable(test_package test_package.cpp) - target_link_libraries(test_package SplunkOpenTelemetry::SplunkOpenTelemetry) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_14) diff --git a/recipes/splunk-opentelemetry-cpp/all/test_package/conanfile.py b/recipes/splunk-opentelemetry-cpp/all/test_package/conanfile.py index 49a3a66ea5bad..ef5d7042163ec 100644 --- a/recipes/splunk-opentelemetry-cpp/all/test_package/conanfile.py +++ b/recipes/splunk-opentelemetry-cpp/all/test_package/conanfile.py @@ -1,10 +1,19 @@ -from conans import ConanFile, CMake, tools +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake import os class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): cmake = CMake(self) @@ -12,6 +21,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/splunk-opentelemetry-cpp/all/test_package/test_package.cpp b/recipes/splunk-opentelemetry-cpp/all/test_package/test_package.cpp index c32b8e88e812f..5b8740706dcc0 100644 --- a/recipes/splunk-opentelemetry-cpp/all/test_package/test_package.cpp +++ b/recipes/splunk-opentelemetry-cpp/all/test_package/test_package.cpp @@ -1,22 +1,8 @@ -#include #include -#include - -int main(int argc, char** argv) { +int main() { splunk::OpenTelemetryOptions otelOptions = splunk::OpenTelemetryOptions() .WithServiceName("my-service") .WithServiceVersion("1.0") - .WithExporter(splunk::ExporterType_JaegerThriftHttp) .WithDeploymentEnvironment("test"); - auto provider = splunk::InitOpentelemetry(otelOptions); - auto span = opentelemetry::trace::Tracer::GetCurrentSpan(); - - char traceId[32] = {0}; - char spanId[16] = {0}; - span->GetContext().trace_id().ToLowerBase16(traceId); - span->GetContext().span_id().ToLowerBase16(spanId); - printf("current span: %.*s:%.*s\n", 32, traceId, 16, spanId); - - return 0; } diff --git a/recipes/splunk-opentelemetry-cpp/all/test_v1_package/CMakeLists.txt b/recipes/splunk-opentelemetry-cpp/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/splunk-opentelemetry-cpp/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup(TARGETS) + +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ + ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/splunk-opentelemetry-cpp/all/test_v1_package/conanfile.py b/recipes/splunk-opentelemetry-cpp/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..49a3a66ea5bad --- /dev/null +++ b/recipes/splunk-opentelemetry-cpp/all/test_v1_package/conanfile.py @@ -0,0 +1,17 @@ +from conans import ConanFile, CMake, tools +import os + + +class TestPackageConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) From 44f2c083487bada21de832774282e38f157d7119 Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Fri, 20 Sep 2024 10:01:26 +0100 Subject: [PATCH 566/641] (#25324) [bot] Update authorized users list (2024-09-19) Co-authored-by: conan-center-bot --- .c3i/authorized_users.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.c3i/authorized_users.yml b/.c3i/authorized_users.yml index 39c27c970be1f..ef4979e4f65d5 100644 --- a/.c3i/authorized_users.yml +++ b/.c3i/authorized_users.yml @@ -1422,3 +1422,7 @@ authorized_users: - jorgen - simshi - alatarum +- joda01 +- raplonu +- mattkretz +- DannyLihard From baceee1e9721b501dc837d3865154b3e3808c84e Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 20 Sep 2024 18:31:01 +0900 Subject: [PATCH 567/641] (#25315) mongo-c-driver: add version 1.28.0 --- recipes/mongo-c-driver/all/conandata.yml | 3 +++ recipes/mongo-c-driver/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/mongo-c-driver/all/conandata.yml b/recipes/mongo-c-driver/all/conandata.yml index ad753c1d37bdd..3db5624e97ef2 100644 --- a/recipes/mongo-c-driver/all/conandata.yml +++ b/recipes/mongo-c-driver/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.28.0": + url: "https://github.com/mongodb/mongo-c-driver/archive/refs/tags/1.28.0.tar.gz" + sha256: "fc8ef2d081d9388b9016d74826f4a229d213a2813708d26063d771ab12e457cb" "1.27.6": url: "https://github.com/mongodb/mongo-c-driver/archive/refs/tags/1.27.6.tar.gz" sha256: "7dee166dd106e3074582dd107f62815aa29311520149cda52efb69590b2cae7a" diff --git a/recipes/mongo-c-driver/config.yml b/recipes/mongo-c-driver/config.yml index 544d212a2ed90..257fff6f0fec6 100644 --- a/recipes/mongo-c-driver/config.yml +++ b/recipes/mongo-c-driver/config.yml @@ -1,4 +1,6 @@ versions: + "1.28.0": + folder: all "1.27.6": folder: all "1.27.5": From ec1db3476ab215b06dcd98f71c82830159257cbf Mon Sep 17 00:00:00 2001 From: Matthias Kretz Date: Fri, 20 Sep 2024 11:51:15 +0200 Subject: [PATCH 568/641] (#25330) vir-simd: add versions 0.3.0, 0.3.1 --- recipes/vir-simd/all/conandata.yml | 6 ++++++ recipes/vir-simd/config.yml | 4 ++++ 2 files changed, 10 insertions(+) diff --git a/recipes/vir-simd/all/conandata.yml b/recipes/vir-simd/all/conandata.yml index f9462ed3ee48f..00b8471475e1b 100644 --- a/recipes/vir-simd/all/conandata.yml +++ b/recipes/vir-simd/all/conandata.yml @@ -1,4 +1,10 @@ sources: + "0.3.1": + url: "https://github.com/mattkretz/vir-simd/archive/refs/tags/v0.3.1.tar.gz" + sha256: "552b80773a72db2ec2c82fd8fa70211c0fe8a7a3aa9dd7003541d99ff886a360" + "0.3.0": + url: "https://github.com/mattkretz/vir-simd/archive/refs/tags/v0.3.0.tar.gz" + sha256: "545c8c3254d8369fa01b2a5f8c674a8cb2703340eff63bca352bcd6d7147728f" "0.2.0": url: "https://github.com/mattkretz/vir-simd/archive/refs/tags/v0.2.0.tar.gz" sha256: "197432196ec73009051188ba686124a469d75d639fc5408613b30ed2981f0b70" diff --git a/recipes/vir-simd/config.yml b/recipes/vir-simd/config.yml index 88f0acde73637..a996ca7a9b498 100644 --- a/recipes/vir-simd/config.yml +++ b/recipes/vir-simd/config.yml @@ -1,4 +1,8 @@ versions: # Newer versions at the top + "0.3.1": + folder: all + "0.3.0": + folder: all "0.2.0": folder: all From f909134900d68a644571c0d4969e94449c6050c0 Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 20 Sep 2024 20:32:02 +0900 Subject: [PATCH 569/641] (#25269) fixed_math: add version 2.0.0, fix install path MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * fixed_math: add version 2.0.0 * fix trailing spaces * fix install path * Update recipes/fixed_math/all/conanfile.py --------- Co-authored-by: Abril Rincón Blanco --- recipes/fixed_math/1.x.x/conandata.yml | 4 + recipes/fixed_math/1.x.x/conanfile.py | 143 ++++++++++++++++++ .../1.x.x/test_package/CMakeLists.txt | 8 + .../1.x.x/test_package/conanfile.py | 26 ++++ .../1.x.x/test_package/test_package.cpp | 39 +++++ recipes/fixed_math/all/conandata.yml | 6 +- recipes/fixed_math/all/conanfile.py | 112 ++++---------- .../all/test_package/CMakeLists.txt | 4 +- .../all/test_package/test_package.cpp | 50 +++--- recipes/fixed_math/config.yml | 4 +- 10 files changed, 278 insertions(+), 118 deletions(-) create mode 100644 recipes/fixed_math/1.x.x/conandata.yml create mode 100644 recipes/fixed_math/1.x.x/conanfile.py create mode 100644 recipes/fixed_math/1.x.x/test_package/CMakeLists.txt create mode 100644 recipes/fixed_math/1.x.x/test_package/conanfile.py create mode 100644 recipes/fixed_math/1.x.x/test_package/test_package.cpp diff --git a/recipes/fixed_math/1.x.x/conandata.yml b/recipes/fixed_math/1.x.x/conandata.yml new file mode 100644 index 0000000000000..3e20dff4a8b77 --- /dev/null +++ b/recipes/fixed_math/1.x.x/conandata.yml @@ -0,0 +1,4 @@ +sources: + "1.0.2": + url: "https://github.com/arturbac/fixed_math/archive/refs/tags/v1.0.2.tar.gz" + sha256: "6c87217286e3b93ce5e1fff0bbbb08a9751d04f416cd76ddd5ddd37a8c6772cf" diff --git a/recipes/fixed_math/1.x.x/conanfile.py b/recipes/fixed_math/1.x.x/conanfile.py new file mode 100644 index 0000000000000..aed8cfa5c1d05 --- /dev/null +++ b/recipes/fixed_math/1.x.x/conanfile.py @@ -0,0 +1,143 @@ +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import check_min_cppstd +from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout +from conan.tools.files import copy, get, rmdir, replace_in_file +from conan.tools.scm import Version +from conan.tools.layout import basic_layout +from conan.tools.env import VirtualBuildEnv +from conan.tools.microsoft import is_msvc +import os + +required_conan_version = ">=1.53.0" + +class FixedMathConan(ConanFile): + name = "fixed_math" + description = "A High-Performance C++17 Library for Fixed-Point 48.16 Arithmetic" + license = "MIT" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/arturbac/fixed_math/" + topics = ("mathematics", "fixed-point") + package_type = "library" + settings = "os", "arch", "compiler", "build_type" + options = { + "header_only": [True, False], + "shared": [True, False], + "fPIC": [True, False], + } + default_options = { + "header_only": False, + "shared": False, + "fPIC": True, + } + + @property + def _min_cppstd(self): + return 17 + + @property + def _compilers_minimum_version(self): + return { + "gcc": "10", # fixed_math requires __has_builtin + "clang": "7", + "apple-clang": "12", + "Visual Studio": "16", + "msvc": "192", + } + + def config_options(self): + if self.settings.os == "Windows": + self.package_type = "static-library" + del self.options.fPIC + + def configure(self): + if self.settings.os == "Windows": + self.options.rm_safe("shared") + if self.options.header_only: + self.options.rm_safe("shared") + self.options.rm_safe("fPIC") + self.package_type = "header-library" + elif self.options.get_safe("shared"): + self.options.rm_safe("fPIC") + + def layout(self): + if self.options.header_only: + basic_layout(self, src_folder="src") + else: + cmake_layout(self, src_folder="src") + + def package_id(self): + if self.info.options.header_only: + self.info.clear() + + def validate(self): + if self.settings.compiler.cppstd: + check_min_cppstd(self, self._min_cppstd) + minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) + if minimum_version and Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration( + f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." + ) + + def build_requirements(self): + if not self.options.header_only: + self.tool_requires("cmake/[>=3.21 <4]") + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + if self.options.header_only: + return + tc = CMakeToolchain(self) + if is_msvc(self): + tc.variables["CMAKE_CXX_FLAGS"] = "/Zc:__cplusplus" + tc.generate() + venv = VirtualBuildEnv(self) + venv.generate(scope="build") + + def build(self): + if not self.options.header_only: + # fix install path (https://github.com/arturbac/fixed_math/issues/8) + replace_in_file(self, os.path.join(self.source_folder, "fixed_lib", "CMakeLists.txt"), + "${CMAKE_INSTALL_INCLUDEDIR}/fixed_math", + "${CMAKE_INSTALL_INCLUDEDIR}/fixedmath") + cmake = CMake(self) + cmake.configure() + cmake.build() + + def package(self): + copy(self, "LICENCE", self.source_folder, os.path.join(self.package_folder, "licenses")) + if not self.options.header_only: + cmake = CMake(self) + cmake.install() + rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) + else: + # fix install path (https://github.com/arturbac/fixed_math/issues/8) + copy( + self, + "*.h", + os.path.join(self.source_folder, "fixed_lib", "include", "fixedmath"), + os.path.join(self.package_folder, "include", "fixedmath"), + ) + copy( + self, + "*.hpp", + os.path.join(self.source_folder, "fixed_lib", "include", "fixedmath"), + os.path.join(self.package_folder, "include", "fixedmath"), + ) + + def package_info(self): + if self.options.header_only: + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] + else: + self.cpp_info.libs = ["fixed_math"] + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.system_libs.append("m") + + self.cpp_info.set_property("cmake_file_name", "fixed_math") + self.cpp_info.set_property("cmake_target_name", "fixed_math::fixed_math") + + if is_msvc(self): + self.cpp_info.cxxflags.append("/Zc:__cplusplus") diff --git a/recipes/fixed_math/1.x.x/test_package/CMakeLists.txt b/recipes/fixed_math/1.x.x/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..d63966d4ccdd2 --- /dev/null +++ b/recipes/fixed_math/1.x.x/test_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) + +find_package(fixed_math REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE fixed_math::fixed_math) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) diff --git a/recipes/fixed_math/1.x.x/test_package/conanfile.py b/recipes/fixed_math/1.x.x/test_package/conanfile.py new file mode 100644 index 0000000000000..ef5d7042163ec --- /dev/null +++ b/recipes/fixed_math/1.x.x/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/fixed_math/1.x.x/test_package/test_package.cpp b/recipes/fixed_math/1.x.x/test_package/test_package.cpp new file mode 100644 index 0000000000000..9337496e2cbd5 --- /dev/null +++ b/recipes/fixed_math/1.x.x/test_package/test_package.cpp @@ -0,0 +1,39 @@ +#include + +#include "fixedmath/fixed_math.hpp" +#include "fixedmath/iostream.h" + +using fixedmath::fixed_t; +using fixedmath::operator ""_fix; + +//fixed and all functionality is constexpr so You can declare constants see features [1] +inline constexpr fixed_t foo_constant{ fixedmath::tan( 15 * fixedmath::phi/180) }; + +constexpr fixed_t my_function( fixed_t value ) { + using namespace fixedmath; + return foo_constant + sin(value) / (1.41_fix - 2*cos(value) / 4); +} + +int main() { + // converting to/from fixed_t + // construction from other arithmetic types is explicit + fixed_t val { 3.14 }; + + //- there is no implicit assignment from other types + float some_float{val}; + fixed_t some_fixed{some_float}; + + some_fixed = fixed_t{some_float}; + + //- converting to other arithmetic types coud be done with static cast and is explicit + double some_double { static_cast(some_fixed) }; + + // for constant values postfix operator _fix may be used + some_fixed = some_float * 2.45_fix; //operation with float is promoted to fixed_t + some_double = 4.15 * some_fixed; //operation with double is promoted to double + + std::cout << some_fixed << '\n'; + std::cout << some_double << '\n'; + + return 0; +} diff --git a/recipes/fixed_math/all/conandata.yml b/recipes/fixed_math/all/conandata.yml index 3e20dff4a8b77..a7ea4a2ff9968 100644 --- a/recipes/fixed_math/all/conandata.yml +++ b/recipes/fixed_math/all/conandata.yml @@ -1,4 +1,4 @@ sources: - "1.0.2": - url: "https://github.com/arturbac/fixed_math/archive/refs/tags/v1.0.2.tar.gz" - sha256: "6c87217286e3b93ce5e1fff0bbbb08a9751d04f416cd76ddd5ddd37a8c6772cf" + "2.0.0": + url: "https://github.com/arturbac/fixed_math/archive/refs/tags/v2.0.0.tar.gz" + sha256: "a02efd417592f9cb3d21fc39877aba76fe5c37b3e68b11769065202f71242f66" diff --git a/recipes/fixed_math/all/conanfile.py b/recipes/fixed_math/all/conanfile.py index 21e92751973d1..4684b16404cb7 100644 --- a/recipes/fixed_math/all/conanfile.py +++ b/recipes/fixed_math/all/conanfile.py @@ -1,11 +1,9 @@ from conan import ConanFile from conan.errors import ConanInvalidConfiguration from conan.tools.build import check_min_cppstd -from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout -from conan.tools.files import copy, get, rmdir +from conan.tools.files import copy, get from conan.tools.scm import Version from conan.tools.layout import basic_layout -from conan.tools.env import VirtualBuildEnv from conan.tools.microsoft import is_msvc import os @@ -17,58 +15,30 @@ class FixedMathConan(ConanFile): license = "MIT" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/arturbac/fixed_math/" - topics = ("mathematics", "fixed-point") - package_type = "library" + topics = ("mathematics", "fixed-point", "header-only") + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" - options = { - "header_only": [True, False], - "shared": [True, False], - "fPIC": [True, False], - } - default_options = { - "header_only": False, - "shared": False, - "fPIC": True, - } + no_copy_source = True @property def _min_cppstd(self): - return 17 + return 23 @property def _compilers_minimum_version(self): return { - "gcc": "10", # fixed_math requires __has_builtin - "clang": "7", - "apple-clang": "12", - "Visual Studio": "16", - "msvc": "192", + "Visual Studio": "17", + "msvc": "193", + "gcc": "12", + "clang": "15", + "apple-clang": "16", } - def config_options(self): - if self.settings.os == "Windows": - self.package_type = "static-library" - del self.options.fPIC - - def configure(self): - if self.settings.os == "Windows": - self.options.rm_safe("shared") - if self.options.header_only: - self.options.rm_safe("shared") - self.options.rm_safe("fPIC") - self.package_type = "header-library" - elif self.options.get_safe("shared"): - self.options.rm_safe("fPIC") - def layout(self): - if self.options.header_only: - basic_layout(self, src_folder="src") - else: - cmake_layout(self, src_folder="src") + basic_layout(self, src_folder="src") def package_id(self): - if self.info.options.header_only: - self.info.clear() + self.info.clear() def validate(self): if self.settings.compiler.cppstd: @@ -79,57 +49,27 @@ def validate(self): f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." ) - def build_requirements(self): - if not self.options.header_only: - self.tool_requires("cmake/[>=3.21 <4]") - def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) - def generate(self): - if self.options.header_only: - return - tc = CMakeToolchain(self) - if is_msvc(self): - tc.variables["CMAKE_CXX_FLAGS"] = "/Zc:__cplusplus" - tc.generate() - venv = VirtualBuildEnv(self) - venv.generate(scope="build") - - def build(self): - if not self.options.header_only: - cmake = CMake(self) - cmake.configure() - cmake.build() - def package(self): copy(self, "LICENCE", self.source_folder, os.path.join(self.package_folder, "licenses")) - if not self.options.header_only: - cmake = CMake(self) - cmake.install() - rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) - else: - copy( - self, - "*.h", - os.path.join(self.source_folder, "fixed_lib", "include", "fixedmath"), - os.path.join(self.package_folder, "include", "fixed_math"), - ) - copy( - self, - "*.hpp", - os.path.join(self.source_folder, "fixed_lib", "include", "fixedmath"), - os.path.join(self.package_folder, "include", "fixed_math"), - ) + copy( + self, + "*.h", + os.path.join(self.source_folder, "fixed_lib", "include"), + os.path.join(self.package_folder, "include"), + ) + copy( + self, + "*.hpp", + os.path.join(self.source_folder, "fixed_lib", "include"), + os.path.join(self.package_folder, "include"), + ) def package_info(self): - if self.options.header_only: - self.cpp_info.bindirs = [] - self.cpp_info.libdirs = [] - else: - self.cpp_info.libs = ["fixed_math"] - if self.settings.os in ["Linux", "FreeBSD"]: - self.cpp_info.system_libs.append("m") + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] self.cpp_info.set_property("cmake_file_name", "fixed_math") self.cpp_info.set_property("cmake_target_name", "fixed_math::fixed_math") diff --git a/recipes/fixed_math/all/test_package/CMakeLists.txt b/recipes/fixed_math/all/test_package/CMakeLists.txt index d63966d4ccdd2..2b820757c217b 100644 --- a/recipes/fixed_math/all/test_package/CMakeLists.txt +++ b/recipes/fixed_math/all/test_package/CMakeLists.txt @@ -1,8 +1,8 @@ -cmake_minimum_required(VERSION 3.15) +cmake_minimum_required(VERSION 3.20) project(test_package LANGUAGES CXX) find_package(fixed_math REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) target_link_libraries(${PROJECT_NAME} PRIVATE fixed_math::fixed_math) -target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_23) diff --git a/recipes/fixed_math/all/test_package/test_package.cpp b/recipes/fixed_math/all/test_package/test_package.cpp index fe7f675d4cade..7fbb1e6d1d25b 100644 --- a/recipes/fixed_math/all/test_package/test_package.cpp +++ b/recipes/fixed_math/all/test_package/test_package.cpp @@ -1,39 +1,37 @@ -#include +#include -#include "fixed_math/fixed_math.hpp" -#include "fixed_math/iostream.h" +#include "fixedmath/fixed_math.hpp" +#include "fixedmath/iostream.h" using fixedmath::fixed_t; -using fixedmath::operator ""_fix; +using fixedmath::operator""_fix; -//fixed and all functionality is constexpr so You can declare constants see features [1] -inline constexpr fixed_t foo_constant{ fixedmath::tan( 15 * fixedmath::phi/180) }; +// fixed and all functionality is constexpr so You can declare constants see features [1] +inline constexpr fixed_t foo_constant{fixedmath::fobj::tan(15 * fixedmath::phi / 180)}; -constexpr fixed_t my_function( fixed_t value ) { - using namespace fixedmath; - return foo_constant + sin(value) / (1.41_fix - 2*cos(value) / 4); +constexpr fixed_t my_function(fixed_t value) { + using namespace fixedmath; + // You can use funcioons or function objects + return foo_constant + fobj::sin(value) / (1.41_fix - 2 * func::cos(value) / 4); } int main() { - // converting to/from fixed_t - // construction from other arithmetic types is explicit - fixed_t val { 3.14 }; + // converting to/from fixed_t + // construction from other arithmetic types is explicit + fixed_t val1{3.14}; + fixed_t val2{3u}; - //- there is no implicit assignment from other types - float some_float{val}; - fixed_t some_fixed{some_float}; + //- there is no implicit assignment from other types + float some_float{3.14f}; + fixed_t some_fixed; + some_fixed = fixed_t{some_float}; - some_fixed = fixed_t{some_float}; + //- converting to other arithmetic types coud be done with static cast and is explicit + double some_double(some_fixed); - //- converting to other arithmetic types coud be done with static cast and is explicit - double some_double { static_cast(some_fixed) }; + // for constant values postfix operator _fix may be used + some_fixed = some_float * 2.45_fix; // operation with float is promoted to fixed_t + some_double = 4.15 * some_fixed; // operation with double is promoted to double - // for constant values postfix operator _fix may be used - some_fixed = some_float * 2.45_fix; //operation with float is promoted to fixed_t - some_double = 4.15 * some_fixed; //operation with double is promoted to double - - std::cout << some_fixed << '\n'; - std::cout << some_double << '\n'; - - return 0; + std::cout << some_double << " " << my_function(some_fixed) << std::endl; } diff --git a/recipes/fixed_math/config.yml b/recipes/fixed_math/config.yml index 8457ca9a4a8cd..3a4c749874ca0 100644 --- a/recipes/fixed_math/config.yml +++ b/recipes/fixed_math/config.yml @@ -1,3 +1,5 @@ versions: - "1.0.2": + "2.0.0": folder: all + "1.0.2": + folder: 1.x.x From 1a14d463ad535889698bfae298350d3dd6f6fddd Mon Sep 17 00:00:00 2001 From: Ingmar Rieger Date: Fri, 20 Sep 2024 14:13:35 +0200 Subject: [PATCH 570/641] (#25114) OpenImageIO: Add version 2.5.15.0 * OpenImageIO: Add version 2.5.15.0 * Add new version to config.yml --- recipes/openimageio/all/conandata.yml | 7 +++++++ recipes/openimageio/config.yml | 2 ++ 2 files changed, 9 insertions(+) diff --git a/recipes/openimageio/all/conandata.yml b/recipes/openimageio/all/conandata.yml index 7a399cb02ec7e..e977a3cdd1ba8 100644 --- a/recipes/openimageio/all/conandata.yml +++ b/recipes/openimageio/all/conandata.yml @@ -20,6 +20,9 @@ sources: "2.5.14.0": url: "https://github.com/AcademySoftwareFoundation/OpenImageIO/archive/refs/tags/v2.5.14.0.tar.gz" sha256: "0e74372c658f083820872311d126867f10d59b526a856672746de7b2c772034d" + "2.5.15.0": + url: "https://github.com/AcademySoftwareFoundation/OpenImageIO/archive/refs/tags/v2.5.15.0.tar.gz" + sha256: "7779ef2c3d03c5ed95e13ff292de85c3f8cee301cd46baad0d2dc83c93bfe85c" patches: "2.4.7.1": - patch_file: "patches/2.4.7.1-cmake-targets.patch" @@ -52,3 +55,7 @@ patches: - patch_file: "patches/2.5.14.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.15.0": + - patch_file: "patches/2.5.14.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/config.yml b/recipes/openimageio/config.yml index 66bdf8b724be0..16ac32e99c53f 100644 --- a/recipes/openimageio/config.yml +++ b/recipes/openimageio/config.yml @@ -13,3 +13,5 @@ versions: folder: all "2.5.14.0": folder: all + "2.5.15.0": + folder: all From c2c5964ace4be2a0905a5503554c7a2642e71e0d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Abril=20Rinc=C3=B3n=20Blanco?= Date: Sat, 21 Sep 2024 00:39:50 +0200 Subject: [PATCH 571/641] (#25345) cairo: Fix alloca issue in MSVC cairo --- recipes/cairo/all/conandata.yml | 5 ++++ .../all/patches/1.18.0-msvc-alloca.patch | 28 +++++++++++++++++++ 2 files changed, 33 insertions(+) create mode 100644 recipes/cairo/all/patches/1.18.0-msvc-alloca.patch diff --git a/recipes/cairo/all/conandata.yml b/recipes/cairo/all/conandata.yml index 278a3653016c5..ab830d86cca25 100644 --- a/recipes/cairo/all/conandata.yml +++ b/recipes/cairo/all/conandata.yml @@ -14,6 +14,11 @@ sources: - "https://mirror.koddos.net/blfs/conglomeration/cairo/cairo-1.17.4.tar.xz" sha256: "74b24c1ed436bbe87499179a3b27c43f4143b8676d8ad237a6fa787401959705" patches: + "1.18.0": + - patch_file: "patches/1.18.0-msvc-alloca.patch" + patch_type: "backport" + patch_description: "Fix alloca undefined with MSVC" + patch_source: "https://gitlab.freedesktop.org/cairo/cairo/-/merge_requests/520" "1.17.4": - patch_file: "patches/binutils-2.34-libbfd-fix.patch" patch_type: "backport" diff --git a/recipes/cairo/all/patches/1.18.0-msvc-alloca.patch b/recipes/cairo/all/patches/1.18.0-msvc-alloca.patch new file mode 100644 index 0000000000000..3be0a4002a73e --- /dev/null +++ b/recipes/cairo/all/patches/1.18.0-msvc-alloca.patch @@ -0,0 +1,28 @@ +From 27cdee5e4cf19e7959b80fe1a39e61188de1b654 Mon Sep 17 00:00:00 2001 +From: Dan Yeaw +Date: Sat, 30 Sep 2023 13:30:51 -0400 +Subject: [PATCH] Fix alloca undefined with MSVC + +Conditionally includes malloc.h when compiling with +MSVC so that alloca is defined. +--- + src/cairo-colr-glyph-render.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/src/cairo-colr-glyph-render.c b/src/cairo-colr-glyph-render.c +index 28254fd51..a9ad84bbf 100644 +--- a/src/cairo-colr-glyph-render.c ++++ b/src/cairo-colr-glyph-render.c +@@ -43,6 +43,10 @@ + #include + #include + ++#ifdef _MSC_VER ++#include ++#endif ++ + #if HAVE_FT_COLR_V1 + + #include +-- +GitLab From f31a6fbfe0677361169463d1dff002e4dadcfb05 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Abril=20Rinc=C3=B3n=20Blanco?= Date: Mon, 23 Sep 2024 08:46:55 +0200 Subject: [PATCH 572/641] (#25319) meson: use `finalize` method * First steps for finalize() support in Meson --------- Co-authored-by: PerseoGI * Modify wrapper in finalize to support old versions cleanly * Discard changes to recipes/jwt-cpp/all/test_package/traits/defaults.h * Discard changes to recipes/jwt-cpp/all/test_package/traits/traits.h * Cealnup --------- Co-authored-by: PerseoGI --- recipes/meson/all/conanfile.py | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/recipes/meson/all/conanfile.py b/recipes/meson/all/conanfile.py index 788b38338e98b..1f193b4c68fed 100644 --- a/recipes/meson/all/conanfile.py +++ b/recipes/meson/all/conanfile.py @@ -2,7 +2,7 @@ import textwrap from conan import ConanFile, conan_version -from conan.tools.files import copy, get, rmdir, save +from conan.tools.files import copy, get, rmdir, save, replace_in_file from conan.tools.layout import basic_layout from conan.tools.scm import Version @@ -52,6 +52,16 @@ def package(self): exec "$meson_dir/meson.py" "$@" """)) + def finalize(self): + copy(self, "*", src=self.immutable_package_folder, dst=self.package_folder) + replace_in_file(self, os.path.join(self.package_folder, "bin", "meson.cmd"), + "set PYTHONDONTWRITEBYTECODE=1", + "") + + replace_in_file(self, os.path.join(self.package_folder, "bin", "meson"), + "export PYTHONDONTWRITEBYTECODE=1", + "") + @staticmethod def _chmod_plus_x(filename): if os.name == "posix": From 56b0e24c5431417a89c3a98b3984559dd53dd160 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Mon, 23 Sep 2024 10:25:38 +0300 Subject: [PATCH 573/641] (#18866) liquid-dsp: migrate to Conan v2 * liquid-dsp: migrate to Conan v2 * liquid-dsp: bump deps * liquid-dsp: add version 1.6.0 Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) * liquid-dsp: tidy * liquid-dsp: switch mingw-w64 -> mingw-builds * liquid-dsp: fix MSVC shared build, disable MSVC static * liquid-dsp: add static build support * liquid-dsp: add missing build tools * liquid-dsp: static build failed * liquid-dsp: fix libliquid.def generation * liquid-dsp: copy all MinGW DLLs * liquid-dsp: drop MSVC support * Update recipes/liquid-dsp/all/conanfile.py --------- Co-authored-by: Quentin Chateau via Conan Center Bot Co-authored-by: PerseoGI --- recipes/liquid-dsp/all/conandata.yml | 7 +- recipes/liquid-dsp/all/conanfile.py | 216 +++++++----------- .../liquid-dsp/all/generate_link_library.bat | 4 - .../1.3.2/0001-Remove-headers-check.patch | 37 --- .../all/test_package/CMakeLists.txt | 9 +- .../liquid-dsp/all/test_package/conanfile.py | 21 +- recipes/liquid-dsp/config.yml | 2 + 7 files changed, 102 insertions(+), 194 deletions(-) delete mode 100644 recipes/liquid-dsp/all/generate_link_library.bat delete mode 100644 recipes/liquid-dsp/all/patches/1.3.2/0001-Remove-headers-check.patch diff --git a/recipes/liquid-dsp/all/conandata.yml b/recipes/liquid-dsp/all/conandata.yml index 23e1bf444316a..e94d8d3d73cb9 100644 --- a/recipes/liquid-dsp/all/conandata.yml +++ b/recipes/liquid-dsp/all/conandata.yml @@ -1,8 +1,7 @@ sources: + "1.6.0": + url: "https://github.com/jgaeddert/liquid-dsp/archive/v1.6.0.tar.gz" + sha256: "6ee6a5dfb48e047b118cf613c0b9f43e34356a5667a77a72a55371d2c8c53bf5" "1.3.2": url: "https://github.com/jgaeddert/liquid-dsp/archive/refs/tags/v1.3.2.tar.gz" sha256: "85093624EF9CB90EAD64C836D2F42690197EDACE1A86257D6524C4E4DC870483" -patches: - "1.3.2": - - patch_file: "patches/1.3.2/0001-Remove-headers-check.patch" - base_path: "source_subfolder" diff --git a/recipes/liquid-dsp/all/conanfile.py b/recipes/liquid-dsp/all/conanfile.py index 26e149f068f7a..131fb07babeea 100644 --- a/recipes/liquid-dsp/all/conanfile.py +++ b/recipes/liquid-dsp/all/conanfile.py @@ -1,45 +1,42 @@ -from conans import ConanFile, tools -from conans.errors import ConanInvalidConfiguration -from contextlib import contextmanager import os -required_conan_version = ">=1.33.0" +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.apple import is_apple_os +from conan.tools.build import cross_building +from conan.tools.env import Environment, VirtualBuildEnv +from conan.tools.files import chdir, copy, get, rename +from conan.tools.gnu import Autotools, AutotoolsToolchain +from conan.tools.layout import basic_layout +from conan.tools.microsoft import is_msvc + +required_conan_version = ">=1.53.0" + class LiquidDspConan(ConanFile): name = "liquid-dsp" - description = ( - "Digital signal processing library for software-defined radios (and more)" - ) - topics = ("dsp", "sdr", "liquid-dsp") + description = "Digital signal processing library for software-defined radios (and more)" + license = "MIT" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/jgaeddert/liquid-dsp" - license = ("MIT",) - settings = "os", "arch", "build_type", "compiler" - exports_sources = ["generate_link_library.bat"] + topics = ("dsp", "sdr") + + package_type = "library" + settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], + "fPIC": [True, False], "simdoverride": [True, False], } default_options = { "shared": False, + "fPIC": True, "simdoverride": False, } - _autotools = None - - @property - def _source_subfolder(self): - return "source_subfolder" - - @property - def _libname(self): - if self.settings.os == "Windows": - return "libliquid" - return "liquid" - @property def _target_name(self): - if self.settings.os == "Macos": + if is_apple_os(self): if not self.options.shared: return "libliquid.ar" return "libliquid.dylib" @@ -49,138 +46,81 @@ def _target_name(self): @property def _lib_pattern(self): - if self.settings.os == "Macos" and not self.options.shared: + if is_apple_os(self) and not self.options.shared: return "libliquid.a" - if self.settings.os != "Windows": - return self._target_name - return "libliquid.lib" + return self._target_name - def configure(self): - del self.settings.compiler.cppstd - del self.settings.compiler.libcxx + def config_options(self): + if self.settings.os == "Windows": + del self.options.fPIC - @property - def _settings_build(self): - return getattr(self, "settings_build", self.settings) + def configure(self): + self.settings.rm_safe("compiler.cppstd") + self.settings.rm_safe("compiler.libcxx") + if self.options.shared: + self.options.rm_safe("fPIC") - 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("mingw-w64/8.1") - self.build_requires("automake/1.16.4") - - def export_sources(self): - for patch in self.conan_data.get("patches", {}).get(self.version, []): - self.copy(patch["patch_file"]) + def layout(self): + basic_layout(self, src_folder="src") def validate(self): - if hasattr(self, "settings_build") and tools.cross_building(self): + if cross_building(self): raise ConanInvalidConfiguration("Cross building is not yet supported. Contributions are welcome") + if is_msvc(self): + raise ConanInvalidConfiguration("MSVC is not supported due to missing 'complex' data type support") + + def build_requirements(self): + # For ./bootstrap.sh + self.tool_requires("autoconf/2.71") + self.tool_requires("automake/1.16.5") def source(self): - tools.get( - **self.conan_data["sources"][self.version], - destination=self._source_subfolder, - strip_root=True, - ) + get(self, **self.conan_data["sources"][self.version], strip_root=True) - def _patch_sources(self): - if self.settings.os == "Windows": - for patch in self.conan_data["patches"][self.version]: - tools.patch(**patch) - - def _gen_link_library(self): - if self.settings.compiler != "Visual Studio" or (not self.options.shared): - return - self.run("cmd /c generate_link_library.bat") - with tools.chdir(self._source_subfolder): - self.run( - "{} /def:libliquid.def /out:libliquid.lib /machine:{}".format( - os.getenv("AR"), "X86" if self.settings.arch == "x86" else "X64" - ), - win_bash=tools.os_info.is_windows, - ) + def generate(self): + venv = VirtualBuildEnv(self) + venv.generate() - def _rename_libraries(self): - with tools.chdir(self._source_subfolder): - if self.settings.os == "Windows" and self.options.shared: - tools.rename("libliquid.so", "libliquid.dll") - elif self.settings.os == "Windows" and not self.options.shared: - tools.rename("libliquid.a", "libliquid.lib") - elif self.settings.os == "Macos" and not self.options.shared: - tools.rename("libliquid.ar", "libliquid.a") - - @contextmanager - def _build_context(self): - if self.settings.compiler == "Visual Studio": - env = { - "CC": "gcc", - "CXX": "g++", - "LD": "ld", - "AR": "ar", - } - with tools.environment_append(env): - yield - else: - yield - - @contextmanager - def _msvc_context(self): - if self.settings.compiler == "Visual Studio": - with tools.vcvars(self.settings): - env = { - "CC": "cl -nologo", - "CXX": "cl -nologo", - "AR": "lib", - "LD": "link", - } - with tools.environment_append(env): - yield + gcc_env = Environment() + if self.settings.build_type == "Debug": + cflags = "-g -O0" else: - yield + cflags = "-s -O2 -DNDEBUG" + gcc_env.append("CFLAGS", cflags) + gcc_env.vars(self, scope="gcc").save_script("conan_gcc_env") - def build(self): - self._patch_sources() - ncpus = tools.cpu_count() - configure_args = [] - cflags = ["-static-libgcc"] + tc = AutotoolsToolchain(self) if self.settings.build_type == "Debug": - configure_args.append("--enable-debug-messages") - cflags.extend(["-g", "-O0"]) - else: - cflags.extend(["-s", "-O2", "-DNDEBUG"]) + tc.configure_args.append("--enable-debug-messages") if self.options.simdoverride: - configure_args.append("--enable-simdoverride") - if self.settings.compiler == "Visual Studio": - configure_args.append("CFLAGS='{}'".format(" ".join(cflags))) - configure_args_str = " ".join(configure_args) - with self._build_context(): - with tools.chdir(self._source_subfolder): - self.run("./bootstrap.sh", win_bash=tools.os_info.is_windows) - self.run( - "./configure {}".format(configure_args_str), - win_bash=tools.os_info.is_windows, - ) - self.run( - "make {} -j{}".format(self._target_name, ncpus), - win_bash=tools.os_info.is_windows, - ) + tc.configure_args.append("--enable-simdoverride") + tc.generate(gcc_env) + + def _rename_libraries(self): + with chdir(self, self.source_folder): + if is_apple_os(self) and not self.options.shared: + rename(self, "libliquid.ar", "libliquid.a") + + def build(self): + with chdir(self, self.source_folder): + self.run("./bootstrap.sh", env=["conanbuild", "gcc"]) + autotools = Autotools(self) + autotools.configure() + autotools.make(self._target_name) self._rename_libraries() - with self._msvc_context(): - self._gen_link_library() def package(self): - self.copy(pattern="LICENSE", src=self._source_subfolder, dst="licenses") - self.copy( - pattern="liquid.h", - dst=os.path.join("include", "liquid"), - src=os.path.join(self._source_subfolder, "include"), - ) - self.copy(pattern="libliquid.dll", dst="bin", src=self._source_subfolder) - self.copy(pattern=self._lib_pattern, dst="lib", src=self._source_subfolder) + copy(self, "LICENSE", + dst=os.path.join(self.package_folder, "licenses"), + src=self.source_folder) + copy(self, "liquid.h", + dst=os.path.join(self.package_folder, "include", "liquid"), + src=os.path.join(self.source_folder, "include")) + copy(self, self._lib_pattern, + dst=os.path.join(self.package_folder, "lib"), + src=self.source_folder) def package_info(self): - self.cpp_info.libs = [self._libname] - if self.settings.os == "Linux": + self.cpp_info.libs = ["liquid"] + if self.settings.os in ["Linux", "FreeBSD"]: self.cpp_info.system_libs.append("m") diff --git a/recipes/liquid-dsp/all/generate_link_library.bat b/recipes/liquid-dsp/all/generate_link_library.bat deleted file mode 100644 index fb20541a4c46c..0000000000000 --- a/recipes/liquid-dsp/all/generate_link_library.bat +++ /dev/null @@ -1,4 +0,0 @@ -@echo off -echo Generating link library for MSVC... -echo EXPORTS >> source_subfolder\libliquid.def -for /f "skip=19 tokens=4" %%A in ('%LD% /dump /EXPORTS source_subfolder\libliquid.dll') do echo %%A >> source_subfolder\libliquid.def diff --git a/recipes/liquid-dsp/all/patches/1.3.2/0001-Remove-headers-check.patch b/recipes/liquid-dsp/all/patches/1.3.2/0001-Remove-headers-check.patch deleted file mode 100644 index ad10a374ed0d9..0000000000000 --- a/recipes/liquid-dsp/all/patches/1.3.2/0001-Remove-headers-check.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 8a99b1c6853193c1f518bc81b705d7094225e114 Mon Sep 17 00:00:00 2001 -From: Rui Oliveira -Date: Fri, 18 Jun 2021 09:37:46 +0100 -Subject: [PATCH] Remove headers check - ---- - configure.ac | 8 -------- - 1 file changed, 8 deletions(-) - -diff --git a/configure.ac b/configure.ac -index e6bc297e..5b591c87 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -81,20 +81,12 @@ AC_FUNC_ERROR_AT_LINE - AC_FUNC_MALLOC - AC_FUNC_REALLOC - --# AC_CHECK_LIB (library, function, [action-if-found], [action-if-not-found], [other-libraries]) --AC_CHECK_LIB([c],[main],[],[AC_MSG_ERROR(Could not use standard C library)], []) --AC_CHECK_LIB([m],[main],[],[AC_MSG_ERROR(Could not use standard math library)],[]) -- - # AC_CHECK_FUNC(function, [action-if-found], [action-if-not-found]) - AC_CHECK_FUNCS([malloc realloc free memset memmove],[], - [AC_MSG_ERROR(Could not use memory allocation functions)]) - AC_CHECK_FUNCS([sinf cosf expf cargf cexpf crealf cimagf sqrtf],[], - [AC_MSG_ERROR(Could not use special math functions)],) - --# Check for necessary header files --AC_CHECK_HEADERS([stdio.h stdlib.h complex.h string.h getopt.h sys/resource.h float.h inttypes.h limits.h stdlib.h string.h unistd.h],[], -- [AC_MSG_ERROR(Could not use standard headers)]) -- - # Check for optional header files, libraries, programs - AC_CHECK_HEADERS(fec.h fftw3.h) - AC_CHECK_LIB([fftw3f], [fftwf_plan_dft_1d], [], --- -2.32.0.windows.1 - diff --git a/recipes/liquid-dsp/all/test_package/CMakeLists.txt b/recipes/liquid-dsp/all/test_package/CMakeLists.txt index 2859677acfc5b..a71be24831850 100644 --- a/recipes/liquid-dsp/all/test_package/CMakeLists.txt +++ b/recipes/liquid-dsp/all/test_package/CMakeLists.txt @@ -1,8 +1,7 @@ -cmake_minimum_required(VERSION 3.0) -project(test_package) +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() +find_package(liquid-dsp REQUIRED CONFIG) add_executable(${CMAKE_PROJECT_NAME} test_package.cpp) -target_link_libraries(${CMAKE_PROJECT_NAME} ${CONAN_LIBS}) +target_link_libraries(${CMAKE_PROJECT_NAME} liquid-dsp::liquid-dsp) diff --git a/recipes/liquid-dsp/all/test_package/conanfile.py b/recipes/liquid-dsp/all/test_package/conanfile.py index bd7165a553cf4..ef5d7042163ec 100644 --- a/recipes/liquid-dsp/all/test_package/conanfile.py +++ b/recipes/liquid-dsp/all/test_package/conanfile.py @@ -1,10 +1,19 @@ -from conans import ConanFile, CMake, tools +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake import os class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake" + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): cmake = CMake(self) @@ -12,6 +21,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self.settings): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/liquid-dsp/config.yml b/recipes/liquid-dsp/config.yml index 906e859d7afd8..6d49f977901cf 100644 --- a/recipes/liquid-dsp/config.yml +++ b/recipes/liquid-dsp/config.yml @@ -1,3 +1,5 @@ versions: + "1.6.0": + folder: "all" "1.3.2": folder: "all" From 1fcf1f414fb9d7d16ecb4420ecec800f6f466b3d Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 23 Sep 2024 09:42:22 +0100 Subject: [PATCH 574/641] (#25336) [docs] Regenerate tables of contents Co-authored-by: conan-center-bot <54393557+conan-center-bot@users.noreply.github.com> --- docs/linters.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/docs/linters.md b/docs/linters.md index e9e0c601fe0fc..075f373f209ef 100644 --- a/docs/linters.md +++ b/docs/linters.md @@ -14,8 +14,7 @@ to configure plugins, warnings and errors which should be enabled or disabled. * [Understanding the different linters](#understanding-the-different-linters) * [Running the linters locally](#running-the-linters-locally) - * [Pylint configuration files](#pylint-configuration-files) - + * [Pylint configuration files](#pylint-configuration-files) ## Understanding the different linters From bbfd72662114415366e9af8619a058aa884c8c00 Mon Sep 17 00:00:00 2001 From: Gregory Popovitch Date: Mon, 23 Sep 2024 05:18:36 -0400 Subject: [PATCH 575/641] (#25346) [parallel-hashmap] Bump version to 1.4.0 * [parallel-hashmap] Bump version to 1.4.0 * Update sha256 and resolve conflicts. * Fix merge conflict --- recipes/parallel-hashmap/all/conandata.yml | 9 ++++++--- recipes/parallel-hashmap/config.yml | 2 ++ 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/recipes/parallel-hashmap/all/conandata.yml b/recipes/parallel-hashmap/all/conandata.yml index 1b5444cf042f5..fe8f8190da453 100644 --- a/recipes/parallel-hashmap/all/conandata.yml +++ b/recipes/parallel-hashmap/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.4.0": + url: "https://github.com/greg7mdp/parallel-hashmap/archive/refs/tags/v1.4.0.tar.gz" + sha256: "766e05d19c27d9c09e6f9a627868daf451f4fbdd1b617f1bb875fb9402bfb78b" "1.3.12": url: "https://github.com/greg7mdp/parallel-hashmap/archive/refs/tags/v1.3.12.tar.gz" sha256: "0cc203144321924cfbfcc401f42d8204c0dd24e2760c7a1c091baa16d9777c08" @@ -6,16 +9,16 @@ sources: url: "https://github.com/greg7mdp/parallel-hashmap/archive/refs/tags/v1.3.11.tar.gz" sha256: "0515a681bfb24207013786a7737e9d8561302e656689d8a65ea480bbabab460f" "1.3.8": - url: "https://github.com/greg7mdp/parallel-hashmap/archive/v1.3.8.tar.gz" + url: "https://github.com/greg7mdp/parallel-hashmap/archive/refs/tags/v1.3.8.tar.gz" sha256: "c4562ea360dc1dcaddd96a0494c753400364a52c7aa9750de49d8e6a222d28d3" "1.37": - url: "https://github.com/greg7mdp/parallel-hashmap/archive/1.37.tar.gz" + url: "https://github.com/greg7mdp/parallel-hashmap/archive/refs/tags/1.37.tar.gz" sha256: "2ac652be0552fcb53a1163c08c1f28f29f0756594fcc587eebb4d8b363153709" "1.36": url: "https://github.com/greg7mdp/parallel-hashmap/archive/refs/tags/1.36.tar.gz" sha256: "33acf44158a9661a9d630d13f9250a2aa27a770cb3771df77b1ba1a661c0b766" "1.35": - url: "https://github.com/greg7mdp/parallel-hashmap/archive/1.35.tar.gz" + url: "https://github.com/greg7mdp/parallel-hashmap/archive/refs/tags/1.35.tar.gz" sha256: "308ab6f92e4c6f49304562e352890cf7140de85ce723c097e74fbdec88e0e1ce" "1.34": url: "https://github.com/greg7mdp/parallel-hashmap/archive/refs/tags/1.34.tar.gz" diff --git a/recipes/parallel-hashmap/config.yml b/recipes/parallel-hashmap/config.yml index 3d6b3dc656593..d28a92f6fa7b6 100644 --- a/recipes/parallel-hashmap/config.yml +++ b/recipes/parallel-hashmap/config.yml @@ -1,4 +1,6 @@ versions: + "1.4.0": + folder: all "1.3.12": folder: all "1.3.11": From bcd63d5a9ff32018c69dcb3b073b7614e48a345c Mon Sep 17 00:00:00 2001 From: Gregory Popovitch Date: Mon, 23 Sep 2024 06:14:24 -0400 Subject: [PATCH 576/641] (#25347) [greg7mdp-gtl] Bump version to 1.2.0 --- recipes/greg7mdp-gtl/all/conandata.yml | 3 +++ recipes/greg7mdp-gtl/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/greg7mdp-gtl/all/conandata.yml b/recipes/greg7mdp-gtl/all/conandata.yml index c22694a6e750c..b401f2186d351 100644 --- a/recipes/greg7mdp-gtl/all/conandata.yml +++ b/recipes/greg7mdp-gtl/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.2.0": + url: "https://github.com/greg7mdp/gtl/archive/refs/tags/v1.2.0.tar.gz" + sha256: "1547ab78f62725c380f50972f7a49ffd3671ded17a3cb34305da5c953c6ba8e7" "1.1.8": url: "https://github.com/greg7mdp/gtl/archive/v1.1.8.tar.gz" sha256: "6bda4c07bd966a88740ee07e3df23863a93d7b5365e0eea7f13cde9eda961b86" diff --git a/recipes/greg7mdp-gtl/config.yml b/recipes/greg7mdp-gtl/config.yml index cd16082304dc7..ae3262a541e37 100644 --- a/recipes/greg7mdp-gtl/config.yml +++ b/recipes/greg7mdp-gtl/config.yml @@ -1,4 +1,6 @@ versions: + "1.2.0": + folder: all "1.1.8": folder: all "1.1.5": From 9119af32612c81e8805c7141474c1aa1dd14b257 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 23 Sep 2024 19:33:41 +0900 Subject: [PATCH 577/641] (#25350) proxy: add version 3.0.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * proxy: add version 3.0.0 * add end of line * add end of line --------- Co-authored-by: Abril Rincón Blanco --- recipes/proxy/all/conandata.yml | 3 +++ recipes/proxy/all/test_package/CMakeLists.txt | 3 +++ .../proxy/all/test_package/test_package.cpp | 24 +++++++++++++++++++ recipes/proxy/config.yml | 2 ++ 4 files changed, 32 insertions(+) diff --git a/recipes/proxy/all/conandata.yml b/recipes/proxy/all/conandata.yml index 3833bc86e0c87..cb63d289fe25b 100644 --- a/recipes/proxy/all/conandata.yml +++ b/recipes/proxy/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.0.0": + url: "https://github.com/microsoft/proxy/archive/refs/tags/3.0.0.tar.gz" + sha256: "7e073e217e5572bc4c17ed5893273c80ea34c87e1406c853beeb9ca9bdda9733" "2.4.0": url: "https://github.com/microsoft/proxy/archive/refs/tags/2.4.0.tar.gz" sha256: "7eed973655938d681a90dcc0c200e6cc1330ea8611a9c1a9e1b30439514443cb" diff --git a/recipes/proxy/all/test_package/CMakeLists.txt b/recipes/proxy/all/test_package/CMakeLists.txt index 7ca64396c7e13..6ed6216423b01 100644 --- a/recipes/proxy/all/test_package/CMakeLists.txt +++ b/recipes/proxy/all/test_package/CMakeLists.txt @@ -6,3 +6,6 @@ find_package(proxy REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) target_link_libraries(${PROJECT_NAME} PRIVATE msft_proxy) target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_20) +if(proxy_VERSION VERSION_GREATER_EQUAL "3.0.0") + target_compile_definitions(${PROJECT_NAME} PRIVATE PROXY_VERSION_3_LATER) +endif() diff --git a/recipes/proxy/all/test_package/test_package.cpp b/recipes/proxy/all/test_package/test_package.cpp index 09afe4defb583..4700fd6cd057e 100644 --- a/recipes/proxy/all/test_package/test_package.cpp +++ b/recipes/proxy/all/test_package/test_package.cpp @@ -26,6 +26,29 @@ #include #include +#ifdef PROXY_VERSION_3_LATER + +PRO_DEF_MEM_DISPATCH(MemAt, at); + +struct Dictionary : pro::facade_builder + ::add_convention + ::build {}; + +// This is a function, rather than a function template +void demo_print(pro::proxy dictionary) { + std::cout << dictionary->at(1) << "\n"; +} + +int main() { + static std::map container1{{1, "hello"}}; + auto container2 = std::make_shared>(); + container2->push_back("hello"); + container2->push_back("world"); + demo_print(&container1); // Prints: "hello" + demo_print(container2); // Prints: "world" +} + +#else namespace poly { @@ -45,3 +68,4 @@ int main() { demo_print(&container2); // print: world\n return 0; } +#endif diff --git a/recipes/proxy/config.yml b/recipes/proxy/config.yml index e219a60af9483..fd53bc176b690 100644 --- a/recipes/proxy/config.yml +++ b/recipes/proxy/config.yml @@ -1,4 +1,6 @@ versions: + "3.0.0": + folder: all "2.4.0": folder: all "2.3.2": From 3f7748b44249ab4c22720c5bd130dfbdc296fcbb Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Mon, 23 Sep 2024 13:52:19 +0300 Subject: [PATCH 578/641] (#25092) pango: add v1.54.0, enable libxft, freetype and fontconfig by default, add introspection support MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * pango: Fix some component requires * Bump fontconfig to fix dependency conflict in libxft * Add missing comma * pango: add v1.54.0 * pango: use version ranges for meson and pkgconf * pango: improve with_xft handling * pango: enable freetype and fontconfig by default * pango: add introspection support * pango: revert propagation of option values to cairo * Fix some issues in the recipe after inspecting meson.build --------- Co-authored-by: ErniGH * Try to solve Windows compilation issues * pango: add URLs to meson.build references in comments * Add missing freetype requirement on pango, this might be overlinking but ok --------- Co-authored-by: Jordan Williams Co-authored-by: Ernesto de Gracia Herranz Co-authored-by: Abril Rincón Blanco --- recipes/pango/all/conandata.yml | 3 + recipes/pango/all/conanfile.py | 129 +++++++++++++++++++++----------- recipes/pango/config.yml | 2 + 3 files changed, 90 insertions(+), 44 deletions(-) diff --git a/recipes/pango/all/conandata.yml b/recipes/pango/all/conandata.yml index c28a2cc9181bb..c6a58de488d3e 100644 --- a/recipes/pango/all/conandata.yml +++ b/recipes/pango/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.54.0": + url: "https://download.gnome.org/sources/pango/1.54/pango-1.54.0.tar.xz" + sha256: "8a9eed75021ee734d7fc0fdf3a65c3bba51dfefe4ae51a9b414a60c70b2d1ed8" "1.51.0": url: "https://download.gnome.org/sources/pango/1.51/pango-1.51.0.tar.xz" sha256: "74efc109ae6f903bbe6af77eaa2ac6094b8ee245a2e23f132a7a8f0862d1a9f5" diff --git a/recipes/pango/all/conanfile.py b/recipes/pango/all/conanfile.py index 927f6200bed62..b822fb21641da 100644 --- a/recipes/pango/all/conanfile.py +++ b/recipes/pango/all/conanfile.py @@ -3,6 +3,7 @@ from conan import ConanFile from conan.errors import ConanInvalidConfiguration +from conan.tools.apple import is_apple_os from conan.tools.env import VirtualBuildEnv from conan.tools.files import chdir, copy, get, rename, replace_in_file, rm, rmdir from conan.tools.gnu import PkgConfigDeps @@ -31,26 +32,32 @@ class PangoConan(ConanFile): "with_xft": [True, False], "with_freetype": [True, False], "with_fontconfig": [True, False], + "with_introspection": [True, False], } default_options = { "shared": False, "fPIC": True, "with_libthai": False, "with_cairo": True, - "with_xft": False, - "with_freetype": False, - "with_fontconfig": False, + "with_xft": True, + # TODO: Currently can't actually disable this in Macos at least, + # it always shows up as detected in meson + "with_freetype": True, + "with_fontconfig": True, + "with_introspection": False, } def config_options(self): if self.settings.os == "Windows": del self.options.fPIC + if self.settings.os not in ["FreeBSD", "Linux"]: + del self.options.with_xft - if self.settings.os in ["FreeBSD", "Linux"]: - self.options.with_xft = True - if not self.settings.os in ["Macos", "Windows"]: - self.options.with_freetype = True - self.options.with_fontconfig = True + # Optional in Windows/Macos but false by default + # https://gitlab.gnome.org/GNOME/pango/-/blob/1.54.0/meson.build#L242 + if self.settings.os in ["Macos", "Windows"]: + self.options.with_fontconfig = False + self.options.with_freetype = False def configure(self): if self.options.shared: @@ -64,16 +71,10 @@ def layout(self): def requirements(self): if self.options.with_freetype: self.requires("freetype/2.13.2") - if self.options.with_fontconfig: self.requires("fontconfig/2.15.0") - if self.options.with_xft: + if self.options.get_safe("with_xft"): self.requires("libxft/2.3.8") - if ( - self.options.with_xft - and self.options.with_fontconfig - and self.options.with_freetype - ): self.requires("xorg/system") # for xorg::xrender if self.options.with_cairo: # "pango/pangocairo.h" includes "cairo.h" @@ -89,19 +90,25 @@ def validate(self): and Version(self.settings.compiler.version) < "5" ): raise ConanInvalidConfiguration(f"{self.name} does not support GCC before version 5. Contributions are welcome.") - if self.options.with_xft and not self.settings.os in ["Linux", "FreeBSD"]: - raise ConanInvalidConfiguration("Xft can only be used on Linux and FreeBSD") - if self.options.with_xft and ( - not self.options.with_freetype or not self.options.with_fontconfig - ): - raise ConanInvalidConfiguration("Xft requires freetype and fontconfig") + if self.options.get_safe("with_xft"): + if not self.options.with_freetype or not self.options.with_fontconfig: + raise ConanInvalidConfiguration(f"-o=&:with_xft=True requires -o=&:with_freetype=True and -o=&:with_fontconfig=True") if self.dependencies["glib"].options.shared and is_msvc_static_runtime(self): raise ConanInvalidConfiguration( "Linking shared glib with the MSVC static runtime is not supported" ) + # Can't be turned off outside Macos/Windows + # https://gitlab.gnome.org/GNOME/pango/-/blob/1.54.0/meson.build#L240 + if self.settings.os not in ["Macos", "Windows"] and not self.options.with_fontconfig: + raise ConanInvalidConfiguration(f"{self.ref} requires -o=&:with_fontconfig=True for {self.settings.os}") + + if (self.options.with_fontconfig and self.options.with_freetype + and not self.dependencies["cairo"].options.with_fontconfig): + raise ConanInvalidConfiguration(f"{self.ref} with -o=&:with_fontconfig=True and -o=&:with_freetype=True requires -o=cairo/*:with_fontconfig=True") + if self.options.shared: if not self.dependencies["glib"].options.shared: raise ConanInvalidConfiguration( @@ -118,33 +125,43 @@ def validate(self): def build_requirements(self): self.tool_requires("glib/") - self.tool_requires("meson/1.4.0") + 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.1.0") + self.tool_requires("pkgconf/[>=2.2 <3]") + if self.options.with_introspection: + self.tool_requires("gobject-introspection/1.78.1") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): - virtual_build_env = VirtualBuildEnv(self) - virtual_build_env.generate() - pkg_config_deps = PkgConfigDeps(self) - pkg_config_deps.generate() + VirtualBuildEnv(self).generate() + + deps = PkgConfigDeps(self) + if self.options.with_introspection: + # gnome.generate_gir() in Meson looks for gobject-introspection-1.0.pc + deps.build_context_activated = ["gobject-introspection"] + deps.generate() + + enabled_disabled = lambda opt: "enabled" if opt else "disabled" tc = MesonToolchain(self) - tc.project_options["introspection"] = "disabled" - tc.project_options["libthai"] = "enabled" if self.options.with_libthai else "disabled" - tc.project_options["cairo"] = "enabled" if self.options.with_cairo else "disabled" - tc.project_options["xft"] = "enabled" if self.options.with_xft else "disabled" - tc.project_options["fontconfig"] = "enabled" if self.options.with_fontconfig else "disabled" - tc.project_options["freetype"] = "enabled" if self.options.with_freetype else "disabled" + tc.project_options["introspection"] = enabled_disabled(self.options.with_introspection) + tc.project_options["libthai"] = enabled_disabled(self.options.with_libthai) + tc.project_options["cairo"] = enabled_disabled(self.options.with_cairo) + tc.project_options["xft"] = enabled_disabled(self.options.get_safe("with_xft")) + tc.project_options["fontconfig"] = enabled_disabled(self.options.with_fontconfig) + tc.project_options["freetype"] = enabled_disabled(self.options.with_freetype) tc.generate() - def build(self): + def _patch_sources(self): meson_build = os.path.join(self.source_folder, "meson.build") replace_in_file(self, meson_build, "subdir('tests')", "") replace_in_file(self, meson_build, "subdir('tools')", "") replace_in_file(self, meson_build, "subdir('utils')", "") replace_in_file(self, meson_build, "subdir('examples')", "") + + def build(self): + self._patch_sources() meson = Meson(self) meson.configure() meson.build() @@ -164,6 +181,9 @@ def package(self): self._fix_library_names(os.path.join(self.package_folder, "lib")) rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) rm(self, "*.pdb", self.package_folder, recursive=True) + if self.options.with_introspection: + os.rename(os.path.join(self.package_folder, "share"), + os.path.join(self.package_folder, "res")) def package_info(self): self.cpp_info.components["pango_"].libs = ["pango-1.0"] @@ -178,41 +198,57 @@ def package_info(self): if self.options.with_fontconfig: self.cpp_info.components["pango_"].requires.append("fontconfig::fontconfig") - if self.options.with_xft: - self.cpp_info.components["pango_"].requires.append("libxft::libxft") - # Pango only uses xrender when Xft, fontconfig and freetype are enabled - if self.options.with_fontconfig and self.options.with_freetype: - self.cpp_info.components["pango_"].requires.append("xorg::xrender") + if self.options.get_safe("with_xft"): + # Pango only uses xrender when Xft, fontconfig and freetype are enabled, which if with_xft is true, + # means that the other options are true because they are checked in the validate() method + self.cpp_info.components["pango_"].requires.extend(["libxft::libxft", "xorg::xrender"]) if self.options.with_cairo: self.cpp_info.components["pango_"].requires.append("cairo::cairo_") self.cpp_info.components["pango_"].includedirs = [ os.path.join(self.package_folder, "include", "pango-1.0") ] - if self.options.with_freetype: + if self.options.with_introspection: + self.cpp_info.components["pango_"].resdirs = ["res"] + self.buildenv_info.append_path("GI_GIR_PATH", os.path.join(self.package_folder, "res", "gir-1.0")) + self.buildenv_info.append_path("GI_TYPELIB_PATH", os.path.join(self.package_folder, "lib", "girepository-1.0")) + self.env_info.GI_GIR_PATH.append(os.path.join(self.package_folder, "res", "gir-1.0")) + self.env_info.GI_TYPELIB_PATH.append(os.path.join(self.package_folder, "lib", "girepository-1.0")) + + # From meson.build: "To build pangoft2, we need HarfBuzz, FontConfig and FreeType" + if self.options.with_freetype and self.options.with_fontconfig: self.cpp_info.components["pangoft2"].libs = ["pangoft2-1.0"] self.cpp_info.components["pangoft2"].set_property("pkg_config_name", "pangoft2") self.cpp_info.components["pangoft2"].requires = [ "pango_", "freetype::freetype", + "fontconfig::fontconfig", ] self.cpp_info.components["pangoft2"].includedirs = [ os.path.join(self.package_folder, "include", "pango-1.0") ] + # https://gitlab.gnome.org/GNOME/pango/-/blob/1.54.0/meson.build#L320 + self.cpp_info.components["pango_"].requires.append("freetype::freetype") + if self.options.with_fontconfig: self.cpp_info.components["pangofc"].set_property("pkg_config_name", "pangofc") if self.options.with_freetype: - self.cpp_info.components["pangofc"].requires = ["pangoft2"] + # pangoft2 is always built if pango has fontconfig and freetype support + self.cpp_info.components["pangofc"].requires = ["freetype::freetype", "harfbuzz::harfbuzz", "pangoft2"] + elif self.options.with_freetype: + self.cpp_info.components["pango_"].requires.append("freetype::freetype") if self.settings.os != "Windows": self.cpp_info.components["pangoroot"].set_property("pkg_config_name", "pangoroot") if self.options.with_freetype: self.cpp_info.components["pangoroot"].requires = ["pangoft2"] - if self.options.with_xft: + if self.options.get_safe("with_xft"): self.cpp_info.components["pangoxft"].libs = ["pangoxft-1.0"] self.cpp_info.components["pangoxft"].set_property("pkg_config_name", "pangoxft") + # pangoft2 is always built if pango has fontconfig and freetype support, + # which is always true if pango has xft support enabled self.cpp_info.components["pangoxft"].requires = ["pango_", "pangoft2"] self.cpp_info.components["pangoxft"].includedirs = [ os.path.join(self.package_folder, "include", "pango-1.0") @@ -226,11 +262,16 @@ def package_info(self): if Version(self.version) >= "1.50.12": self.cpp_info.components["pangowin32"].system_libs.append("dwrite") + if is_apple_os(self): + # https://gitlab.gnome.org/GNOME/pango/-/blob/1.54.0/meson.build#L333-346 + self.cpp_info.components["pango_"].frameworks.extend(["CoreText", "CoreFoundation", "ApplicationServices"]) + if self.options.with_cairo: self.cpp_info.components["pangocairo"].libs = ["pangocairo-1.0"] self.cpp_info.components["pangocairo"].set_property("pkg_config_name", "pangocairo") - self.cpp_info.components["pangocairo"].requires = ["pango_"] - if self.options.with_freetype: + self.cpp_info.components["pangocairo"].requires = ["pango_", "cairo::cairo_"] + if self.options.with_freetype and self.options.with_fontconfig: + # https://gitlab.gnome.org/GNOME/pango/-/blob/1.54.0/meson.build#L506 self.cpp_info.components["pangocairo"].requires.append("pangoft2") if self.settings.os == "Windows": self.cpp_info.components["pangocairo"].requires.append("pangowin32") diff --git a/recipes/pango/config.yml b/recipes/pango/config.yml index 9086309110a6b..2d198a63c6b11 100644 --- a/recipes/pango/config.yml +++ b/recipes/pango/config.yml @@ -1,4 +1,6 @@ versions: + "1.54.0": + folder: all "1.51.0": folder: all "1.50.14": From 8f2d6cc6818843cc75fd2f9b864c8c5393cacf34 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 23 Sep 2024 20:33:34 +0900 Subject: [PATCH 579/641] (#25326) roaring: add version 4.1.7 * roaring: add version 4.1.3 * update 4.1.4 * update 4.1.5 * update 4.1.6 * update 4.1.7 --- recipes/roaring/all/conandata.yml | 3 +++ recipes/roaring/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/roaring/all/conandata.yml b/recipes/roaring/all/conandata.yml index cc860b4e0343e..b52c4006d46ad 100644 --- a/recipes/roaring/all/conandata.yml +++ b/recipes/roaring/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "4.1.7": + url: "https://github.com/RoaringBitmap/CRoaring/archive/refs/tags/v4.1.7.tar.gz" + sha256: "ea235796c074c3a8a8c3e5c84bb5f09619723b8e4913cf99cc349f626c193569" "4.1.2": url: "https://github.com/RoaringBitmap/CRoaring/archive/refs/tags/v4.1.2.tar.gz" sha256: "dd9e9d9a28dcf9ba1622fb4a3a7b4d7f5e12732bb35e99a7cb028b7512731a7b" diff --git a/recipes/roaring/config.yml b/recipes/roaring/config.yml index 6265b94ca9cbf..a6c581408b44b 100644 --- a/recipes/roaring/config.yml +++ b/recipes/roaring/config.yml @@ -1,4 +1,6 @@ versions: + "4.1.7": + folder: all "4.1.2": folder: all "4.1.1": From f1bc32a0ed777350e0076704ae8a207acd9765ab Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 23 Sep 2024 20:53:41 +0900 Subject: [PATCH 580/641] (#25328) libzip: add version 1.11.1 --- recipes/libzip/all/conandata.yml | 12 ++++++++++++ recipes/libzip/all/conanfile.py | 2 +- .../all/patches/1.11.1-0002-remove-rpath.patch | 13 +++++++++++++ recipes/libzip/config.yml | 2 ++ 4 files changed, 28 insertions(+), 1 deletion(-) create mode 100644 recipes/libzip/all/patches/1.11.1-0002-remove-rpath.patch diff --git a/recipes/libzip/all/conandata.yml b/recipes/libzip/all/conandata.yml index 0dcb786c62874..94b4bd310d368 100644 --- a/recipes/libzip/all/conandata.yml +++ b/recipes/libzip/all/conandata.yml @@ -1,4 +1,9 @@ sources: + "1.11.1": + url: + - "https://libzip.org/download/libzip-1.11.1.tar.gz" + - "https://github.com/nih-at/libzip/releases/download/v1.11.1/libzip-1.11.1.tar.gz" + sha256: "c0e6fa52a62ba11efd30262290dc6970947aef32e0cc294ee50e9005ceac092a" "1.10.1": url: - "https://libzip.org/download/libzip-1.10.1.tar.gz" @@ -20,6 +25,13 @@ sources: - "https://github.com/nih-at/libzip/releases/download/v1.7.3/libzip-1.7.3.tar.gz" sha256: "0e2276c550c5a310d4ebf3a2c3dfc43fb3b4602a072ff625842ad4f3238cb9cc" patches: + "1.11.1": + - patch_file: "patches/1.7.3-0001-cmake-install-bundle.patch" + patch_description: "fix installation path of utilities" + patch_type: "conan" + - patch_file: "patches/1.11.1-0002-remove-rpath.patch" + patch_description: "remove rpath feature" + patch_type: "conan" "1.10.1": - patch_file: "patches/1.7.3-0001-cmake-install-bundle.patch" patch_description: "fix installation path of utilities" diff --git a/recipes/libzip/all/conanfile.py b/recipes/libzip/all/conanfile.py index ef4f7c2c57579..f6403b2c2308d 100644 --- a/recipes/libzip/all/conanfile.py +++ b/recipes/libzip/all/conanfile.py @@ -11,9 +11,9 @@ class LibZipConan(ConanFile): name = "libzip" description = "A C library for reading, creating, and modifying zip archives" + license = "BSD-3-Clause" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/nih-at/libzip" - license = "BSD-3-Clause" topics = ("zip", "zip-archives", "zip-editing") package_type = "library" settings = "os", "arch", "compiler", "build_type" diff --git a/recipes/libzip/all/patches/1.11.1-0002-remove-rpath.patch b/recipes/libzip/all/patches/1.11.1-0002-remove-rpath.patch new file mode 100644 index 0000000000000..6ee1d37d42f37 --- /dev/null +++ b/recipes/libzip/all/patches/1.11.1-0002-remove-rpath.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 8d019b9..5cd6a81 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -290,7 +290,7 @@ if(WIN32) + endif(WIN32) + + # rpath handling: use rpath in installed binaries +-if(NOT CMAKE_SYSTEM_NAME MATCHES Linux) ++if(0) + set(CMAKE_INSTALL_RPATH ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}) + set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE) + endif() diff --git a/recipes/libzip/config.yml b/recipes/libzip/config.yml index 614d36cf38cf3..19f19cbdad07f 100644 --- a/recipes/libzip/config.yml +++ b/recipes/libzip/config.yml @@ -1,4 +1,6 @@ versions: + "1.11.1": + folder: all "1.10.1": folder: all "1.9.2": From f42016c4f25680ac0299acd466f25b8f01ac9131 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Mon, 23 Sep 2024 15:32:12 +0300 Subject: [PATCH 581/641] (#25094) wayland-protocols: add v1.36 * wayland-protocols: add v1.36 * add short_paths --------- Co-authored-by: Ernesto de Gracia Herranz --- recipes/wayland-protocols/all/conandata.yml | 3 +++ recipes/wayland-protocols/all/conanfile.py | 1 + recipes/wayland-protocols/config.yml | 2 ++ 3 files changed, 6 insertions(+) diff --git a/recipes/wayland-protocols/all/conandata.yml b/recipes/wayland-protocols/all/conandata.yml index f1d13be6a19d7..045450ce454eb 100644 --- a/recipes/wayland-protocols/all/conandata.yml +++ b/recipes/wayland-protocols/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.36": + url: "https://gitlab.freedesktop.org/wayland/wayland-protocols/-/releases/1.36/downloads/wayland-protocols-1.36.tar.xz" + sha256: "71fd4de05e79f9a1ca559fac30c1f8365fa10346422f9fe795f74d77b9ef7e92" "1.33": url: "https://gitlab.freedesktop.org/wayland/wayland-protocols/-/releases/1.33/downloads/wayland-protocols-1.33.tar.xz" sha256: "94f0c50b090d6e61a03f62048467b19abbe851be4e11ae7b36f65f8b98c3963a" diff --git a/recipes/wayland-protocols/all/conanfile.py b/recipes/wayland-protocols/all/conanfile.py index 9302d46b476a0..6a19784308d45 100644 --- a/recipes/wayland-protocols/all/conanfile.py +++ b/recipes/wayland-protocols/all/conanfile.py @@ -18,6 +18,7 @@ class WaylandProtocolsConan(ConanFile): homepage = "https://gitlab.freedesktop.org/wayland/wayland-protocols" license = "MIT" settings = "os", "arch", "compiler", "build_type" + short_paths = True def package_id(self): self.info.clear() diff --git a/recipes/wayland-protocols/config.yml b/recipes/wayland-protocols/config.yml index cc206c4509688..08a4d22e31f12 100644 --- a/recipes/wayland-protocols/config.yml +++ b/recipes/wayland-protocols/config.yml @@ -1,4 +1,6 @@ versions: + "1.36": + folder: all "1.33": folder: all "1.32": From 0e9c7612e30ac690800a3bf685ea1dfdba3e69d9 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 23 Sep 2024 21:52:46 +0900 Subject: [PATCH 582/641] (#25351) plutovg: add version 0.0.5 --- recipes/plutovg/all/conandata.yml | 3 +++ recipes/plutovg/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/plutovg/all/conandata.yml b/recipes/plutovg/all/conandata.yml index fa45839bc7646..fcd677e83a683 100644 --- a/recipes/plutovg/all/conandata.yml +++ b/recipes/plutovg/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.0.5": + url: "https://github.com/sammycage/plutovg/archive/refs/tags/v0.0.5.tar.gz" + sha256: "bcc4301f1591d8b4172b7ca086fb9a2b250727848f5f30af4c625f043512ce10" "0.0.4": url: "https://github.com/sammycage/plutovg/archive/refs/tags/v0.0.4.tar.gz" sha256: "6d7c6ad1ef3cf0085e0a375b770590a8cea79d4754b732e892635639c5546076" diff --git a/recipes/plutovg/config.yml b/recipes/plutovg/config.yml index e1a4f8d935403..ff0ca6ee5ae38 100644 --- a/recipes/plutovg/config.yml +++ b/recipes/plutovg/config.yml @@ -1,4 +1,6 @@ versions: + "0.0.5": + folder: all "0.0.4": folder: all "0.0.1": From 83502093ac26f6317d9e6090052ed3209470fb31 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Abril=20Rinc=C3=B3n=20Blanco?= Date: Mon, 23 Sep 2024 15:03:00 +0200 Subject: [PATCH 583/641] (#25362) aws-c-io: Bump s2n to 1.4.11 to match aws-sdk usage * Bump s2n to 1.4.11 to match aws-sdk usage * Use a version that is actually available --- recipes/aws-c-io/all/conanfile.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/recipes/aws-c-io/all/conanfile.py b/recipes/aws-c-io/all/conanfile.py index a0bc513a7bf85..905e4e5512632 100644 --- a/recipes/aws-c-io/all/conanfile.py +++ b/recipes/aws-c-io/all/conanfile.py @@ -39,11 +39,13 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): + # These versions come from aws-sdl-cpp prefetch_crt_dependency.sh file, + # dont bump them independently, check the file and update all the dependencies at once if self.version == "0.14.7": self.requires("aws-c-common/0.9.15", transitive_headers=True, transitive_libs=True) self.requires("aws-c-cal/0.6.14") if self.settings.os in ["Linux", "FreeBSD", "Android"]: - self.requires("s2n/1.4.1") + self.requires("s2n/1.4.16") # 1.4.11 not available, using next available version if self.version == "0.10.9": self.requires("aws-c-common/0.6.11", transitive_headers=True, transitive_libs=True) self.requires("aws-c-cal/0.5.12") From 359822da509706820ba08563482e8f22bd82c0c8 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 23 Sep 2024 22:34:49 +0900 Subject: [PATCH 584/641] (#25334) taocpp-pegtl: add new version 3.2.8 Co-authored-by: Ernesto de Gracia Herranz --- recipes/taocpp-pegtl/3.x.x/conandata.yml | 3 +++ recipes/taocpp-pegtl/3.x.x/conanfile.py | 8 ++++++-- recipes/taocpp-pegtl/config.yml | 2 ++ 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/recipes/taocpp-pegtl/3.x.x/conandata.yml b/recipes/taocpp-pegtl/3.x.x/conandata.yml index 95cbe48c372b0..686f1e476aeff 100644 --- a/recipes/taocpp-pegtl/3.x.x/conandata.yml +++ b/recipes/taocpp-pegtl/3.x.x/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.2.8": + url: "https://github.com/taocpp/PEGTL/archive/3.2.8.tar.gz" + sha256: "319e8238daebc3a163f60c88c78922a8012772076fdd64a8dafaf5619cd64773" "3.2.7": url: "https://github.com/taocpp/PEGTL/archive/3.2.7.tar.gz" sha256: "d6cd113d8bd14e98bcbe7b7f8fc1e1e33448dc359e8cd4cca30e034ec2f0642d" diff --git a/recipes/taocpp-pegtl/3.x.x/conanfile.py b/recipes/taocpp-pegtl/3.x.x/conanfile.py index 367752744a1f1..5ddd704b5c07c 100644 --- a/recipes/taocpp-pegtl/3.x.x/conanfile.py +++ b/recipes/taocpp-pegtl/3.x.x/conanfile.py @@ -11,13 +11,13 @@ class TaoCPPPEGTLConan(ConanFile): name = "taocpp-pegtl" + description = "Parsing Expression Grammar Template Library" license = "MIT" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/taocpp/pegtl" - description = "Parsing Expression Grammar Template Library" topics = ("peg", "header-only", "cpp", "parsing", "cpp17", "cpp11", "grammar") - no_copy_source = True + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" options = { "boost_filesystem": [True, False], @@ -25,6 +25,7 @@ class TaoCPPPEGTLConan(ConanFile): default_options = { "boost_filesystem": False, } + no_copy_source = True def requirements(self): if self.options.boost_filesystem: @@ -75,6 +76,9 @@ def package(self): copy(self, "*", dst=os.path.join(self.package_folder, "include"), src=os.path.join(self.source_folder, "include")) def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] + self.cpp_info.set_property("cmake_file_name", "pegtl") self.cpp_info.set_property("cmake_target_name", "taocpp::pegtl") # TODO: back to global scope in conan v2 once cmake_find_package_* generators removed diff --git a/recipes/taocpp-pegtl/config.yml b/recipes/taocpp-pegtl/config.yml index 768412ab23d94..10a10cf7e0ee7 100644 --- a/recipes/taocpp-pegtl/config.yml +++ b/recipes/taocpp-pegtl/config.yml @@ -1,4 +1,6 @@ versions: + "3.2.8": + folder: "3.x.x" "3.2.7": folder: "3.x.x" "3.2.6": From 99aa5da6248788c3ef35f0ff193824b168e52817 Mon Sep 17 00:00:00 2001 From: Julien Bernard Date: Tue, 24 Sep 2024 00:32:53 +1000 Subject: [PATCH 585/641] (#25290) dlpack: add 1.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Abril Rincón Blanco --- recipes/dlpack/all/conandata.yml | 3 +++ recipes/dlpack/all/test_package/test_package.cpp | 6 +++++- recipes/dlpack/config.yml | 2 ++ 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/recipes/dlpack/all/conandata.yml b/recipes/dlpack/all/conandata.yml index 1ee4d67252887..f541482d88868 100644 --- a/recipes/dlpack/all/conandata.yml +++ b/recipes/dlpack/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.0": + url: "https://github.com/dmlc/dlpack/archive/v1.0.tar.gz" + sha256: "f8cfdcb634ff3cf0e3d9a3426e019e1c6469780a3b0020c9bc4ecc09cf9abcb1" "0.8": url: "https://github.com/dmlc/dlpack/archive/v0.8.tar.gz" sha256: "cf965c26a5430ba4cc53d61963f288edddcd77443aa4c85ce722aaf1e2f29513" diff --git a/recipes/dlpack/all/test_package/test_package.cpp b/recipes/dlpack/all/test_package/test_package.cpp index 6304024f2e652..9c286d918cb1b 100644 --- a/recipes/dlpack/all/test_package/test_package.cpp +++ b/recipes/dlpack/all/test_package/test_package.cpp @@ -4,7 +4,11 @@ int main() { -#if DLPACK_VERSION < 60 +#ifdef DLPACK_MAJOR_VERSION // Since 1.0 + int major = DLPACK_MAJOR_VERSION; + int minor = DLPACK_MINOR_VERSION; + int patch = 0; +#elif DLPACK_VERSION < 60 int major = (DLPACK_VERSION >> 6) & 7; int minor = (DLPACK_VERSION >> 3) & 7; int patch = DLPACK_VERSION & 7; diff --git a/recipes/dlpack/config.yml b/recipes/dlpack/config.yml index a1b8905afe4b1..001dc29f3eaea 100644 --- a/recipes/dlpack/config.yml +++ b/recipes/dlpack/config.yml @@ -1,4 +1,6 @@ versions: + "1.0": + folder: "all" "0.8": folder: "all" "0.6": From c035f62b048b166916cd29ed09857f624e500b01 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 23 Sep 2024 23:52:10 +0900 Subject: [PATCH 586/641] (#25332) json-c: add new version 0.18 * json-c: add version 0.18 * link math lib --- recipes/json-c/all/conandata.yml | 3 +++ recipes/json-c/all/conanfile.py | 18 +++++++++++------- recipes/json-c/config.yml | 2 ++ 3 files changed, 16 insertions(+), 7 deletions(-) diff --git a/recipes/json-c/all/conandata.yml b/recipes/json-c/all/conandata.yml index a27364e09b956..71904777ad4e0 100644 --- a/recipes/json-c/all/conandata.yml +++ b/recipes/json-c/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.18": + url: "https://github.com/json-c/json-c/archive/json-c-0.18-20240915.tar.gz" + sha256: "3112c1f25d39eca661fe3fc663431e130cc6e2f900c081738317fba49d29e298" "0.17": url: "https://github.com/json-c/json-c/archive/json-c-0.17-20230812.tar.gz" sha256: "024d302a3aadcbf9f78735320a6d5aedf8b77876c8ac8bbb95081ca55054c7eb" diff --git a/recipes/json-c/all/conanfile.py b/recipes/json-c/all/conanfile.py index 222938814d365..20358585918dc 100644 --- a/recipes/json-c/all/conanfile.py +++ b/recipes/json-c/all/conanfile.py @@ -1,6 +1,6 @@ from conan import ConanFile from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout -from conan.tools.files import collect_libs, copy, get, rmdir +from conan.tools.files import copy, get, rmdir from conan.tools.scm import Version import os @@ -9,13 +9,13 @@ class JSONCConan(ConanFile): name = "json-c" - package_type = "library" - description = "JSON-C - A JSON implementation in C" - topics = ("json", "encoding", "decoding", "manipulation") + description = "A JSON implementation in C" + license = "MIT" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/json-c/json-c" - license = "MIT" + topics = ("json", "encoding", "decoding", "manipulation") + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -64,8 +64,12 @@ def package(self): rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) def package_info(self): + self.cpp_info.libs = ["json-c"] + self.cpp_info.set_property("cmake_file_name", "json-c") self.cpp_info.set_property("cmake_target_name", "json-c::json-c") self.cpp_info.set_property("pkg_config_name", "json-c") - self.cpp_info.libs = collect_libs(self) - self.cpp_info.includedirs = ["include", "include/json-c"] + self.cpp_info.includedirs = ["include", os.path.join("include", "json-c")] + + if Version(self.version) >= "0.17" and self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.system_libs.extend(["m",]) diff --git a/recipes/json-c/config.yml b/recipes/json-c/config.yml index 301a8d09f5b3a..0a8630e20d06f 100644 --- a/recipes/json-c/config.yml +++ b/recipes/json-c/config.yml @@ -1,4 +1,6 @@ versions: + "0.18": + folder: all "0.17": folder: all "0.16": From b9ea35f616dda2106b6f065d46c53717a83ce833 Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Mon, 23 Sep 2024 16:21:50 +0100 Subject: [PATCH 587/641] (#25363) [bot] Update authorized users list (2024-09-23) Co-authored-by: conan-center-bot --- .c3i/authorized_users.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.c3i/authorized_users.yml b/.c3i/authorized_users.yml index ef4979e4f65d5..01c6e38a8a648 100644 --- a/.c3i/authorized_users.yml +++ b/.c3i/authorized_users.yml @@ -1426,3 +1426,4 @@ authorized_users: - raplonu - mattkretz - DannyLihard +- stevenwdv From 64b65c3a9e4a72a71ed83ce57bda97615fec6757 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 24 Sep 2024 00:51:30 +0900 Subject: [PATCH 588/641] (#25141) imgui: add version 1.91.2 * imgui: add version 1.91.1 * update 1.19.2 --- recipes/imgui/all/conandata.yml | 6 ++++++ recipes/imgui/config.yml | 4 ++++ 2 files changed, 10 insertions(+) diff --git a/recipes/imgui/all/conandata.yml b/recipes/imgui/all/conandata.yml index 121bde17f2f83..22bc07060967a 100644 --- a/recipes/imgui/all/conandata.yml +++ b/recipes/imgui/all/conandata.yml @@ -1,4 +1,10 @@ sources: + "1.91.2": + url: "https://github.com/ocornut/imgui/archive/v1.91.2.tar.gz" + sha256: "a3c4fd857a0a48f6edad3e25de68fa1e96d2437f1665039714d1de9ad579b8d0" + "1.91.2-docking": + url: "https://github.com/ocornut/imgui/archive/v1.91.2-docking.tar.gz" + sha256: "bd6e9e6dc0451060152cea2a610256969c77a360659f4bd3836d6d4c9267229b" "1.91.0": url: "https://github.com/ocornut/imgui/archive/v1.91.0.tar.gz" sha256: "6e62c87252e6b3725ba478a1c04dc604aa0aaeec78fedcf4011f1e52548f4cc9" diff --git a/recipes/imgui/config.yml b/recipes/imgui/config.yml index 25bef8f3ff274..518541f0d93c4 100644 --- a/recipes/imgui/config.yml +++ b/recipes/imgui/config.yml @@ -1,4 +1,8 @@ versions: + "1.91.2": + folder: all + "1.91.2-docking": + folder: all "1.91.0": folder: all "1.91.0-docking": From aed0fd77e3b358ed46cbe933f9ad98e5f3a46ac5 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 24 Sep 2024 01:34:44 +0900 Subject: [PATCH 589/641] (#25333) libarchive: add version 3.7.6 * libarchive: add version 3.7.5 * update 3.7.6 --- recipes/libarchive/all/conandata.yml | 16 ++++ recipes/libarchive/all/conanfile.py | 4 +- .../all/patches/0001-3.7.6-zlib-winapi.patch | 35 ++++++++ .../all/patches/0003-3.7.6-cmake.patch | 84 +++++++++++++++++++ .../0005-3.7.6-try-compile-cmakedeps.patch | 25 ++++++ .../patches/0006-3.7.6-fix-msvc-build.patch | 45 ++++++++++ recipes/libarchive/config.yml | 2 + 7 files changed, 209 insertions(+), 2 deletions(-) create mode 100644 recipes/libarchive/all/patches/0001-3.7.6-zlib-winapi.patch create mode 100644 recipes/libarchive/all/patches/0003-3.7.6-cmake.patch create mode 100644 recipes/libarchive/all/patches/0005-3.7.6-try-compile-cmakedeps.patch create mode 100644 recipes/libarchive/all/patches/0006-3.7.6-fix-msvc-build.patch diff --git a/recipes/libarchive/all/conandata.yml b/recipes/libarchive/all/conandata.yml index 452c9bd049c22..92c616cca0582 100644 --- a/recipes/libarchive/all/conandata.yml +++ b/recipes/libarchive/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.7.6": + url: "https://github.com/libarchive/libarchive/releases/download/v3.7.6/libarchive-3.7.6.tar.xz" + sha256: "0a2efdcb185da2eb1e7cd8421434cb9a6119f72417a13335cca378d476fd3ba0" "3.7.4": url: "https://github.com/libarchive/libarchive/releases/download/v3.7.4/libarchive-3.7.4.tar.xz" sha256: "f887755c434a736a609cbd28d87ddbfbe9d6a3bb5b703c22c02f6af80a802735" @@ -12,6 +15,19 @@ sources: url: "https://github.com/libarchive/libarchive/releases/download/v3.7.1/libarchive-3.7.1.tar.xz" sha256: "b17403ce670ff18d8e06fea05a9ea9accf70678c88f1b9392a2e29b51127895f" patches: + "3.7.6": + - patch_file: "patches/0001-3.7.6-zlib-winapi.patch" + patch_description: "Remove broken ZLIB WINAPI check" + patch_type: "portability" + - patch_file: "patches/0003-3.7.6-cmake.patch" + patch_description: "Make CMake build-system compatible with Conan" + patch_type: "conan" + - patch_file: "patches/0005-3.7.6-try-compile-cmakedeps.patch" + patch_description: "Patch try_compile check to work with imported CMake targets from Conan packages" + patch_type: "conan" + - patch_file: "patches/0006-3.7.6-fix-msvc-build.patch" + patch_description: "Fix MSVC build" + patch_type: "conan" "3.7.4": - patch_file: "patches/0001-3.7.4-zlib-winapi.patch" patch_description: "Remove broken ZLIB WINAPI check" diff --git a/recipes/libarchive/all/conanfile.py b/recipes/libarchive/all/conanfile.py index ee0e26469819f..ba7095f6abb17 100644 --- a/recipes/libarchive/all/conanfile.py +++ b/recipes/libarchive/all/conanfile.py @@ -12,10 +12,10 @@ class LibarchiveConan(ConanFile): name = "libarchive" description = "Multi-format archive and compression library" - topics = "archive", "compression", "tar", "data-compressor", "file-compression" + license = "BSD-2-Clause" url = "https://github.com/conan-io/conan-center-index" homepage = "https://libarchive.org" - license = "BSD-2-Clause" + topics = ("archive", "compression", "tar", "data-compressor", "file-compression") package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { diff --git a/recipes/libarchive/all/patches/0001-3.7.6-zlib-winapi.patch b/recipes/libarchive/all/patches/0001-3.7.6-zlib-winapi.patch new file mode 100644 index 0000000000000..c49a9aa912576 --- /dev/null +++ b/recipes/libarchive/all/patches/0001-3.7.6-zlib-winapi.patch @@ -0,0 +1,35 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index e23338e..582258c 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -475,14 +475,14 @@ IF(ZLIB_FOUND) + # + # Test if ZLIB_WINAPI macro is needed to use. + # +- TRY_MACRO_FOR_LIBRARY( +- "${ZLIB_INCLUDE_DIR}" "${ZLIB_LIBRARIES}" +- RUNS +- "#include \nint main() {uLong f = zlibCompileFlags(); return (f&(1U<<10))?0:-1; }" +- ZLIB_WINAPI) +- IF(ZLIB_WINAPI) ++ # TRY_MACRO_FOR_LIBRARY( ++ # "${ZLIB_INCLUDE_DIR}" "${ZLIB_LIBRARIES}" ++ # RUNS ++ # "#include \nint main() {uLong f = zlibCompileFlags(); return (f&(1U<<10))?0:-1; }" ++ # ZLIB_WINAPI) ++ IF(TRUE) + ADD_DEFINITIONS(-DZLIB_WINAPI) +- ELSE(ZLIB_WINAPI) ++ ELSE() + # Test if a macro is needed for the library. + TRY_MACRO_FOR_LIBRARY( + "${ZLIB_INCLUDE_DIR}" "${ZLIB_LIBRARIES}" +@@ -492,7 +492,7 @@ IF(ZLIB_FOUND) + IF(ZLIB_DLL) + ADD_DEFINITIONS(-DZLIB_DLL) + ENDIF(ZLIB_DLL) +- ENDIF(ZLIB_WINAPI) ++ ENDIF() + ENDIF(WIN32 AND NOT CYGWIN) + ENDIF(ZLIB_FOUND) + MARK_AS_ADVANCED(CLEAR ZLIB_INCLUDE_DIR) diff --git a/recipes/libarchive/all/patches/0003-3.7.6-cmake.patch b/recipes/libarchive/all/patches/0003-3.7.6-cmake.patch new file mode 100644 index 0000000000000..98e97aac6cf07 --- /dev/null +++ b/recipes/libarchive/all/patches/0003-3.7.6-cmake.patch @@ -0,0 +1,84 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 582258c..b59a7e2 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -16,7 +16,7 @@ endif() + # + PROJECT(libarchive C) + # +-SET(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/build/cmake") ++LIST(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/build/cmake") + if(NOT CMAKE_RUNTIME_OUTPUT_DIRECTORY) + set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${libarchive_BINARY_DIR}/bin) + endif() +@@ -469,7 +469,7 @@ ENDIF() + IF(ZLIB_FOUND) + SET(HAVE_LIBZ 1) + SET(HAVE_ZLIB_H 1) + INCLUDE_DIRECTORIES(${ZLIB_INCLUDE_DIR}) +- LIST(APPEND ADDITIONAL_LIBS ${ZLIB_LIBRARIES}) ++ LIST(APPEND ADDITIONAL_LIBS ZLIB::ZLIB) + IF(WIN32 AND NOT CYGWIN) + # +@@ -560,7 +560,7 @@ ELSE(LIBLZMA_FOUND) + # LZMA not found and will not be used. + SET(HAVE_LZMA_STREAM_ENCODER_MT 0) + ENDIF(LIBLZMA_FOUND) +-MARK_AS_ADVANCED(CLEAR LIBLZMA_INCLUDE_DIR) ++MARK_AS_ADVANCED(CLEAR LIBLZMA_INCLUDE_DIRS) + MARK_AS_ADVANCED(CLEAR LIBLZMA_LIBRARY) + + # +@@ -631,7 +631,7 @@ IF(ENABLE_LZ4) + ENDIF (LZ4_INCLUDE_DIR) + + FIND_PATH(LZ4_INCLUDE_DIR lz4.h) +- FIND_LIBRARY(LZ4_LIBRARY NAMES lz4 liblz4) ++ FIND_LIBRARY(LZ4_LIBRARY NAMES lz4 liblz4 lz4_static liblz4_static) + INCLUDE(FindPackageHandleStandardArgs) + FIND_PACKAGE_HANDLE_STANDARD_ARGS(LZ4 DEFAULT_MSG LZ4_LIBRARY LZ4_INCLUDE_DIR) + ELSE(ENABLE_LZ4) +@@ -854,7 +854,7 @@ ENDIF(ENABLE_NETTLE) + # Find OpenSSL + # (Except on Mac, where OpenSSL is deprecated.) + # +-IF(ENABLE_OPENSSL AND NOT CMAKE_SYSTEM_NAME MATCHES "Darwin") ++IF(ENABLE_OPENSSL) + FIND_PACKAGE(OpenSSL) + IF(OPENSSL_FOUND) + SET(HAVE_LIBCRYPTO 1) +diff --git a/libarchive/CMakeLists.txt b/libarchive/CMakeLists.txt +index dd0b280..2a31de6 100644 +--- a/libarchive/CMakeLists.txt ++++ b/libarchive/CMakeLists.txt +@@ -255,6 +255,7 @@ IF(BUILD_SHARED_LIBS) + ENDIF(BUILD_SHARED_LIBS) + + # archive_static is a static library ++IF(NOT BUILD_SHARED_LIBS) + ADD_LIBRARY(archive_static STATIC ${libarchive_SOURCES} ${include_HEADERS}) + TARGET_INCLUDE_DIRECTORIES(archive_static PUBLIC .) + TARGET_LINK_LIBRARIES(archive_static ${ADDITIONAL_LIBS}) +@@ -264,7 +265,7 @@ SET_TARGET_PROPERTIES(archive_static PROPERTIES COMPILE_DEFINITIONS + IF(NOT WIN32 OR CYGWIN OR NOT BUILD_SHARED_LIBS) + SET_TARGET_PROPERTIES(archive_static PROPERTIES OUTPUT_NAME archive) + ENDIF(NOT WIN32 OR CYGWIN OR NOT BUILD_SHARED_LIBS) +- ++ENDIF() + IF(ENABLE_INSTALL) + # How to install the libraries + IF(BUILD_SHARED_LIBS) +@@ -272,11 +273,12 @@ IF(ENABLE_INSTALL) + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib + ARCHIVE DESTINATION lib) +- ENDIF(BUILD_SHARED_LIBS) ++ ELSE() + INSTALL(TARGETS archive_static + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib + ARCHIVE DESTINATION lib) ++ ENDIF() + INSTALL_MAN(${libarchive_MANS}) + INSTALL(FILES ${include_HEADERS} DESTINATION include) + ENDIF() diff --git a/recipes/libarchive/all/patches/0005-3.7.6-try-compile-cmakedeps.patch b/recipes/libarchive/all/patches/0005-3.7.6-try-compile-cmakedeps.patch new file mode 100644 index 0000000000000..7485f8082d921 --- /dev/null +++ b/recipes/libarchive/all/patches/0005-3.7.6-try-compile-cmakedeps.patch @@ -0,0 +1,25 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index b59a7e2..dfa6af0 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -887,8 +887,10 @@ ENDIF(NOT OPENSSL_FOUND) + # required libraries. + # + MACRO(CHECK_CRYPTO ALGORITHMS IMPLEMENTATION) ++ include(CMakePushCheckState) + FOREACH(ALGORITHM ${ALGORITHMS}) + IF(NOT ARCHIVE_CRYPTO_${ALGORITHM}) ++ cmake_push_check_state() + STRING(TOLOWER "${ALGORITHM}" lower_algorithm) + STRING(TOUPPER "${ALGORITHM}" algorithm) + IF ("${IMPLEMENTATION}" MATCHES "^OPENSSL$" AND NOT OPENSSL_FOUND) +@@ -921,8 +923,7 @@ MACRO(CHECK_CRYPTO ALGORITHMS IMPLEMENTATION) + SET(TRY_CRYPTO_REQUIRED_LIBS + "-DLINK_LIBRARIES:STRING=${NETTLE_LIBRARY}") + ELSEIF("${IMPLEMENTATION}" MATCHES "^LIBMD$" AND LIBMD_FOUND) +- SET(TRY_CRYPTO_REQUIRED_LIBS +- "-DLINK_LIBRARIES:STRING=${LIBMD_LIBRARY}") ++ SET(CMAKE_REQUIRED_LIBRARIES ${OPENSSL_LIBRARIES}) + ENDIF("${IMPLEMENTATION}" MATCHES "^OPENSSL$" AND OPENSSL_FOUND) + + CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/build/cmake/config.h.in diff --git a/recipes/libarchive/all/patches/0006-3.7.6-fix-msvc-build.patch b/recipes/libarchive/all/patches/0006-3.7.6-fix-msvc-build.patch new file mode 100644 index 0000000000000..9652721d7fe5e --- /dev/null +++ b/recipes/libarchive/all/patches/0006-3.7.6-fix-msvc-build.patch @@ -0,0 +1,45 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index dfa6af0..b2cac97 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1491,7 +1491,7 @@ CHECK_FUNCTION_EXISTS_GLIBC(localtime_r HAVE_LOCALTIME_R) + CHECK_FUNCTION_EXISTS_GLIBC(lstat HAVE_LSTAT) + CHECK_FUNCTION_EXISTS_GLIBC(lutimes HAVE_LUTIMES) + CHECK_FUNCTION_EXISTS_GLIBC(mbrtowc HAVE_MBRTOWC) +-CHECK_FUNCTION_EXISTS_GLIBC(memmove HAVE_MEMMOVE) ++SET(HAVE_MEMMOVE 1) + CHECK_FUNCTION_EXISTS_GLIBC(mkdir HAVE_MKDIR) + CHECK_FUNCTION_EXISTS_GLIBC(mkfifo HAVE_MKFIFO) + CHECK_FUNCTION_EXISTS_GLIBC(mknod HAVE_MKNOD) +@@ -1525,11 +1525,11 @@ CHECK_FUNCTION_EXISTS_GLIBC(utime HAVE_UTIME) + CHECK_FUNCTION_EXISTS_GLIBC(utimes HAVE_UTIMES) + CHECK_FUNCTION_EXISTS_GLIBC(utimensat HAVE_UTIMENSAT) + CHECK_FUNCTION_EXISTS_GLIBC(vfork HAVE_VFORK) +-CHECK_FUNCTION_EXISTS_GLIBC(wcrtomb HAVE_WCRTOMB) +-CHECK_FUNCTION_EXISTS_GLIBC(wcscmp HAVE_WCSCMP) +-CHECK_FUNCTION_EXISTS_GLIBC(wcscpy HAVE_WCSCPY) +-CHECK_FUNCTION_EXISTS_GLIBC(wcslen HAVE_WCSLEN) +-CHECK_FUNCTION_EXISTS_GLIBC(wctomb HAVE_WCTOMB) ++SET(HAVE_WCRTOMB 1) ++SET(HAVE_WCSCMP 1) ++SET(HAVE_WCSCPY 1) ++SET(HAVE_WCSLEN 1) ++SET(HAVE_WCTOMB 1) + CHECK_FUNCTION_EXISTS_GLIBC(_fseeki64 HAVE__FSEEKI64) + CHECK_FUNCTION_EXISTS_GLIBC(_get_timezone HAVE__GET_TIMEZONE) + CHECK_SYMBOL_EXISTS(ctime_s "time.h" HAVE_CTIME_S) +@@ -1542,10 +1542,10 @@ CHECK_FUNCTION_EXISTS(cygwin_conv_path HAVE_CYGWIN_CONV_PATH) + CHECK_FUNCTION_EXISTS(fseeko HAVE_FSEEKO) + CHECK_FUNCTION_EXISTS(strerror_r HAVE_STRERROR_R) + CHECK_FUNCTION_EXISTS(strftime HAVE_STRFTIME) +-CHECK_FUNCTION_EXISTS(vprintf HAVE_VPRINTF) +-CHECK_FUNCTION_EXISTS(wmemcmp HAVE_WMEMCMP) +-CHECK_FUNCTION_EXISTS(wmemcpy HAVE_WMEMCPY) +-CHECK_FUNCTION_EXISTS(wmemmove HAVE_WMEMMOVE) ++SET(HAVE_VPRINTF 1) ++SET(HAVE_WMEMCMP 1) ++SET(HAVE_WMEMCPY 1) ++SET(HAVE_WMEMMOVE 1) + + CMAKE_POP_CHECK_STATE() # Restore the state of the variables + diff --git a/recipes/libarchive/config.yml b/recipes/libarchive/config.yml index 444f54652ac92..c5d1d94c12022 100644 --- a/recipes/libarchive/config.yml +++ b/recipes/libarchive/config.yml @@ -1,4 +1,6 @@ versions: + "3.7.6": + folder: all "3.7.4": folder: all "3.7.3": From 67e5b6ddf2916185aa84998151156c153d2abb91 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 24 Sep 2024 02:13:57 +0900 Subject: [PATCH 590/641] (#25356) quill: add version 7.2.1 * quill: add version 7.2.0 * update 7.2.1 --- recipes/quill/all/conandata.yml | 3 +++ recipes/quill/all/conanfile.py | 1 - recipes/quill/config.yml | 2 ++ 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/recipes/quill/all/conandata.yml b/recipes/quill/all/conandata.yml index 39843805b4dcf..7c3d0c8d20dc2 100644 --- a/recipes/quill/all/conandata.yml +++ b/recipes/quill/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "7.2.1": + url: "https://github.com/odygrd/quill/releases/download/v7.2.1/quill-7.2.1.zip" + sha256: "5ca27bbb8866489a9c2fb1da628d9ddfed423cbba1dd1d07c793d7a8237cfaab" "7.1.0": url: "https://github.com/odygrd/quill/releases/download/v7.1.0/quill-7.1.0.zip" sha256: "3edd1e142ae1a5b6d548c8af5bcf4339bf5889e49ade0806a4269c9587b954ae" diff --git a/recipes/quill/all/conanfile.py b/recipes/quill/all/conanfile.py index bb47bc324e691..8acadcdf78af0 100644 --- a/recipes/quill/all/conanfile.py +++ b/recipes/quill/all/conanfile.py @@ -60,7 +60,6 @@ def validate(self): def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) - def _patch_sources(self): # remove bundled fmt rmdir(self, os.path.join(self.source_folder, "quill", "quill", "include", "quill", "bundled", "fmt")) diff --git a/recipes/quill/config.yml b/recipes/quill/config.yml index 7abb554e88e04..1ad4d3f70172f 100644 --- a/recipes/quill/config.yml +++ b/recipes/quill/config.yml @@ -1,4 +1,6 @@ versions: + "7.2.1": + folder: "all" "7.1.0": folder: "all" "6.1.0": From 5aab93099a8cfbfd125a641591a250bb74be1c22 Mon Sep 17 00:00:00 2001 From: Oleksandr Koval <37271580+OleksandrKvl@users.noreply.github.com> Date: Mon, 23 Sep 2024 20:33:32 +0300 Subject: [PATCH 591/641] (#25359) sbepp: add version 1.4.1 --- 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 e2b77352008d8..25b25948fc236 100644 --- a/recipes/sbepp/all/conandata.yml +++ b/recipes/sbepp/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.4.1": + url: "https://github.com/OleksandrKvl/sbepp/archive/refs/tags/1.4.1.tar.gz" + sha256: "1e5913372e3f4871a7aa3d8ac94759cdcc9df61a3865ce99944f74cc0672795d" "1.4.0": url: "https://github.com/OleksandrKvl/sbepp/archive/refs/tags/1.4.0.tar.gz" sha256: "64112ed22d6c82debc70a4c097f3fcd05a4bd280dca7e2013edbd6bebfd1da56" diff --git a/recipes/sbepp/config.yml b/recipes/sbepp/config.yml index 60f8f892f1bc0..b032e7787a130 100644 --- a/recipes/sbepp/config.yml +++ b/recipes/sbepp/config.yml @@ -1,4 +1,6 @@ versions: + "1.4.1": + folder: all "1.4.0": folder: all "1.3.0": From 88b62a651a331d9d0d3eed3b91eb78262d884809 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Mon, 23 Sep 2024 21:03:12 +0300 Subject: [PATCH 592/641] (#20270) libsndfile: fix missing glibc symbols on newer systems --- recipes/libsndfile/all/conanfile.py | 4 +++- recipes/libsndfile/all/test_package/CMakeLists.txt | 9 ++++++--- recipes/libsndfile/all/test_package/conanfile.py | 4 +++- recipes/libsndfile/all/test_package/test_package.c | 14 ++++++++++++++ .../libsndfile/all/test_package/test_package.cpp | 6 +++--- .../libsndfile/all/test_v1_package/conanfile.py | 4 +++- 6 files changed, 32 insertions(+), 9 deletions(-) create mode 100644 recipes/libsndfile/all/test_package/test_package.c diff --git a/recipes/libsndfile/all/conanfile.py b/recipes/libsndfile/all/conanfile.py index 6ce8582b64685..0065582b94835 100644 --- a/recipes/libsndfile/all/conanfile.py +++ b/recipes/libsndfile/all/conanfile.py @@ -52,6 +52,8 @@ def config_options(self): def configure(self): if self.options.shared: self.options.rm_safe("fPIC") + self.settings.rm_safe("compiler.cppstd") + self.settings.rm_safe("compiler.libcxx") def layout(self): cmake_layout(self, src_folder="src") @@ -64,7 +66,7 @@ def requirements(self): self.requires("vorbis/1.3.7") self.requires("flac/1.4.2") self.requires("opus/1.4") - if self.options.get_safe("with_mpeg", False): + if self.options.get_safe("with_mpeg"): self.requires("mpg123/1.31.2") self.requires("libmp3lame/3.100") diff --git a/recipes/libsndfile/all/test_package/CMakeLists.txt b/recipes/libsndfile/all/test_package/CMakeLists.txt index 3fb4ef12f8bc8..c6050edfee50e 100644 --- a/recipes/libsndfile/all/test_package/CMakeLists.txt +++ b/recipes/libsndfile/all/test_package/CMakeLists.txt @@ -1,7 +1,10 @@ cmake_minimum_required(VERSION 3.1) -project(test_package LANGUAGES CXX) +project(test_package LANGUAGES C CXX) find_package(SndFile REQUIRED CONFIG) -add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE SndFile::sndfile) +add_executable(${PROJECT_NAME}_c test_package.c) +target_link_libraries(${PROJECT_NAME}_c PRIVATE SndFile::sndfile) + +add_executable(${PROJECT_NAME}_cxx test_package.cpp) +target_link_libraries(${PROJECT_NAME}_cxx PRIVATE SndFile::sndfile) diff --git a/recipes/libsndfile/all/test_package/conanfile.py b/recipes/libsndfile/all/test_package/conanfile.py index 0a6bc68712d90..cc3db8ee5d1af 100644 --- a/recipes/libsndfile/all/test_package/conanfile.py +++ b/recipes/libsndfile/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_c") + self.run(bin_path, env="conanrun") + bin_path = os.path.join(self.cpp.build.bindir, "test_package_cxx") self.run(bin_path, env="conanrun") diff --git a/recipes/libsndfile/all/test_package/test_package.c b/recipes/libsndfile/all/test_package/test_package.c new file mode 100644 index 0000000000000..ef4f2a16fbf4e --- /dev/null +++ b/recipes/libsndfile/all/test_package/test_package.c @@ -0,0 +1,14 @@ +#include "sndfile.h" + +#include + +int main(int argc, char *argv[]) { + if (argc < 2) { + puts("Usage: example \n"); + return 0; + } + SF_INFO sfinfo; + SNDFILE *infile = sf_open (argv[1], SFM_READ, &sfinfo); + printf("Sample rate: %d\n", sfinfo.samplerate); + return 0; +} diff --git a/recipes/libsndfile/all/test_package/test_package.cpp b/recipes/libsndfile/all/test_package/test_package.cpp index 2f577c46055c5..c21e7e86b6c71 100644 --- a/recipes/libsndfile/all/test_package/test_package.cpp +++ b/recipes/libsndfile/all/test_package/test_package.cpp @@ -9,9 +9,9 @@ int main(int argc, char *argv[]) { if (argc < 2) { std::cout << "Usage: example \n"; - } else { - SndfileHandle handle(argv[1]); - std::cout << "Sample rate: " << handle.samplerate() << "\n"; + return 0; } + SndfileHandle handle(argv[1]); + std::cout << "Sample rate: " << handle.samplerate() << "\n"; return 0; } diff --git a/recipes/libsndfile/all/test_v1_package/conanfile.py b/recipes/libsndfile/all/test_v1_package/conanfile.py index 38f4483872d47..84595c5cac284 100644 --- a/recipes/libsndfile/all/test_v1_package/conanfile.py +++ b/recipes/libsndfile/all/test_v1_package/conanfile.py @@ -13,5 +13,7 @@ def build(self): def test(self): if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") + bin_path = os.path.join("bin", "test_package_c") + self.run(bin_path, run_environment=True) + bin_path = os.path.join("bin", "test_package_cxx") self.run(bin_path, run_environment=True) From 3bf569d95852fada4016f82e60d6a4f7b51a5601 Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Tue, 24 Sep 2024 04:01:32 +0100 Subject: [PATCH 593/641] (#25369) [bot] Update list of references (prod-v2/ListPackages) Co-authored-by: conan-center-bot --- .c3i/conan_v2_ready_references.yml | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/.c3i/conan_v2_ready_references.yml b/.c3i/conan_v2_ready_references.yml index c7beaad8761f2..db87d1261d8c9 100644 --- a/.c3i/conan_v2_ready_references.yml +++ b/.c3i/conan_v2_ready_references.yml @@ -23,6 +23,7 @@ required_for_references: - andreasbuhr-cppcoro - android-ndk - angelscript +- ann - annoy - antlr4 - antlr4-cppruntime @@ -275,6 +276,7 @@ required_for_references: - csvmonkey - ctml - ctpg +- ctrack - ctre - cub - cubicinterpolation @@ -589,6 +591,7 @@ required_for_references: - influxdb-cpp - influxdb-cxx - inih +- inipp - inja - intel-ipsec-mb - intel-neon2sse @@ -698,6 +701,7 @@ required_for_references: - libcurl - libcvd - libdaemon +- libdatrie - libdb - libdc1394 - libde265 @@ -894,6 +898,7 @@ required_for_references: - linmath.h - linux-headers-generic - linux-syscall-support +- liquid-dsp - litehtml - lksctp-tools - llama-cpp @@ -929,6 +934,7 @@ required_for_references: - mailio - make - makefile-project-workspace-creator +- manif - mapbox-geometry - mapbox-variant - mapbox-wagyu @@ -955,6 +961,7 @@ required_for_references: - mdns - mdnsresponder - mdspan +- melon - mesa-glu - meshoptimizer - meson @@ -1014,6 +1021,7 @@ required_for_references: - msix - msys2 - mtdev +- mtfmt - mujs - muparser - muparserx @@ -1202,6 +1210,7 @@ required_for_references: - plusaes - plutovg - pngpp +- pocketfft - poco - podofo - poly2tri @@ -1398,6 +1407,7 @@ required_for_references: - spirv-cross - spirv-headers - spirv-tools +- splunk-opentelemetry-cpp - spscqueue - spy - sqlcipher @@ -1412,6 +1422,7 @@ required_for_references: - ssht - ssp - st_tree +- statistic - statslib - status-code - status-value-lite From a631e808780ef94d4131950c1a680258bfda5b06 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 24 Sep 2024 15:50:43 +0900 Subject: [PATCH 594/641] (#25037) lunasvg: add version 2.4.1 * lunasvg: add version 2.4.1 * support msvc shared build * remove unused methods --------- Co-authored-by: Ernesto de Gracia Herranz Co-authored-by: Ernesto de Gracia Herranz --- recipes/lunasvg/all/conandata.yml | 7 ++++ recipes/lunasvg/all/conanfile.py | 6 ++- .../all/patches/2.4.1-0001-fix-cmake.patch | 38 +++++++++++++++++++ recipes/lunasvg/config.yml | 2 + 4 files changed, 51 insertions(+), 2 deletions(-) create mode 100644 recipes/lunasvg/all/patches/2.4.1-0001-fix-cmake.patch diff --git a/recipes/lunasvg/all/conandata.yml b/recipes/lunasvg/all/conandata.yml index c0096452d5b87..783b909d243fb 100644 --- a/recipes/lunasvg/all/conandata.yml +++ b/recipes/lunasvg/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.4.1": + url: "https://github.com/sammycage/lunasvg/archive/v2.4.1.tar.gz" + sha256: "db9d2134c8c2545694e71e62fb0772a7d089fe53e1ace1e08c2279a89e450534" "2.4.0": url: "https://github.com/sammycage/lunasvg/archive/v2.4.0.tar.gz" sha256: "0682c60501c91d75f4261d9c1a5cd44c2c9da8dba76f8402eab628448c9a4591" @@ -21,6 +24,10 @@ sources: url: "https://github.com/sammycage/lunasvg/archive/refs/tags/v2.3.1.tar.gz" sha256: "6492bf0f51982f5382f83f1a42f247bb1bbcbaef4a15963bbd53073cd4944a25" patches: + "2.4.1": + - patch_file: "patches/2.4.1-0001-fix-cmake.patch" + patch_description: "use external plutovg and fix installation path for conan" + patch_type: "conan" "2.4.0": - patch_file: "patches/2.3.9-0001-fix-cmake.patch" patch_description: "use external plutovg and fix installation path for conan" diff --git a/recipes/lunasvg/all/conanfile.py b/recipes/lunasvg/all/conanfile.py index e2d264c8bbac5..4182a4b8f27c6 100644 --- a/recipes/lunasvg/all/conanfile.py +++ b/recipes/lunasvg/all/conanfile.py @@ -1,6 +1,5 @@ from conan import ConanFile from conan.errors import ConanInvalidConfiguration -from conan.tools.microsoft import check_min_vs, is_msvc from conan.tools.files import apply_conandata_patches, export_conandata_patches, get, copy from conan.tools.build import check_min_cppstd from conan.tools.scm import Version @@ -90,7 +89,8 @@ def source(self): def generate(self): tc = CMakeToolchain(self) tc.variables["BUILD_SHARED_LIBS"] = self.options.shared - tc.variables["CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS"] = True + if Version(self.version) < "2.4.1": + tc.variables["CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS"] = True tc.generate() tc = CMakeDeps(self) @@ -111,3 +111,5 @@ def package_info(self): self.cpp_info.libs = ["lunasvg"] if self.settings.os in ["Linux", "FreeBSD"]: self.cpp_info.system_libs = ["m"] + if Version(self.version) >= "2.4.1" and not self.options.shared: + self.cpp_info.defines = ["LUNASVG_BUILD_STATIC"] diff --git a/recipes/lunasvg/all/patches/2.4.1-0001-fix-cmake.patch b/recipes/lunasvg/all/patches/2.4.1-0001-fix-cmake.patch new file mode 100644 index 0000000000000..190bb9b65c6b5 --- /dev/null +++ b/recipes/lunasvg/all/patches/2.4.1-0001-fix-cmake.patch @@ -0,0 +1,38 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 3565911..e33555e 100755 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -12,8 +12,8 @@ add_library(lunasvg) + + add_subdirectory(include) + add_subdirectory(source) +-add_subdirectory(3rdparty/plutovg) +- ++find_package(plutovg CONFIG REQUIRED) ++target_link_libraries(lunasvg plutovg::plutovg) + target_compile_definitions(lunasvg PRIVATE LUNASVG_BUILD) + if(NOT BUILD_SHARED_LIBS) + target_compile_definitions(lunasvg PRIVATE LUNASVG_BUILD_STATIC) +@@ -25,16 +25,16 @@ if(LUNASVG_BUILD_EXAMPLES) + target_include_directories(svg2png PRIVATE 3rdparty/stb) + endif() + +-set(LUNASVG_LIBDIR ${CMAKE_INSTALL_PREFIX}/lib) +-set(LUNASVG_INCDIR ${CMAKE_INSTALL_PREFIX}/include) ++# set(LUNASVG_LIBDIR ${CMAKE_INSTALL_PREFIX}/lib) ++# set(LUNASVG_INCDIR ${CMAKE_INSTALL_PREFIX}/include) + + install(FILES + include/lunasvg.h +- DESTINATION ${LUNASVG_INCDIR} ++ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} + ) + + install(TARGETS lunasvg +- LIBRARY DESTINATION ${LUNASVG_LIBDIR} +- ARCHIVE DESTINATION ${LUNASVG_LIBDIR} +- INCLUDES DESTINATION ${LUNASVG_INCDIR} ++ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" ++ LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" ++ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" + ) diff --git a/recipes/lunasvg/config.yml b/recipes/lunasvg/config.yml index b01edffe69a57..71b261d0fe250 100644 --- a/recipes/lunasvg/config.yml +++ b/recipes/lunasvg/config.yml @@ -1,4 +1,6 @@ versions: + "2.4.1": + folder: all "2.4.0": folder: all "2.3.9": From 1daf9a814cab0f3375ef5955015d9893239ba7e5 Mon Sep 17 00:00:00 2001 From: Egor Tyuvaev Date: Tue, 24 Sep 2024 09:54:10 +0200 Subject: [PATCH 595/641] (#25327) openvino/2024.4.0 update --- recipes/openvino/all/conandata.yml | 16 ++++++++++++++++ recipes/openvino/all/conanfile.py | 11 ++++++++--- .../all/dependencies/dependencies-2024.4.0.yml | 1 + recipes/openvino/config.yml | 2 ++ 4 files changed, 27 insertions(+), 3 deletions(-) create mode 100644 recipes/openvino/all/dependencies/dependencies-2024.4.0.yml diff --git a/recipes/openvino/all/conandata.yml b/recipes/openvino/all/conandata.yml index e7a253f3fb89e..92d15e83a5401 100644 --- a/recipes/openvino/all/conandata.yml +++ b/recipes/openvino/all/conandata.yml @@ -1,4 +1,20 @@ sources: + "2024.4.0": + "openvino": + url: "https://github.com/openvinotoolkit/openvino/archive/refs/tags/2024.4.0.tar.gz" + sha256: "aeb6297e3e88b4ab7803b27b231a72bd0493b6761ef98f225142146be500f538" + "arm_compute": + url: "https://github.com/ARM-software/ComputeLibrary/archive/refs/tags/v24.08.tar.gz" + sha256: "b3576ffa2a70e7704bdf7febe7109f4cfb416a0178222b58f5ee0fd455980337" + "onednn_cpu": + url: "https://github.com/openvinotoolkit/oneDNN/archive/c8ae8d96e963bd04214858319fa334968e5e73c9.tar.gz" + sha256: "b9c2a53061b4528231ff5fbcee85900d698c329c7977b1f39c5d3d65f29c2caa" + "mlas": + url: "https://github.com/openvinotoolkit/mlas/archive/d1bc25ec4660cddd87804fcf03b2411b5dfb2e94.tar.gz" + sha256: "0a44fbfd4b13e8609d66ddac4b11a27c90c1074cde5244c91ad197901666004c" + "onednn_gpu": + url: "https://github.com/oneapi-src/oneDNN/archive/4ccd07e3a10e1c08075cf824ac14708245fbc334.tar.gz" + sha256: "4782d7cfd06ae6f782f1f99a62b7937e38a0d4b879a4e33f740a0602e610c86c" "2024.3.0": "openvino": url: "https://github.com/openvinotoolkit/openvino/archive/refs/tags/2024.3.0.tar.gz" diff --git a/recipes/openvino/all/conanfile.py b/recipes/openvino/all/conanfile.py index 0a4c1e9f4440b..8e6af66ae2c3f 100644 --- a/recipes/openvino/all/conanfile.py +++ b/recipes/openvino/all/conanfile.py @@ -205,7 +205,11 @@ def generate(self): toolchain.cache_variables["ENABLE_INTEL_CPU"] = self.options.enable_cpu if self._gpu_option_available: toolchain.cache_variables["ENABLE_INTEL_GPU"] = self.options.enable_gpu - toolchain.cache_variables["ENABLE_ONEDNN_FOR_GPU"] = self.options.shared or not self.options.enable_cpu + toolchain.cache_variables["ENABLE_ONEDNN_FOR_GPU"] = ( + Version(self.version) >= "2024.4.0" and self.options.enable_gpu + or not self.options.enable_cpu + or self.options.shared + ) if self._gna_option_available: toolchain.cache_variables["ENABLE_INTEL_GNA"] = False if self._npu_option_available: @@ -275,7 +279,8 @@ def validate_build(self): raise ConanInvalidConfiguration(f"{self.ref} does not support Debug build type on Conan Center CI") def validate(self): - if self.options.get_safe("enable_gpu") and not self.options.shared and self.options.enable_cpu: + if (self.options.get_safe("enable_gpu") and self.options.enable_cpu + and Version(self.version) < "2024.4.0" and not self.options.shared): # GPU and CPU plugins cannot be simultaneously built statically, because they use different oneDNN versions self.output.warning(f"{self.name} recipe builds GPU plugin without oneDNN (dGPU) support during static build, " "because CPU plugin compiled with different oneDNN version may cause ODR violation. " @@ -329,7 +334,7 @@ def package_info(self): if self.options.get_safe("enable_gpu"): openvino_runtime.libs.extend(["openvino_intel_gpu_plugin", "openvino_intel_gpu_graph", "openvino_intel_gpu_runtime", "openvino_intel_gpu_kernels"]) - if not self.options.enable_cpu: + if not self.options.enable_cpu or Version(self.version) >= "2024.4.0": openvino_runtime.libs.append("openvino_onednn_gpu") # SW plugins if self.options.enable_auto: diff --git a/recipes/openvino/all/dependencies/dependencies-2024.4.0.yml b/recipes/openvino/all/dependencies/dependencies-2024.4.0.yml new file mode 100644 index 0000000000000..8cd1d9ccc3564 --- /dev/null +++ b/recipes/openvino/all/dependencies/dependencies-2024.4.0.yml @@ -0,0 +1 @@ +onnx: "1.16.0" diff --git a/recipes/openvino/config.yml b/recipes/openvino/config.yml index 6e20b31cea112..f1172721d416f 100644 --- a/recipes/openvino/config.yml +++ b/recipes/openvino/config.yml @@ -1,4 +1,6 @@ versions: + "2024.4.0": + folder: "all" "2024.3.0": folder: "all" "2024.2.0": From 0f751da38c781286d6bb608021ee7e0d77d65332 Mon Sep 17 00:00:00 2001 From: Marian Klymov Date: Tue, 24 Sep 2024 11:05:26 +0300 Subject: [PATCH 596/641] (#19695) audiowaveform: add initial recipe for 1.10.1 * audiowaveform: add initial recipe for 1.8.1 * audiowaveform: update to 1.9.1 * fix typo * add missing import * enforce C++11 when profile doesn't contain compiler.cppstd * update to 1.10.1 and apply suggestions from code review --- recipes/audiowaveform/all/conandata.yml | 15 +++ recipes/audiowaveform/all/conanfile.py | 94 +++++++++++++++++++ .../patches/0001-1.10.1_find_packages.patch | 66 +++++++++++++ .../patches/0002-1.10.1_remove_flags.patch | 19 ++++ .../0003-1.10.1_remove_documentation.patch | 34 +++++++ .../all/test_package/conanfile.py | 13 +++ recipes/audiowaveform/config.yml | 3 + 7 files changed, 244 insertions(+) create mode 100644 recipes/audiowaveform/all/conandata.yml create mode 100644 recipes/audiowaveform/all/conanfile.py create mode 100644 recipes/audiowaveform/all/patches/0001-1.10.1_find_packages.patch create mode 100644 recipes/audiowaveform/all/patches/0002-1.10.1_remove_flags.patch create mode 100644 recipes/audiowaveform/all/patches/0003-1.10.1_remove_documentation.patch create mode 100644 recipes/audiowaveform/all/test_package/conanfile.py create mode 100644 recipes/audiowaveform/config.yml diff --git a/recipes/audiowaveform/all/conandata.yml b/recipes/audiowaveform/all/conandata.yml new file mode 100644 index 0000000000000..2e2ba28ceca12 --- /dev/null +++ b/recipes/audiowaveform/all/conandata.yml @@ -0,0 +1,15 @@ +sources: + "1.10.1": + url: "https://github.com/bbc/audiowaveform/archive/refs/tags/1.10.1.tar.gz" + sha256: "bd283d84dc84fda84f4090fddde9a5bef924c588dd7bf6acaa8f7b946efb42a4" +patches: + "1.10.1": + - patch_file: "patches/0001-1.10.1_find_packages.patch" + patch_description: "Inject thirdparties from conan" + patch_type: "conan" + - patch_file: "patches/0002-1.10.1_remove_flags.patch" + patch_description: "Remove custom compile flags" + patch_type: "conan" + - patch_file: "patches/0003-1.10.1_remove_documentation.patch" + patch_description: "Remove documenation" + patch_type: "conan" diff --git a/recipes/audiowaveform/all/conanfile.py b/recipes/audiowaveform/all/conanfile.py new file mode 100644 index 0000000000000..4d5e42ee98a02 --- /dev/null +++ b/recipes/audiowaveform/all/conanfile.py @@ -0,0 +1,94 @@ +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import check_min_cppstd, valid_min_cppstd +from conan.tools.files import apply_conandata_patches, export_conandata_patches, get, copy, rm, rmdir +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.microsoft import is_msvc +import os + + +required_conan_version = ">=1.53.0" + + +class AudiowaveformConan(ConanFile): + name = "audiowaveform" + description = "C++ program to generate waveform data and render waveform images from audio files" + license = "GPL-3.0-or-later" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://waveform.prototyping.bbc.co.uk/" + topics = ("audio", "c-plus-plus") + package_type = "application" + settings = "os", "arch", "compiler", "build_type" + + @property + def _min_cppstd(self): + return 11 + + def export_sources(self): + export_conandata_patches(self) + + def config_options(self): + pass + + def configure(self): + pass + + def layout(self): + cmake_layout(self, src_folder="src") + + def requirements(self): + self.requires("libgd/2.3.3") + self.requires("libid3tag/0.15.1b") + self.requires("libmad/0.15.1b") + self.requires("libsndfile/1.2.2") + self.requires("boost/1.85.0") + + def package_id(self): + del self.info.settings.compiler + + def validate(self): + if self.settings.compiler.cppstd: + check_min_cppstd(self, self._min_cppstd) + if is_msvc(self): + raise ConanInvalidConfiguration(f"{self.ref} can not be built on Visual Studio and msvc.") + + def build_requirements(self): + pass + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + tc.variables["ENABLE_TESTS"] = False + if not valid_min_cppstd(self, self._min_cppstd): + tc.variables["CMAKE_CXX_STANDARD"] = self._min_cppstd + tc.generate() + tc = CMakeDeps(self) + tc.generate() + + def _patch_sources(self): + apply_conandata_patches(self) + rm(self, "Find*.cmake", os.path.join(self.source_folder, "CMake")) + + def build(self): + self._patch_sources() + cmake = CMake(self) + cmake.configure() + cmake.build() + + def package(self): + copy(self, pattern="COPYING", 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.frameworkdirs = [] + self.cpp_info.libdirs = [] + self.cpp_info.resdirs = [] + self.cpp_info.includedirs = [] + + # TODO: Legacy, to be removed on Conan 2.0 + bin_folder = os.path.join(self.package_folder, "bin") + self.env_info.PATH.append(bin_folder) diff --git a/recipes/audiowaveform/all/patches/0001-1.10.1_find_packages.patch b/recipes/audiowaveform/all/patches/0001-1.10.1_find_packages.patch new file mode 100644 index 0000000000000..e4f3afcf4da27 --- /dev/null +++ b/recipes/audiowaveform/all/patches/0001-1.10.1_find_packages.patch @@ -0,0 +1,66 @@ +Use packages that are provided by conan +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -88,40 +88,11 @@ if(BUILD_STATIC) + endif() + endif(BUILD_STATIC) + +-find_package(LibGD REQUIRED) +-if(LIBGD_FOUND) +- message(STATUS "LIBGD_INCLUDE_DIRS='${LIBGD_INCLUDE_DIRS}'") +- message(STATUS "LIBGD_LIBRARIES=${LIBGD_LIBRARIES}") +- include_directories(${LIBGD_INCLUDE_DIRS}) +-endif(LIBGD_FOUND) +- +-find_package(LibSndFile REQUIRED) +-if(LIBSNDFILE_FOUND) +- message(STATUS "LIBSNDFILE_INCLUDE_DIRS='${LIBSNDFILE_INCLUDE_DIRS}'") +- message(STATUS "LIBSNDFILE_LIBRARIES=${LIBSNDFILE_LIBRARIES}") +- include_directories(${LIBSNDFILE_INCLUDE_DIRS}) +-endif(LIBSNDFILE_FOUND) +- +-find_package(LibMad REQUIRED) +-if(LIBMAD_FOUND) +- message(STATUS "LIBMAD_INCLUDE_DIRS='${LIBMAD_INCLUDE_DIRS}'") +- message(STATUS "LIBMAD_LIBRARIES=${LIBMAD_LIBRARIES}") +- include_directories(${LIBMAD_INCLUDE_DIRS}) +-endif(LIBMAD_FOUND) +- +-find_package(LibId3Tag REQUIRED) +-if(LIBID3TAG_FOUND) +- message(STATUS "LIBID3TAG_INCLUDE_DIRS='${LIBID3TAG_INCLUDE_DIRS}'") +- message(STATUS "LIBID3TAG_LIBRARIES=${LIBID3TAG_LIBRARIES}") +- include_directories(${LIBID3TAG_INCLUDE_DIRS}) +-endif(LIBID3TAG_FOUND) +- +-find_package(Boost 1.46.0 COMPONENTS program_options filesystem regex system REQUIRED) +-if(Boost_FOUND) +- message(STATUS "Boost_INCLUDE_DIRS='${Boost_INCLUDE_DIRS}'") +- message(STATUS "Boost_LIBRARIES='${Boost_LIBRARIES}'") +- include_directories(${Boost_INCLUDE_DIRS}) +-endif(Boost_FOUND) ++find_package(libgd REQUIRED CONFIG) ++find_package(SndFile REQUIRED CONFIG) ++find_package(libmad REQUIRED CONFIG) ++find_package(libid3tag REQUIRED CONFIG) ++find_package(Boost COMPONENTS program_options filesystem regex REQUIRED) + + #------------------------------------------------------------------------------- + # +@@ -278,11 +249,11 @@ add_executable(audiowaveform ${SRCS}) + + # Specify libraries to link against. + set(LIBS +- ${LIBSNDFILE_LIBRARIES} +- ${LIBGD_LIBRARIES} +- ${LIBMAD_LIBRARIES} +- ${LIBID3TAG_LIBRARIES} +- ${Boost_LIBRARIES} ++ SndFile::sndfile ++ libgd::libgd ++ libmad::libmad ++ libid3tag::libid3tag ++ Boost::program_options Boost::filesystem Boost::regex + ) + + target_link_libraries(audiowaveform ${LIBS}) diff --git a/recipes/audiowaveform/all/patches/0002-1.10.1_remove_flags.patch b/recipes/audiowaveform/all/patches/0002-1.10.1_remove_flags.patch new file mode 100644 index 0000000000000..ac2bac6bbfe1a --- /dev/null +++ b/recipes/audiowaveform/all/patches/0002-1.10.1_remove_flags.patch @@ -0,0 +1,19 @@ +Remove custom compile flags +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -162,6 +162,7 @@ if(CMAKE_COMPILER_IS_GNUCXX AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS "4.6.3") + message(FATAL_ERROR "g++ 4.6.3 or later required") + endif() + ++if(0) + if(CMAKE_COMPILER_IS_GNUCXX AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER "4.7") + set(CMAKE_CXX_FLAGS "-std=c++11") + else() +@@ -178,6 +179,7 @@ if(APPLE AND BUILD_STATIC) + set(CMAKE_CXX_FLAGS "-stdlib=libc++ ${CMAKE_CXX_FLAGS} -fvisibility=hidden -fvisibility-inlines-hidden") + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fvisibility=hidden -fvisibility-inlines-hidden") + endif() ++endif() + + message(STATUS "CMAKE_CXX_COMPILER_VERSION='${CMAKE_CXX_COMPILER_VERSION}'") + message(STATUS "CMAKE_CXX_FLAGS='${CMAKE_CXX_FLAGS}'") diff --git a/recipes/audiowaveform/all/patches/0003-1.10.1_remove_documentation.patch b/recipes/audiowaveform/all/patches/0003-1.10.1_remove_documentation.patch new file mode 100644 index 0000000000000..c8cc66eaa8a38 --- /dev/null +++ b/recipes/audiowaveform/all/patches/0003-1.10.1_remove_documentation.patch @@ -0,0 +1,34 @@ +Remove documentation target +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -314,6 +314,7 @@ endif() + # + #------------------------------------------------------------------------------- + ++if(0) + file(MAKE_DIRECTORY ${PROJECT_BINARY_DIR}/doc) + + add_custom_command( +@@ -334,6 +335,7 @@ add_custom_target(doc + ) + + add_dependencies(audiowaveform doc) ++endif() + + #------------------------------------------------------------------------------- + # +@@ -347,6 +349,7 @@ message(STATUS "CMAKE_INSTALL_PREFIX='${CMAKE_INSTALL_PREFIX}'") + install(TARGETS audiowaveform DESTINATION bin) + + # Install man pages ++if(0) + install( + FILES ${PROJECT_BINARY_DIR}/doc/audiowaveform.1.gz + DESTINATION share/man/man1 +@@ -356,5 +359,6 @@ install( + FILES ${PROJECT_BINARY_DIR}/doc/audiowaveform.5.gz + DESTINATION share/man/man5 + ) ++endif() + + #------------------------------------------------------------------------------- diff --git a/recipes/audiowaveform/all/test_package/conanfile.py b/recipes/audiowaveform/all/test_package/conanfile.py new file mode 100644 index 0000000000000..5b8eaa02f81b6 --- /dev/null +++ b/recipes/audiowaveform/all/test_package/conanfile.py @@ -0,0 +1,13 @@ +from conan import ConanFile + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "VirtualBuildEnv" + test_type = "explicit" + + def build_requirements(self): + self.tool_requires(self.tested_reference_str) + + def test(self): + self.run("audiowaveform --version") diff --git a/recipes/audiowaveform/config.yml b/recipes/audiowaveform/config.yml new file mode 100644 index 0000000000000..5492c2a9aab5c --- /dev/null +++ b/recipes/audiowaveform/config.yml @@ -0,0 +1,3 @@ +versions: + "1.10.1": + folder: all From a3623be7732b5f30410b40028983fab2ff5073bc Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 24 Sep 2024 17:31:34 +0900 Subject: [PATCH 597/641] (#25349) s2n: add version 1.5.3 --- recipes/s2n/all/conandata.yml | 3 +++ recipes/s2n/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/s2n/all/conandata.yml b/recipes/s2n/all/conandata.yml index b9eb147f98b56..f4ac0930b7176 100644 --- a/recipes/s2n/all/conandata.yml +++ b/recipes/s2n/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.5.3": + url: "https://github.com/aws/s2n-tls/archive/refs/tags/v1.5.3.tar.gz" + sha256: "609d4ab5747e592a8749f2db7ff6422ea2e0aff3d2790b6d36defe276f422a71" "1.5.2": url: "https://github.com/aws/s2n-tls/archive/refs/tags/v1.5.2.tar.gz" sha256: "896d9f8f8e9bd2fdcb9a21b18aede4f7afc65bde279afabc60abf97fa5069dd1" diff --git a/recipes/s2n/config.yml b/recipes/s2n/config.yml index 760e55c793225..c3bea19c1d7ce 100644 --- a/recipes/s2n/config.yml +++ b/recipes/s2n/config.yml @@ -1,4 +1,6 @@ versions: + "1.5.3": + folder: all "1.5.2": folder: all "1.5.1": From 809d316cf0ce8b1abdc4a5690b733d53b2383265 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Abril=20Rinc=C3=B3n=20Blanco?= Date: Tue, 24 Sep 2024 11:22:08 +0200 Subject: [PATCH 598/641] (#25370) aws-c-io: Bring s2n verison in line with sdk --- recipes/aws-c-io/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/aws-c-io/all/conanfile.py b/recipes/aws-c-io/all/conanfile.py index 905e4e5512632..3bc22662e6f6c 100644 --- a/recipes/aws-c-io/all/conanfile.py +++ b/recipes/aws-c-io/all/conanfile.py @@ -50,7 +50,7 @@ def requirements(self): self.requires("aws-c-common/0.6.11", transitive_headers=True, transitive_libs=True) self.requires("aws-c-cal/0.5.12") if self.settings.os in ["Linux", "FreeBSD", "Android"]: - self.requires("s2n/1.3.55") + self.requires("s2n/1.3.15") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) From 26c75f6dee05d5d503ddf8823dac752c8faf5de7 Mon Sep 17 00:00:00 2001 From: stevenwdv Date: Tue, 24 Sep 2024 11:52:55 +0200 Subject: [PATCH 599/641] (#25341) mbedtls: Add 2.28.9 Co-authored-by: Ernesto de Gracia Herranz --- recipes/mbedtls/all/conandata.yml | 3 +++ recipes/mbedtls/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/mbedtls/all/conandata.yml b/recipes/mbedtls/all/conandata.yml index 6f725eee986a6..d55ee35bdd7cf 100644 --- a/recipes/mbedtls/all/conandata.yml +++ b/recipes/mbedtls/all/conandata.yml @@ -26,6 +26,9 @@ sources: "3.0.0": url: "https://github.com/Mbed-TLS/mbedtls/archive/mbedtls-3.0.0.tar.gz" sha256: "377d376919be19f07c7e7adeeded088a525be40353f6d938a78e4f986bce2ae0" + "2.28.9": + url: "https://github.com/Mbed-TLS/mbedtls/archive/refs/tags/v2.28.9.tar.gz" + sha256: "e4dbcf86a4fb31506482888560f02b161e0ecfb82fee0643abcfc86abee5817e" "2.28.8": url: "https://github.com/Mbed-TLS/mbedtls/archive/refs/tags/v2.28.8.tar.gz" sha256: "4fef7de0d8d542510d726d643350acb3cdb9dc76ad45611b59c9aa08372b4213" diff --git a/recipes/mbedtls/config.yml b/recipes/mbedtls/config.yml index 8637037975a2e..1149ea306c570 100644 --- a/recipes/mbedtls/config.yml +++ b/recipes/mbedtls/config.yml @@ -17,6 +17,8 @@ versions: folder: all "3.0.0": folder: all + "2.28.9": + folder: all "2.28.8": folder: all "2.28.4": From f83419787276f3c87f3b2e934d1ed7d103e40140 Mon Sep 17 00:00:00 2001 From: Andrey Filipenkov Date: Tue, 24 Sep 2024 13:34:41 +0300 Subject: [PATCH 600/641] (#25361) onetbb: disable tbbind for Apple non-macOS MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * disable tbbind for Apple non-macOS hwloc can't be built for these platforms * Update recipes/onetbb/all/conanfile.py Co-authored-by: Martin Valgur * Update recipes/onetbb/all/conanfile.py Co-authored-by: Martin Valgur --------- Co-authored-by: Abril Rincón Blanco Co-authored-by: Martin Valgur --- recipes/onetbb/all/conanfile.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/recipes/onetbb/all/conanfile.py b/recipes/onetbb/all/conanfile.py index 7031f90417a73..1d40fac290ce1 100644 --- a/recipes/onetbb/all/conanfile.py +++ b/recipes/onetbb/all/conanfile.py @@ -1,5 +1,6 @@ from conan import ConanFile from conan.errors import ConanInvalidConfiguration +from conan.tools.apple import is_apple_os from conan.tools.build import cross_building from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout from conan.tools.env import VirtualBuildEnv @@ -52,7 +53,9 @@ def _tbbbind_hwloc_version(self): @property def _tbbbind_supported(self): - return self.settings.os != "Macos" or Version(self.version) >= "2021.11.0" + if is_apple_os(self): + return self.settings.os == "Macos" and Version(self.version) >= "2021.11.0" + return True @property def _tbbbind_build(self): From b49379f489890c7f8d3bb66f2bc9981b5116ac4a Mon Sep 17 00:00:00 2001 From: Marian Klymov Date: Tue, 24 Sep 2024 14:11:54 +0300 Subject: [PATCH 601/641] (#25364) libxml2: add 2.11.9, 2.12.9 and remove unused versions * libxml2: add 2.11.9 and 2.12.9 * libxml2: remove unused versions --- recipes/libxml2/all/conandata.yml | 21 ++++++--------------- recipes/libxml2/config.yml | 10 ++-------- 2 files changed, 8 insertions(+), 23 deletions(-) diff --git a/recipes/libxml2/all/conandata.yml b/recipes/libxml2/all/conandata.yml index bd46bbf386371..facf85047319a 100644 --- a/recipes/libxml2/all/conandata.yml +++ b/recipes/libxml2/all/conandata.yml @@ -1,25 +1,16 @@ sources: - "2.12.7": - url: "https://download.gnome.org/sources/libxml2/2.12/libxml2-2.12.7.tar.xz" - sha256: "24ae78ff1363a973e6d8beba941a7945da2ac056e19b53956aeb6927fd6cfb56" - "2.12.6": - url: "https://download.gnome.org/sources/libxml2/2.12/libxml2-2.12.6.tar.xz" - sha256: "889c593a881a3db5fdd96cc9318c87df34eb648edfc458272ad46fd607353fbb" - "2.12.5": - url: "https://download.gnome.org/sources/libxml2/2.12/libxml2-2.12.5.tar.xz" - sha256: "a972796696afd38073e0f59c283c3a2f5a560b5268b4babc391b286166526b21" + "2.12.9": + url: "https://download.gnome.org/sources/libxml2/2.12/libxml2-2.12.9.tar.xz" + sha256: "59912db536ab56a3996489ea0299768c7bcffe57169f0235e7f962a91f483590" "2.12.4": url: "https://download.gnome.org/sources/libxml2/2.12/libxml2-2.12.4.tar.xz" sha256: "497360e423cf0bd99eacdb7c6215dea92e6d6e89ee940393c2bae0e77cb9b7d0" "2.12.3": url: "https://download.gnome.org/sources/libxml2/2.12/libxml2-2.12.3.tar.xz" sha256: "8c8f1092340a89ff32bc44ad5c9693aff9bc8a7a3e161bb239666e5d15ac9aaa" - "2.11.8": - url: "https://download.gnome.org/sources/libxml2/2.11/libxml2-2.11.8.tar.xz" - sha256: "53961af1721b72246180cd844b7ddae36ea8e1e4e27b683567990a1ee78b02c1" - "2.11.7": - url: "https://download.gnome.org/sources/libxml2/2.11/libxml2-2.11.7.tar.xz" - sha256: "fb27720e25eaf457f94fd3d7189bcf2626c6dccf4201553bc8874d50e3560162" + "2.11.9": + url: "https://download.gnome.org/sources/libxml2/2.11/libxml2-2.11.9.tar.xz" + sha256: "780157a1efdb57188ec474dca87acaee67a3a839c2525b2214d318228451809f" "2.11.6": url: "https://download.gnome.org/sources/libxml2/2.11/libxml2-2.11.6.tar.xz" sha256: "c90eee7506764abbe07bb616b82da452529609815aefef423d66ef080eb0c300" diff --git a/recipes/libxml2/config.yml b/recipes/libxml2/config.yml index 512940bc70e6f..1028f9e85762e 100644 --- a/recipes/libxml2/config.yml +++ b/recipes/libxml2/config.yml @@ -1,17 +1,11 @@ versions: - "2.12.7": - folder: all - "2.12.6": - folder: all - "2.12.5": + "2.12.9": folder: all "2.12.4": folder: all "2.12.3": folder: all - "2.11.8": - folder: all - "2.11.7": + "2.11.9": folder: all "2.11.6": folder: all From 21f54522784fd572700e63c9df9957822ef4b20d Mon Sep 17 00:00:00 2001 From: Uilian Ries Date: Tue, 24 Sep 2024 17:13:51 +0200 Subject: [PATCH 602/641] (#25380) Add correct pkfconfig name for libnl components * Add correct pkfconfig name for libnl components Signed-off-by: Uilian Ries * nl-xfrm requires 3.3.0 Signed-off-by: Uilian Ries --------- Signed-off-by: Uilian Ries --- recipes/libnl/all/conanfile.py | 21 +++++++++++++++++++ recipes/libnl/all/test_package/CMakeLists.txt | 2 +- 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/recipes/libnl/all/conanfile.py b/recipes/libnl/all/conanfile.py index a355e8b21201e..5cf766d947fc5 100644 --- a/recipes/libnl/all/conanfile.py +++ b/recipes/libnl/all/conanfile.py @@ -3,6 +3,8 @@ from conan.tools.layout import basic_layout from conan.tools.gnu import AutotoolsToolchain, Autotools from conan.errors import ConanInvalidConfiguration +from conan.tools.env import VirtualBuildEnv +from conan.tools.scm import Version import os required_conan_version = ">=1.53.0" @@ -15,6 +17,7 @@ class LibNlConan(ConanFile): homepage = "https://github.com/thom311/libnl" topics = ("netlink") settings = "os", "arch", "compiler", "build_type" + package_type = "library" options = { "fPIC": [True, False], "shared": [True, False], @@ -45,6 +48,8 @@ def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): + env = VirtualBuildEnv(self) + env.generate() tc = AutotoolsToolchain(self) tc.generate() @@ -66,14 +71,30 @@ def package_info(self): self.cpp_info.components["nl"].libs = ["nl-3"] self.cpp_info.components["nl"].includedirs = [os.path.join('include', 'libnl3')] self.cpp_info.components["nl"].system_libs = ["pthread", "m"] + self.cpp_info.components["nl"].set_property("pkg_config_name", "libnl-3.0") + self.cpp_info.components["nl-route"].libs = ["nl-route-3"] self.cpp_info.components["nl-route"].requires = ["nl"] + self.cpp_info.components["nl-route"].set_property("pkg_config_name", "libnl-route-3.0") + self.cpp_info.components["nl-genl"].libs = ["nl-genl-3"] self.cpp_info.components["nl-genl"].requires = ["nl"] + self.cpp_info.components["nl-genl"].set_property("pkg_config_name", "libnl-genl-3.0.pc") + self.cpp_info.components["nl-nf"].libs = ["nl-nf-3"] self.cpp_info.components["nl-nf"].requires = ["nl-route"] + self.cpp_info.components["nl-nf"].set_property("pkg_config_name", "libnl-nf-3.0.pc") + self.cpp_info.components["nl-cli"].libs = ["nl-cli-3"] self.cpp_info.components["nl-cli"].requires = ["nl-nf", "nl-genl"] self.cpp_info.components["nl-cli"].system_libs = ["dl"] + self.cpp_info.components["nl-cli"].set_property("pkg_config_name", "libnl-cli-3.0.pc") + self.cpp_info.components["nl-idiag"].libs = ["nl-idiag-3"] self.cpp_info.components["nl-idiag"].requires = ["nl"] + self.cpp_info.components["nl-idiag"].set_property("pkg_config_name", "libnl-idiag-3.0.pc") + + if Version(self.version) >= "3.3.0": + self.cpp_info.components["nl-xfrm"].libs = ["nl-xfrm-3"] + self.cpp_info.components["nl-idiag"].requires = ["nl"] + self.cpp_info.components["nl-idiag"].set_property("pkg_config_name", "libnl-xfrm-3.0.pc") diff --git a/recipes/libnl/all/test_package/CMakeLists.txt b/recipes/libnl/all/test_package/CMakeLists.txt index c5d1b19c7a8f9..676febf50a4db 100644 --- a/recipes/libnl/all/test_package/CMakeLists.txt +++ b/recipes/libnl/all/test_package/CMakeLists.txt @@ -4,4 +4,4 @@ project(test_package LANGUAGES C) find_package(libnl REQUIRED CONFIG) add_executable(${PROJECT_NAME} ${PROJECT_NAME}.c) -target_link_libraries(${PROJECT_NAME} PRIVATE libnl::nl libnl::nl-route libnl::nl-genl libnl::nl-nf libnl::nl-cli libnl::nl-idiag) +target_link_libraries(${PROJECT_NAME} PRIVATE libnl::nl libnl::nl-route libnl::nl-genl libnl::nl-nf libnl::nl-cli libnl::nl-idiag $<$:libnl::nl-xfrm>) From d3985d39fbd6bbea58c9fc86fd2d9bc1c92666f6 Mon Sep 17 00:00:00 2001 From: Andrew Marshall Date: Tue, 24 Sep 2024 16:28:02 +0100 Subject: [PATCH 603/641] (#22997) [llvm-core] bring package up to date. Support for Conan 2. * [llvm-core] bring package up to date. Initial support for 13.0.0 * [llvm-core] add support for job pool resource limits from @jusito * [llvm-core] add cmake patch for 12.0.0 * [llvm-core] add cmake patch for 11.1.0 * [llvm-core] allow conan 1.x * [llvm-core] fix zlib detection for 11.1.0 * [llvm-core] additional patches for missing includes and patch metadata * [llvm-core] resolve v1 hooks issues * [llvm-core] use llvm generated config file to extract components * [llvm-core] add custom cmake build script * [llvm-core] use run env during build and force ninja * [llvm-core] fix patches for libxml * [llvm-core] bump up default ram per link job * [llvm-core] backport split-dwarf patches from 14.x * [llvm-core] add support for cross compiling * [llvm-core] fix patch files for split dwarf * [llvm-core] disable cross compilation * [llvm-core] add CCI build service specific behaviour * [llvm-core] fix cci resource limitations * [llvm-core] implement component dependencies * [llvm-core] sanitize component names * [llvm-core] bump ram per link job for cci shared debug * [llvm-core] exclude cmake find modules * [llvm-core] skip rpath on macos * [llvm-core] reformat and fix linting issues * [llvm-core] delete 18x patch (added in error) * [llvm-core] rename references to LLVM-Config * [llvm-core] retain LLVMConfigExtensions.cmake * [llvm-core] add fake targets for *-gen * [llvm-core] use the actual cmake target name as component name * [llvm-core] fix component dependencies * [llvm-core] add target options * [llvm-core] add editline requirement (WIP) * [llvm-core] support for libedit (editline) in 13.x * [llvm-core] disable shared debug for CCI, update license identifier and refactor * [llvm-core] require cxx std 14 for test package * [llvm-core] handle edge case of static libiconv being linked into a dynamic library on macos * [llvm-core] skip rpath handling for build on macos * [llvm-core] propagate DYLD_LIBRARY_PATH to tblgen during build * [llvm-core] propagate DYLD_LIBRARY_PATH to tblgen during build * [llvm-core] do not build shared libs with the install rpath * [llvm-core] use original test package * [llvm-core] do not package static libraries with shared build * [llvm-core] fix test_package * [llvm-core] support linking in lib for native codegen * [llvm-core] add windows support * [llvm-core] remove pdb files * [llvm-core] require cmake_path support in test package * [llvm-core] handle legacy conan msvcrt setting * [llvm-core] missing patch type * Apply suggestions from code review Co-authored-by: Michael Keck * [llvm-core] revert changes to license * [llvm-core] apply review suggestions * [llvm-core] add patch source for include file fix * [llvm-core] use user-config for compiler resource settings * [llvm-core] add link for further info on cross compilation * [llvm-core] use PurePosixPath only * Trying 'as_posix()' function * More 'as_posix()' function * Typo * [llvm-core] revert usage of 'load' to workaround regex error * [llvm-core] try relaxing restrictions on cross-building * [llvm-core] use semi-colon separated string for targets instead of individual options * [llvm-core] set default fPIC fallback to 'True' * [llvm-core] use version range for ninja * [llvm-core] move cci check to 'validate_build' * [llvm-core] allow CCI to use llvm-core user config for resource limits * [llvm-core] dont activate build environment for llvm-tblgen * [llvm-core] add patch for link failure with lld * [llvm-core] explicitly list shared libraries * [llvm-core] revert to using * Revert "[llvm-core] try relaxing restrictions on cross-building" This reverts commit 7b2e085e * [llvm-core] workaround for #13560 * [llvm-core] increase ram available for link jobs in CCI * [llvm-core] remove the split-dwarf patch * [llvm-core] disable shared debug builds entirely and debug builds for linux * [llvm-core] remove remaining split-dwarf capability --------- Co-authored-by: Michael Keck Co-authored-by: Francisco Ramirez de Anton --- recipes/llvm-core/all/CMakeLists.txt | 26 - recipes/llvm-core/all/conandata.yml | 70 +- recipes/llvm-core/all/conanfile.py | 790 ++++++++++-------- .../patches/11x/0000-cmake-dependencies.patch | 118 +++ .../11x/0001-calculate-job-pools.patch | 42 + .../patches/11x/0002-missing-includes.patch | 24 + .../0003-no-build-with-install-rpath.patch | 13 + .../patches/11x/0004-remove-lto-exports.patch | 32 + .../all/patches/11x/11.1.0-cmake.patch | 57 -- .../all/patches/11x/11.1.0-native.patch | 81 -- .../patches/12x/0000-cmake-dependencies.patch | 92 ++ .../12x/0001-calculate-job-pools.patch | 42 + .../patches/12x/0002-missing-includes.patch | 12 + .../0003-no-build-with-install-rpath.patch | 13 + .../patches/12x/0004-remove-lto-exports.patch | 32 + .../all/patches/12x/12.0.0-cmake.patch | 55 -- .../all/patches/12x/12.0.0-native.patch | 81 -- .../patches/13x/0000-cmake-dependencies.patch | 84 ++ .../13x/0001-calculate-job-pools.patch | 42 + .../patches/13x/0002-missing-includes.patch | 12 + .../0003-no-build-with-install-rpath.patch | 13 + .../patches/13x/0004-remove-lto-exports.patch | 32 + .../all/patches/13x/13.0.0-cmake.patch | 54 -- .../all/patches/13x/13.0.0-native.patch | 78 -- .../llvm-core/all/test_package/CMakeLists.txt | 41 +- .../llvm-core/all/test_package/conanfile.py | 68 +- 26 files changed, 1140 insertions(+), 864 deletions(-) delete mode 100644 recipes/llvm-core/all/CMakeLists.txt create mode 100644 recipes/llvm-core/all/patches/11x/0000-cmake-dependencies.patch create mode 100644 recipes/llvm-core/all/patches/11x/0001-calculate-job-pools.patch create mode 100644 recipes/llvm-core/all/patches/11x/0002-missing-includes.patch create mode 100644 recipes/llvm-core/all/patches/11x/0003-no-build-with-install-rpath.patch create mode 100644 recipes/llvm-core/all/patches/11x/0004-remove-lto-exports.patch delete mode 100644 recipes/llvm-core/all/patches/11x/11.1.0-cmake.patch delete mode 100644 recipes/llvm-core/all/patches/11x/11.1.0-native.patch create mode 100644 recipes/llvm-core/all/patches/12x/0000-cmake-dependencies.patch create mode 100644 recipes/llvm-core/all/patches/12x/0001-calculate-job-pools.patch create mode 100644 recipes/llvm-core/all/patches/12x/0002-missing-includes.patch create mode 100644 recipes/llvm-core/all/patches/12x/0003-no-build-with-install-rpath.patch create mode 100644 recipes/llvm-core/all/patches/12x/0004-remove-lto-exports.patch delete mode 100644 recipes/llvm-core/all/patches/12x/12.0.0-cmake.patch delete mode 100644 recipes/llvm-core/all/patches/12x/12.0.0-native.patch create mode 100644 recipes/llvm-core/all/patches/13x/0000-cmake-dependencies.patch create mode 100644 recipes/llvm-core/all/patches/13x/0001-calculate-job-pools.patch create mode 100644 recipes/llvm-core/all/patches/13x/0002-missing-includes.patch create mode 100644 recipes/llvm-core/all/patches/13x/0003-no-build-with-install-rpath.patch create mode 100644 recipes/llvm-core/all/patches/13x/0004-remove-lto-exports.patch delete mode 100644 recipes/llvm-core/all/patches/13x/13.0.0-cmake.patch delete mode 100644 recipes/llvm-core/all/patches/13x/13.0.0-native.patch diff --git a/recipes/llvm-core/all/CMakeLists.txt b/recipes/llvm-core/all/CMakeLists.txt deleted file mode 100644 index e88dcfa953495..0000000000000 --- a/recipes/llvm-core/all/CMakeLists.txt +++ /dev/null @@ -1,26 +0,0 @@ -cmake_minimum_required(VERSION 3.13.4) -project(conanllvm) - -include(${CMAKE_CURRENT_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(KEEP_RPATHS) - -if(LLVM_ENABLE_ZLIB) - find_package(ZLIB QUIET) - - # The FindZLIB find module provided by CMake behaves differently than the FindZLIB.cmake script generated by CONAN. - # So the following two lines fill in the needed properties. - list(GET ZLIB_LIBRARIES 0 ZLIB_LIBRARY) - set_property(TARGET ZLIB::ZLIB PROPERTY LOCATION "${ZLIB_LIBRARY}") - - # Additionally LLVM 11.1.0 requires the zlib lib dir to be in the library path. - # This is not needed for later versions and can be removed once - # LLVM-12 becomes the oldest supported version. - if(UNIX) - set(ENV{LIBRARY_PATH} "${CONAN_LIB_DIRS_ZLIB}:$ENV{LIBRARY_PATH}") - elseif(WIN32) - file(TO_NATIVE_PATH "${CONAN_LIB_DIRS_ZLIB}" WINDOWS_ZLIB_PATH) - string(APPEND CMAKE_EXE_LINKER_FLAGS " /LIBPATH:${WINDOWS_ZLIB_PATH}") - endif() -endif() - -add_subdirectory("source") diff --git a/recipes/llvm-core/all/conandata.yml b/recipes/llvm-core/all/conandata.yml index 331f5f3a1903f..763714460b800 100644 --- a/recipes/llvm-core/all/conandata.yml +++ b/recipes/llvm-core/all/conandata.yml @@ -10,18 +10,60 @@ sources: sha256: ce8508e318a01a63d4e8b3090ab2ded3c598a50258cc49e2625b9120d4c03ea5 patches: - "11.1.0": - - base_path: "source" - patch_file: "patches/11x/11.1.0-cmake.patch" - - base_path: "source" - patch_file: "patches/11x/11.1.0-native.patch" - "12.0.0": - - base_path: "source" - patch_file: "patches/12x/12.0.0-cmake.patch" - - base_path: "source" - patch_file: "patches/12x/12.0.0-native.patch" "13.0.0": - - base_path: "source" - patch_file: "patches/13x/13.0.0-cmake.patch" - - base_path: "source" - patch_file: "patches/13x/13.0.0-native.patch" + - patch_file: patches/13x/0000-cmake-dependencies.patch + patch_description: fix references to third party libs to match conan variables and targets + patch_type: conan + - patch_file: patches/13x/0001-calculate-job-pools.patch + patch_description: calculate resource limits for compiling LLVM + patch_type: portability + patch_source: https://github.com/llvm/llvm-project/pull/65274 + - patch_file: patches/13x/0002-missing-includes.patch + patch_description: fix missing header files + patch_type: portability + patch_source: https://github.com/llvm/llvm-project-release-prs/pull/3 + - patch_file: patches/13x/0003-no-build-with-install-rpath.patch + patch_description: do not build shared libs with install rpath + patch_type: conan + - patch_file: patches/13x/0004-remove-lto-exports.patch + patch_description: remove LTO exports causing link error with lld + patch_source: https://github.com/llvm/llvm-project-release-prs/pull/279 + patch_type: portability + "12.0.0": + - patch_file: patches/12x/0000-cmake-dependencies.patch + patch_description: fix references to third party libs to match conan variables and targets + patch_type: conan + - patch_file: patches/12x/0001-calculate-job-pools.patch + patch_description: calculate resource limits for compiling LLVM + patch_type: portability + patch_source: https://github.com/llvm/llvm-project/pull/65274 + - patch_file: patches/12x/0002-missing-includes.patch + patch_description: fix missing header files + patch_type: portability + patch_source: https://github.com/llvm/llvm-project-release-prs/pull/3 + - patch_file: patches/12x/0003-no-build-with-install-rpath.patch + patch_description: do not build shared libs with install rpath + patch_type: conan + - patch_file: patches/12x/0004-remove-lto-exports.patch + patch_description: remove LTO exports causing link error with lld + patch_source: https://github.com/llvm/llvm-project-release-prs/pull/279 + patch_type: portability + "11.1.0": + - patch_file: patches/11x/0000-cmake-dependencies.patch + patch_description: fix references to third party libs to match conan variables and targets + patch_type: conan + - patch_file: "patches/11x/0001-calculate-job-pools.patch" + patch_description: calculate resource limits for compiling LLVM + patch_type: portability + patch_source: https://github.com/llvm/llvm-project/pull/65274 + - patch_file: patches/11x/0002-missing-includes.patch + patch_description: fix missing header files + patch_type: portability + patch_source: https://github.com/llvm/llvm-project-release-prs/pull/3 + - patch_file: patches/11x/0003-no-build-with-install-rpath.patch + patch_description: do not build shared libs with install rpath + patch_type: conan + - patch_file: patches/11x/0004-remove-lto-exports.patch + patch_description: remove LTO exports causing link error with lld + patch_source: https://github.com/llvm/llvm-project-release-prs/pull/279 + patch_type: portability diff --git a/recipes/llvm-core/all/conanfile.py b/recipes/llvm-core/all/conanfile.py index 263cb7360506c..172f48102fc18 100644 --- a/recipes/llvm-core/all/conanfile.py +++ b/recipes/llvm-core/all/conanfile.py @@ -1,429 +1,477 @@ -from conan.errors import ConanInvalidConfiguration from conan import ConanFile -from conan.tools.build import cross_building -from conan.tools.files import apply_conandata_patches, chdir, collect_libs, get, load, rename, replace_in_file, rm, rmdir, save +from conan.errors import ConanInvalidConfiguration +from conan.tools.apple import is_apple_os +from conan.tools.build import check_min_cppstd, cross_building +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.files import ( + apply_conandata_patches, + collect_libs, + get, + rmdir, + save, + copy, + export_conandata_patches, + rm, + rename, + replace_in_file +) +from conan.tools.microsoft import is_msvc, msvc_runtime_flag from conan.tools.scm import Version -from conans import CMake -from collections import defaultdict + import json -import re -import os.path import os +from pathlib import Path +import re import textwrap -required_conan_version = ">=1.50.2" # Due to conan.tools.scm.Version + +required_conan_version = ">=1.62.0" + +# LLVM's default config is to enable all targets, but end users can significantly reduce +# build times for the package by specifying only the targets they need as a +# semi-colon delimited string in the value of the 'targets' option +LLVM_TARGETS = { + "AArch64", + "AMDGPU", + "ARM", + "AVR", + "BPF", + "Hexagon", + "Lanai", + "LoongArch", + "Mips", + "MSP430", + "NVPTX", + "PowerPC", + "RISCV", + "Sparc", + "SystemZ", + "VE", + "WebAssembly", + "X86", + "XCore" +} class LLVMCoreConan(ConanFile): - name = 'llvm-core' + name = "llvm-core" description = ( - 'A toolkit for the construction of highly optimized compilers,' - 'optimizers, and runtime environments.' + "A toolkit for the construction of highly optimized compilers," + "optimizers, and runtime environments." ) - license = 'Apache-2.0 WITH LLVM-exception' - topics = ('llvm', 'compiler') - homepage = 'https://llvm.org' - url = 'https://github.com/conan-io/conan-center-index' - - settings = ('os', 'arch', 'compiler', 'build_type') + license = "Apache-2.0 WITH LLVM-exception" + topics = ("llvm", "compiler") + homepage = "https://llvm.org" + url = "https://github.com/conan-io/conan-center-index" + settings = "os", "arch", "compiler", "build_type" options = { - 'shared': [True, False], - 'fPIC': [True, False], - 'components': 'ANY', - 'targets': 'ANY', - 'exceptions': [True, False], - 'rtti': [True, False], - 'threads': [True, False], - 'lto': ['On', 'Off', 'Full', 'Thin'], - 'static_stdlib': [True, False], - 'unwind_tables': [True, False], - 'expensive_checks': [True, False], - 'use_perf': [True, False], - 'use_sanitizer': [ - 'Address', - 'Memory', - 'MemoryWithOrigins', - 'Undefined', - 'Thread', - 'DataFlow', - 'Address;Undefined', - 'None' + "shared": [True, False], + "fPIC": [True, False], + "components": ["ANY"], + "targets": ["ANY"], + "exceptions": [True, False], + "rtti": [True, False], + "threads": [True, False], + "lto": ["On", "Off", "Full", "Thin"], + "static_stdlib": [True, False], + "unwind_tables": [True, False], + "expensive_checks": [True, False], + "use_perf": [True, False], + "use_sanitizer": [ + "Address", + "Memory", + "MemoryWithOrigins", + "Undefined", + "Thread", + "DataFlow", + "Address;Undefined", + "None" ], - 'with_ffi': [True, False], - 'with_zlib': [True, False], - 'with_xml2': [True, False], - 'use_llvm_cmake_files': [True, False], + "with_ffi": [True, False], + "with_libedit": [True, False], + "with_terminfo": [True, False], + "with_zlib": [True, False], + "with_xml2": [True, False], + "with_z3": [True, False], } default_options = { - 'shared': False, - 'fPIC': True, - 'components': 'all', - 'targets': 'all', - 'exceptions': True, - 'rtti': True, - 'threads': True, - 'lto': 'Off', - 'static_stdlib': False, - 'unwind_tables': True, - 'expensive_checks': False, - 'use_perf': False, - 'use_sanitizer': 'None', - 'with_ffi': False, - 'with_zlib': True, - 'with_xml2': True, - 'use_llvm_cmake_files': False, + "shared": False, + "fPIC": True, + "components": "all", + "targets": "all", + "exceptions": True, + "rtti": True, + "threads": True, + "lto": "Off", + "static_stdlib": False, + "unwind_tables": True, + "expensive_checks": False, + "use_perf": False, + "use_sanitizer": "None", + "with_libedit": True, + "with_ffi": False, + "with_terminfo": False, # differs from LLVM default + "with_xml2": True, + "with_z3": True, + "with_zlib": True, } - # Older cmake versions may have issues generating the graphviz output used - # to model the components - build_requires = [ - 'cmake/3.20.5' - ] - - generators = 'cmake', 'cmake_find_package' - no_copy_source = True - short_paths = True - @property - def _source_subfolder(self): - return 'source' - - def _supports_compiler(self): - compiler = self.settings.compiler.value - version = Version(self.settings.compiler.version) - major_rev, minor_rev = version.major, (version.minor or 0) - - unsupported_combinations = [ - [compiler == 'gcc', major_rev == 5, minor_rev < 1], - [compiler == 'gcc', major_rev < 5], - [compiler == 'clang', major_rev < 4], - [compiler == 'apple-clang', major_rev < 9], - [compiler == 'Visual Studio', major_rev < 15] - ] - if any(all(combination) for combination in unsupported_combinations): - message = 'unsupported compiler: "{}", version "{}"' - raise ConanInvalidConfiguration(message.format(compiler, version)) - - def _patch_sources(self): - apply_conandata_patches(self) - - def _patch_build(self): - if os.path.exists('FindIconv.cmake'): - replace_in_file(self, 'FindIconv.cmake', 'iconv charset', 'iconv') + def _min_cppstd(self): + return 14 - def _configure_cmake(self): - cmake = CMake(self) - cmake.definitions['BUILD_SHARED_LIBS'] = False - cmake.definitions['CMAKE_SKIP_RPATH'] = True - cmake.definitions['CMAKE_POSITION_INDEPENDENT_CODE'] = \ - self.options.get_safe('fPIC', default=False) or self.options.shared - - if not self.options.shared: - cmake.definitions['DISABLE_LLVM_LINK_LLVM_DYLIB'] = True - # cmake.definitions['LLVM_LINK_DYLIB'] = self.options.shared - - cmake.definitions['LLVM_TARGET_ARCH'] = 'host' - cmake.definitions['LLVM_TARGETS_TO_BUILD'] = self.options.targets - cmake.definitions['LLVM_BUILD_LLVM_DYLIB'] = self.options.shared - cmake.definitions['LLVM_DYLIB_COMPONENTS'] = self.options.components - cmake.definitions['LLVM_ENABLE_PIC'] = \ - self.options.get_safe('fPIC', default=False) - - if self.settings.compiler == 'Visual Studio': - build_type = str(self.settings.build_type).upper() - cmake.definitions['LLVM_USE_CRT_{}'.format(build_type)] = \ - self.settings.compiler.runtime - - cmake.definitions['LLVM_ABI_BREAKING_CHECKS'] = 'WITH_ASSERTS' - cmake.definitions['LLVM_ENABLE_WARNINGS'] = True - cmake.definitions['LLVM_ENABLE_PEDANTIC'] = True - cmake.definitions['LLVM_ENABLE_WERROR'] = False - - cmake.definitions['LLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN'] = True - cmake.definitions['LLVM_USE_RELATIVE_PATHS_IN_DEBUG_INFO'] = False - cmake.definitions['LLVM_BUILD_INSTRUMENTED_COVERAGE'] = False - cmake.definitions['LLVM_OPTIMIZED_TABLEGEN'] = True - cmake.definitions['LLVM_REVERSE_ITERATION'] = False - cmake.definitions['LLVM_ENABLE_BINDINGS'] = False - cmake.definitions['LLVM_CCACHE_BUILD'] = False - - cmake.definitions['LLVM_INCLUDE_TOOLS'] = self.options.shared - cmake.definitions['LLVM_INCLUDE_EXAMPLES'] = False - cmake.definitions['LLVM_INCLUDE_TESTS'] = False - cmake.definitions['LLVM_INCLUDE_BENCHMARKS'] = False - cmake.definitions['LLVM_APPEND_VC_REV'] = False - cmake.definitions['LLVM_BUILD_DOCS'] = False - cmake.definitions['LLVM_ENABLE_IDE'] = False - cmake.definitions['LLVM_ENABLE_TERMINFO'] = False - - cmake.definitions['LLVM_ENABLE_EH'] = self.options.exceptions - cmake.definitions['LLVM_ENABLE_RTTI'] = self.options.rtti - cmake.definitions['LLVM_ENABLE_THREADS'] = self.options.threads - cmake.definitions['LLVM_ENABLE_LTO'] = self.options.lto - cmake.definitions['LLVM_STATIC_LINK_CXX_STDLIB'] = \ - self.options.static_stdlib - cmake.definitions['LLVM_ENABLE_UNWIND_TABLES'] = \ - self.options.unwind_tables - cmake.definitions['LLVM_ENABLE_EXPENSIVE_CHECKS'] = \ - self.options.expensive_checks - cmake.definitions['LLVM_ENABLE_ASSERTIONS'] = \ - self.settings.build_type == 'Debug' - - cmake.definitions['LLVM_USE_NEWPM'] = False - cmake.definitions['LLVM_USE_OPROFILE'] = False - cmake.definitions['LLVM_USE_PERF'] = self.options.use_perf - if self.options.use_sanitizer == 'None': - cmake.definitions['LLVM_USE_SANITIZER'] = '' - else: - cmake.definitions['LLVM_USE_SANITIZER'] = \ - self.options.use_sanitizer - - cmake.definitions['LLVM_ENABLE_Z3_SOLVER'] = False - cmake.definitions['LLVM_ENABLE_LIBPFM'] = False - cmake.definitions['LLVM_ENABLE_LIBEDIT'] = False - cmake.definitions['LLVM_ENABLE_FFI'] = self.options.with_ffi - cmake.definitions['LLVM_ENABLE_ZLIB'] = "FORCE_ON" if \ - self.options.get_safe('with_zlib', False) else False - cmake.definitions['LLVM_ENABLE_LIBXML2'] = \ - self.options.get_safe('with_xml2', False) - return cmake + @property + def _compilers_minimum_version(self): + return { + "apple-clang": "10", + "clang": "7", + "gcc": "7", + "msvc": "191", + "Visual Studio": "15", + } def export_sources(self): - self.copy("CMakeLists.txt") - for patch in self.conan_data.get("patches", {}).get(self.version, []): - self.copy(patch["patch_file"]) + export_conandata_patches(self) def config_options(self): - if self.settings.os == 'Windows': + if self.settings.os == "Windows": del self.options.fPIC - del self.options.with_xml2 + del self.options.with_libedit # not supported on windows + + def configure(self): + if self.options.shared: + self.options.rm_safe("fPIC") + + def layout(self): + cmake_layout(self, src_folder="src") def requirements(self): if self.options.with_ffi: - self.requires('libffi/3.3') - if self.options.get_safe('with_zlib', False): - self.requires('zlib/1.2.12') - if self.options.get_safe('with_xml2', False): - self.requires('libxml2/2.9.10') - - def package_id(self): - del self.info.options.use_llvm_cmake_files + self.requires("libffi/3.4.4") + if self.options.get_safe("with_libedit"): + self.requires("editline/3.1") + if self.options.with_zlib: + self.requires("zlib/[>=1.2.11 <2]") + if self.options.with_xml2: + self.requires("libxml2/[>=2.12.5 <3]") + if self.options.with_z3: + self.requires("z3/4.13.0") + + def build_requirements(self): + self.tool_requires("ninja/[>=1.10.2 <2]") def validate(self): - if self.options.shared: # Shared builds disabled just due to the CI - message = 'Shared builds not currently supported' - raise ConanInvalidConfiguration(message) - # del self.options.fPIC - # if self.settings.os == 'Windows' and self.options.shared: - # message = 'Shared builds not supported on Windows' - # raise ConanInvalidConfiguration(message) + if self.settings.compiler.cppstd: + check_min_cppstd(self, self._min_cppstd) + minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) + if minimum_version and Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration( + f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." + ) + + if self.options.shared: + if self.settings.os == "Windows": + raise ConanInvalidConfiguration("Shared builds are currently not supported on Windows") + if is_apple_os(self): + # FIXME iconv contains duplicate symbols in the libiconv and libcharset libraries (both of which are + # provided by libiconv). This may be an issue with how conan packages libiconv + iconv_dep = self.dependencies.get("libiconv") + if iconv_dep and not iconv_dep.options.shared: + raise ConanInvalidConfiguration("Static iconv cannot be linked into a shared library on macos " + "due to duplicate symbols. Use libxml2/*:iconv=False.") + if self.options.exceptions and not self.options.rtti: - message = 'Cannot enable exceptions without rtti support' - raise ConanInvalidConfiguration(message) - self._supports_compiler() - if cross_building(self, skip_x64_x86=True): - raise ConanInvalidConfiguration('Cross-building not implemented') + raise ConanInvalidConfiguration("Cannot enable exceptions without rtti support") + + if cross_building(self): + # FIXME support cross compilation + # For Cross Building, LLVM builds a "native" toolchain in a subdirectory of the main build directory. + # This subdirectory would need to have the conan cmake configuration files for the build platform + # installed into it for a cross build to be successful. + # see also https://llvm.org/docs/HowToCrossCompileLLVM.html + raise ConanInvalidConfiguration("Cross compilation is not supported. Contributions are welcome!") + + def validate_build(self): + if os.getenv("CONAN_CENTER_BUILD_SERVICE") and self.settings.build_type == "Debug": + if self.settings.os == "Linux": + raise ConanInvalidConfiguration("Debug build is not supported on CCI due to resource limitations") + elif self.options.shared: + raise ConanInvalidConfiguration("Shared Debug build is not supported on CCI due to resource limitations") def source(self): - get(self, **self.conan_data["sources"][self.version], strip_root=True, - destination=self._source_subfolder) - self._patch_sources() + get(self, **self.conan_data["sources"][self.version], strip_root=True) - def build(self): - self._patch_build() - cmake = self._configure_cmake() - cmake.configure() - cmake.build() + def _apply_resource_limits(self, cmake_definitions): + if os.getenv("CONAN_CENTER_BUILD_SERVICE"): + self.output.info("Applying CCI Resource Limits") + default_ram_per_compile_job = 16384 + default_ram_per_link_job = 2048 + else: + default_ram_per_compile_job = None + default_ram_per_link_job = None - @property - def _module_subfolder(self): - return os.path.join("lib", "cmake", "llvm") + ram_per_compile_job = self.conf.get("user.llvm-core:ram_per_compile_job", default_ram_per_compile_job) + if ram_per_compile_job: + cmake_definitions["LLVM_RAM_PER_COMPILE_JOB"] = ram_per_compile_job + + ram_per_link_job = self.conf.get("user.llvm-core:ram_per_link_job", default_ram_per_link_job) + if ram_per_link_job: + cmake_definitions["LLVM_RAM_PER_LINK_JOB"] = ram_per_link_job @property - def _alias_module_file_rel_path(self): - return os.path.join(self._module_subfolder, "conan-official-{}-targets.cmake".format(self.name)) + def _targets_to_build(self): + return self.options.targets if self.options.targets != "all" else self._all_targets @property - def _old_alias_module_file_rel_path(self): - return os.path.join(self._module_subfolder, "conan-official-{}-old-targets.cmake".format(self.name)) - - def _create_cmake_module_alias_targets(self, module_file, targets): - content = "" - for alias, aliased in targets.items(): - content += textwrap.dedent("""\ - if(TARGET {aliased} AND NOT TARGET {alias}) - add_library({alias} INTERFACE IMPORTED) - set_property(TARGET {alias} PROPERTY INTERFACE_LINK_LIBRARIES {aliased}) - endif() - """.format(alias=alias, aliased=aliased)) - save(self, module_file, content) + def _all_targets(self): + targets = LLVM_TARGETS if Version(self.version) >= 14 else LLVM_TARGETS - {"LoongArch", "VE"} + return ";".join(targets) + + def generate(self): + tc = CMakeToolchain(self, generator="Ninja") + # https://releases.llvm.org/12.0.0/docs/CMake.html + # https://releases.llvm.org/13.0.0/docs/CMake.html + cmake_variables = { + # Enables LLVM to find conan libraries during try_compile + "CMAKE_TRY_COMPILE_CONFIGURATION": str(self.settings.build_type), + # LLVM has two separate concepts of a "shared library build". + # "BUILD_SHARED_LIBS" builds shared versions of all the static components + # "LLVM_BUILD_LLVM_DYLIB" builds a single shared library containing all components. + # It is likely the latter that the user expects by a "shared library" build. + "BUILD_SHARED_LIBS": False, + "LLVM_BUILD_LLVM_DYLIB": self.options.shared, + "LLVM_LINK_LLVM_DYLIB": self.options.shared, + "LLVM_DYLIB_COMPONENTS": self.options.components, + "LLVM_ABI_BREAKING_CHECKS": "WITH_ASSERTS", + "LLVM_INCLUDE_TOOLS": True, + "LLVM_INCLUDE_EXAMPLES": False, + "LLVM_INCLUDE_TESTS": False, + "LLVM_ENABLE_IDE": False, + "LLVM_ENABLE_EH": self.options.exceptions, + "LLVM_ENABLE_RTTI": self.options.rtti, + "LLVM_ENABLE_THREADS": self.options.threads, + "LLVM_ENABLE_LTO": self.options.lto, + "LLVM_STATIC_LINK_CXX_STDLIB": self.options.static_stdlib, + "LLVM_ENABLE_UNWIND_TABLES": self.options.unwind_tables, + "LLVM_ENABLE_EXPENSIVE_CHECKS": self.options.expensive_checks, + "LLVM_ENABLE_ASSERTIONS": str(self.settings.build_type), + "LLVM_USE_PERF": self.options.use_perf, + "LLVM_ENABLE_LIBEDIT": self.options.get_safe("with_libedit", False), + "LLVM_ENABLE_Z3_SOLVER": self.options.with_z3, + "LLVM_ENABLE_FFI": self.options.with_ffi, + "LLVM_ENABLE_ZLIB": "FORCE_ON" if self.options.with_zlib else False, + "LLVM_ENABLE_LIBXML2": "FORCE_ON" if self.options.with_xml2 else False, + "LLVM_ENABLE_TERMINFO": self.options.with_terminfo + } + if self.options.targets != "all": + cmake_variables["LLVM_TARGETS_TO_BUILD"] = self.options.targets - def package(self): - self.copy('LICENSE.TXT', dst='licenses', src=self._source_subfolder) - lib_path = os.path.join(self.package_folder, 'lib') + self._apply_resource_limits(cmake_variables) - cmake = self._configure_cmake() - cmake.install() + if is_msvc(self): + build_type = str(self.settings.build_type).upper() + cmake_variables[f"LLVM_USE_CRT_{build_type}"] = msvc_runtime_flag(self) if not self.options.shared: - for ext in ['.a', '.lib']: - lib = '**/lib/*LLVMTableGenGlobalISel{}'.format(ext) - self.copy(lib, dst='lib', keep_path=False) - lib = '*LLVMTableGenGlobalISel{}'.format(ext) - self.copy(lib, dst='lib', src='lib') - - CMake(self).configure(args=['--graphviz=graph/llvm.dot'], source_dir='.', build_dir='.') - with chdir(self, 'graph'): - dot_text = load(self, 'llvm.dot').replace('\r\n', '\n') - - dep_regex = re.compile(r'//\s(.+)\s->\s(.+)$', re.MULTILINE) - deps = re.findall(dep_regex, dot_text) - - dummy_targets = defaultdict(list) - for target, dep in deps: - if not target.startswith('LLVM'): - dummy_targets[target].append(dep) - - cmake_targets = { - 'libffi::libffi': 'ffi', - 'ZLIB::ZLIB': 'z', - 'Iconv::Iconv': 'iconv', - 'LibXml2::LibXml2': 'xml2' - } + cmake_variables.update({ + "DISABLE_LLVM_LINK_LLVM_DYLIB": True, + "LLVM_ENABLE_PIC": self.options.get_safe("fPIC", default=True) + }) - components = defaultdict(list) - for lib, dep in deps: - if not lib.startswith('LLVM'): - continue - elif dep.startswith('-delayload:'): + if self.options.use_sanitizer == "None": + cmake_variables["LLVM_USE_SANITIZER"] = "" + else: + cmake_variables["LLVM_USE_SANITIZER"] = self.options.use_sanitizer + + if self.settings.os == "Linux": + # Workaround for: https://github.com/conan-io/conan/issues/13560 + libdirs_host = [l for dependency in self.dependencies.host.values() for l in dependency.cpp_info.aggregated_components().libdirs] + tc.variables["CMAKE_BUILD_RPATH"] = ";".join(libdirs_host) + + tc.cache_variables.update(cmake_variables) + tc.generate() + + tc = CMakeDeps(self) + tc.generate() + + def build(self): + apply_conandata_patches(self) + cmake = CMake(self) + cmake.configure() + cmake.build() + + @property + def _package_folder_path(self): + return Path(self.package_folder) + + def _update_component_dependencies(self, components): + def _sanitized_components(deps_list): + match_genex = re.compile(r"""\\\$""") + replacements = { + "LibXml2::LibXml2": "libxml2::libxml2", + "ZLIB::ZLIB": "zlib::zlib" + } + for dep in deps_list.split(";"): + match = match_genex.search(dep) + if match: + yield match.group(1) + else: + replacement = replacements.get(dep) + if replacement: + yield replacement + elif dep.startswith("-l"): + yield dep[2:] + else: + yield dep + + def _parse_deps(deps_list): + data = { + "requires": [], + "system_libs": [] + } + windows_system_libs = [ + "ole32", + "delayimp", + "shell32", + "advapi32", + "-delayload:shell32.dll", + "uuid", + "psapi", + "-delayload:ole32.dll" + ] + for component in _sanitized_components(deps_list): + if component in windows_system_libs: continue - elif dep.startswith('LLVM'): - components[dep] - elif dep in cmake_targets: - dep = cmake_targets[dep] - elif os.path.exists(dep): - dep = os.path.splitext(os.path.basename(dep))[0] - dep = dep.replace('lib', '') - dep = dep.replace('-l', '') - - if dep in dummy_targets.keys(): - components[lib].extend(dummy_targets[dep]) - components[lib] = list(set(components[lib])) + if component in ["rt", "m", "dl", "pthread"]: + data["system_libs"].append(component) else: - components[lib].append(dep) - - alias_targets = {} - old_alias_targets = {} - for component, _ in components.items(): - alias_targets[component] = "LLVM::{}".format(component) - old_alias_targets["llvm-core::{}".format(component[4:].replace('LLVM', '').lower())] = "LLVM::{}".format(component) - - # TODO: to remove in conan v2 once cmake_find_package_* generators removed - self._create_cmake_module_alias_targets( - os.path.join(self.package_folder, self._alias_module_file_rel_path), - alias_targets - ) + data["requires"].append(component) + return data - self._create_cmake_module_alias_targets( - os.path.join(self.package_folder, self._old_alias_module_file_rel_path), - old_alias_targets - ) + # Can't use tools.files.load due to CRLF endings on Windows causing issues with Regular Expressions + cmake_exports = (self._package_folder_path / "lib" / "cmake" / "llvm" / "LLVMExports.cmake").read_text("utf-8") + match_dependencies = re.compile( + r'''^set_target_properties\((\w+).*\n?\s*INTERFACE_LINK_LIBRARIES\s+"(\S+)"''', re.MULTILINE) - rmdir(self, os.path.join(self.package_folder, 'share')) + for llvm_lib, dependencies in match_dependencies.findall(cmake_exports): + if llvm_lib in components: + components[llvm_lib].update(_parse_deps(dependencies)) - rm(self, "LLVMExports*.cmake", self.package_folder, recursive=True) - rename(self, os.path.join(self.package_folder, self._module_subfolder, 'LLVM-Config.cmake'), - os.path.join(self.package_folder, self._module_subfolder, 'LLVM-ConfigInternal.cmake')) - rename(self, os.path.join(self.package_folder, self._module_subfolder, 'LLVMConfig.cmake'), - os.path.join(self.package_folder, self._module_subfolder, 'LLVMConfigInternal.cmake')) + def _llvm_build_info(self): + cmake_config = (self._package_folder_path / "lib" / "cmake" / "llvm" / "LLVMConfig.cmake").read_text("utf-8") - replace_in_file(self, os.path.join(self.package_folder, self._module_subfolder, 'AddLLVM.cmake'), - "include(LLVM-Config)", - "include(LLVM-ConfigInternal)") - replace_in_file(self, os.path.join(self.package_folder, self._module_subfolder, 'LLVMConfigInternal.cmake'), - "LLVM-Config.cmake", - "LLVM-ConfigInternal.cmake") + match_cmake_var = re.compile(r"""^set\(LLVM_AVAILABLE_LIBS (?P.*)\)$""", re.MULTILINE) + match = match_cmake_var.search(cmake_config) + if match is None: + self.output.warning("Could not find components in LLVMConfig.cmake") + return None - for mask in ["Find*.cmake", "*Config.cmake", "*-config.cmake"]: - rm(self, mask, self.package_folder, recursive=True) + components = {component: {} for component in match.groupdict()["components"].split(";")} + self._update_component_dependencies(components) - for name in os.listdir(lib_path): - fullname = os.path.join(lib_path, name) - if 'LLVM' not in name and os.path.isfile(fullname): - os.remove(fullname) + return { + "components": components, + "native_arch": re.search(r"""^set\(LLVM_NATIVE_ARCH (\S*)\)$""", cmake_config, re.MULTILINE).group(1) + } - if not self.options.shared: - if self.options.get_safe('with_zlib', False): - if not 'z' in components['LLVMSupport']: - components['LLVMSupport'].append('z') - components_path = \ - os.path.join(self.package_folder, 'lib', 'components.json') - with open(components_path, 'w') as components_file: - json.dump(components, components_file, indent=4) - else: - suffixes = ['.dylib', '.so'] - for name in os.listdir(lib_path): - if not any(suffix in name for suffix in suffixes): - os.remove(os.path.join(lib_path, name)) + @property + def _cmake_module_path(self): + return Path("lib") / "cmake" / "llvm" - def package_info(self): - self.cpp_info.set_property("cmake_file_name", "LLVM") + @property + def _build_info_file(self): + return self._package_folder_path / self._cmake_module_path / "conan_llvm_build_info.json" - if self.options.shared: - self.cpp_info.libs = collect_libs(self) - if self.settings.os == 'Linux': - self.cpp_info.system_libs = ['pthread', 'rt', 'dl', 'm'] - elif self.settings.os == 'Macos': - self.cpp_info.system_libs = ['m'] - return - - components_path = \ - os.path.join(self.package_folder, 'lib', 'components.json') - with open(components_path, 'r') as components_file: - components = json.load(components_file) - - dependencies = ['ffi', 'z', 'iconv', 'xml2'] - targets = { - 'ffi': 'libffi::libffi', - 'z': 'zlib::zlib', - 'xml2': 'libxml2::libxml2' - } + @property + def _build_module_file_rel_path(self): + return self._cmake_module_path / f"conan-official-{self.name}-variables.cmake" + + def _create_cmake_build_module(self, build_info, module_file): + targets_with_jit = ["X86", "PowerPC", "AArch64", "ARM", "Mips", "SystemZ"] + content = textwrap.dedent(f"""\ + set(LLVM_TOOLS_BINARY_DIR "${{CMAKE_CURRENT_LIST_DIR}}/../../../bin") + cmake_path(NORMAL_PATH LLVM_TOOLS_BINARY_DIR) + set(LLVM_PACKAGE_VERSION "{self.version}") + set(LLVM_AVAILABLE_LIBS "{';'.join(build_info['components'].keys())}") + set(LLVM_BUILD_TYPE "{self.settings.build_type}") + set(LLVM_CMAKE_DIR "${{CMAKE_CURRENT_LIST_DIR}}") + set(LLVM_ALL_TARGETS "{self._all_targets}") + set(LLVM_TARGETS_TO_BUILD "{self._targets_to_build}") + set(LLVM_TARGETS_WITH_JIT "{';'.join(targets_with_jit)}") + set(LLVM_NATIVE_ARCH "{build_info['native_arch']}") + set_property(GLOBAL PROPERTY LLVM_TARGETS_CONFIGURED On) + set_property(GLOBAL PROPERTY LLVM_COMPONENT_LIBS ${{LLVM_AVAILABLE_LIBS}}) + if (NOT TARGET intrinsics_gen) + add_custom_target(intrinsics_gen) + endif() + if (NOT TARGET omp_gen) + add_custom_target(omp_gen) + endif() + if (NOT TARGET acc_gen) + add_custom_target(acc_gen) + endif() + """) + save(self, module_file, content) - for component, deps in components.items(): - self.cpp_info.components[component].libs = [component] - self.cpp_info.components[component].requires.extend(dep for dep in deps if dep.startswith('LLVM')) + def _write_build_info(self): + build_info = self._llvm_build_info() + with open(self._build_info_file, "w", encoding="utf-8") as fp: + json.dump(build_info, fp, indent=2) - for lib, target in targets.items(): - if lib in deps: - self.cpp_info.components[component].requires.append(target) + return build_info - self.cpp_info.components[component].system_libs = [ - dep for dep in deps - if not dep.startswith('LLVM') and dep not in dependencies - ] + def _read_build_info(self) -> dict: + with open(self._build_info_file, encoding="utf-8") as fp: + return json.load(fp) - self.cpp_info.components[component].set_property("cmake_target_name", component) - self.cpp_info.components[component].builddirs.append(self._module_subfolder) - - self.cpp_info.components[component].names["cmake_find_package"] = component - self.cpp_info.components[component].names["cmake_find_package_multi"] = component - self.cpp_info.components[component].build_modules["cmake_find_package"].extend([ - self._alias_module_file_rel_path, - self._old_alias_module_file_rel_path, - ]) - self.cpp_info.components[component].build_modules["cmake_find_package_multi"].extend([ - self._alias_module_file_rel_path, - self._old_alias_module_file_rel_path, - ]) - - if self.options.use_llvm_cmake_files: - self.cpp_info.components[component].build_modules["cmake_find_package"].append( - os.path.join(self._module_subfolder, "LLVMConfigInternal.cmake") - ) - self.cpp_info.components[component].build_modules["cmake_find_package_multi"].append( - os.path.join(self._module_subfolder, "LLVMConfigInternal.cmake") - ) - - # TODO: to remove in conan v2 once cmake_find_package* generators removed - self.cpp_info.names["cmake_find_package"] = "LLVM" - self.cpp_info.names["cmake_find_package_multi"] = "LLVM" + def package(self): + copy(self, "LICENSE.TXT", self.source_folder, (self._package_folder_path / "licenses").as_posix()) + cmake = CMake(self) + cmake.install() + + build_info = self._write_build_info() + + cmake_folder = self._package_folder_path / "lib" / "cmake" / "llvm" + cmake_folder_posix = cmake_folder.as_posix() + rm(self, "LLVMConfig.cmake", cmake_folder_posix) + rm(self, "LLVMExports*", cmake_folder_posix) + rm(self, "Find*", cmake_folder_posix) + rm(self, "*.pdb", (self._package_folder_path / "lib").as_posix()) + rm(self, "*.pdb", (self._package_folder_path / "bin").as_posix()) + # need to rename this as Conan will flag it, but it's not actually a Config file and is needed by + # downstream packages + rename(self, (cmake_folder / "LLVM-Config.cmake").as_posix(), (cmake_folder / "LLVM-ConfigInternal.cmake").as_posix()) + replace_in_file(self, (cmake_folder / "AddLLVM.cmake").as_posix(), "LLVM-Config", "LLVM-ConfigInternal") + rmdir(self, (self._package_folder_path / "share").as_posix()) + if self.options.shared: + rm(self, "*.a", (self._package_folder_path / "lib").as_posix()) + + self._create_cmake_build_module( + build_info, + (self._package_folder_path / self._build_module_file_rel_path).as_posix() + ) + + def package_info(self): + self.cpp_info.set_property("cmake_file_name", "LLVM") + self.cpp_info.set_property("cmake_build_modules", + [self._build_module_file_rel_path, + (self._cmake_module_path / "LLVM-ConfigInternal.cmake").as_posix()] + ) + self.cpp_info.builddirs.append(self._cmake_module_path) + + if not self.options.shared: + build_info = self._read_build_info() + components = build_info["components"] + + for component_name, data in components.items(): + self.cpp_info.components[component_name].set_property("cmake_target_name", component_name) + self.cpp_info.components[component_name].libs = [component_name] + requires = data.get("requires") + if requires is not None: + self.cpp_info.components[component_name].requires += requires + system_libs = data.get("system_libs") + if system_libs is not None: + self.cpp_info.components[component_name].system_libs += system_libs + else: + self.cpp_info.set_property("cmake_target_name", "LLVM") + self.cpp_info.libs = collect_libs(self) diff --git a/recipes/llvm-core/all/patches/11x/0000-cmake-dependencies.patch b/recipes/llvm-core/all/patches/11x/0000-cmake-dependencies.patch new file mode 100644 index 0000000000000..3da6ed6f9b317 --- /dev/null +++ b/recipes/llvm-core/all/patches/11x/0000-cmake-dependencies.patch @@ -0,0 +1,118 @@ +diff --git a/cmake/config-ix.cmake b/cmake/config-ix.cmake +index 90e5d327c75..c8bcb1afb76 100644 +--- a/cmake/config-ix.cmake ++++ b/cmake/config-ix.cmake +@@ -5,6 +5,7 @@ endif() + + include(CheckIncludeFile) + include(CheckLibraryExists) ++include(CMakePushCheckState) + include(CheckSymbolExists) + include(CheckFunctionExists) + include(CheckStructHasMember) +@@ -56,13 +57,27 @@ check_include_file(sys/types.h HAVE_SYS_TYPES_H) + check_include_file(termios.h HAVE_TERMIOS_H) + check_include_file(unistd.h HAVE_UNISTD_H) + check_include_file(valgrind/valgrind.h HAVE_VALGRIND_VALGRIND_H) +-check_include_file(zlib.h HAVE_ZLIB_H) ++ ++if(LLVM_ENABLE_ZLIB) ++ find_package(ZLIB REQUIRED) ++ cmake_push_check_state() ++ list(APPEND CMAKE_REQUIRED_INCLUDES ${ZLIB_INCLUDE_DIRS}) ++ check_include_file(zlib.h HAVE_ZLIB_H) ++ cmake_pop_check_state() ++endif() ++ + check_include_file(fenv.h HAVE_FENV_H) + check_symbol_exists(FE_ALL_EXCEPT "fenv.h" HAVE_DECL_FE_ALL_EXCEPT) + check_symbol_exists(FE_INEXACT "fenv.h" HAVE_DECL_FE_INEXACT) + + check_include_file(mach/mach.h HAVE_MACH_MACH_H) +-check_include_file(histedit.h HAVE_HISTEDIT_H) ++if(LLVM_ENABLE_LIBEDIT) ++ find_package(editline REQUIRED) ++ cmake_push_check_state() ++ list(APPEND CMAKE_REQUIRED_INCLUDES ${editline_INCLUDE_DIRS}) ++ check_include_file(histedit.h HAVE_HISTEDIT_H) ++ cmake_pop_check_state() ++endif() + check_include_file(CrashReporterClient.h HAVE_CRASHREPORTERCLIENT_H) + if(APPLE) + include(CheckCSourceCompiles) +@@ -118,24 +133,21 @@ endif() + # Don't look for these libraries if we're using MSan, since uninstrumented third + # party code may call MSan interceptors like strlen, leading to false positives. + if(NOT LLVM_USE_SANITIZER MATCHES "Memory.*") +- set(HAVE_LIBZ 0) + if(LLVM_ENABLE_ZLIB) +- foreach(library z zlib_static zlib) +- string(TOUPPER ${library} library_suffix) +- check_library_exists(${library} compress2 "" HAVE_LIBZ_${library_suffix}) +- if(HAVE_LIBZ_${library_suffix}) +- set(HAVE_LIBZ 1) +- set(ZLIB_LIBRARIES "${library}") +- break() +- endif() +- endforeach() ++ cmake_push_check_state() ++ list(APPEND CMAKE_REQUIRED_INCLUDES ${ZLIB_INCLUDE_DIRS}) ++ list(APPEND CMAKE_REQUIRED_LIBRARIES ${ZLIB_LIBRARIES}) ++ check_symbol_exists(compress2 zlib.h HAVE_LIBZ) ++ cmake_pop_check_state() + endif() + +- # Don't look for these libraries on Windows. +- if (NOT PURE_WINDOWS) + # Skip libedit if using ASan as it contains memory leaks. + if (LLVM_ENABLE_LIBEDIT AND HAVE_HISTEDIT_H AND NOT LLVM_USE_SANITIZER MATCHES ".*Address.*") ++ cmake_push_check_state() ++ list(APPEND CMAKE_REQUIRED_INCLUDES ${editline_INCLUDE_DIRS}) ++ list(APPEND CMAKE_REQUIRED_LIBRARIES ${editline_LIBRARIES}) + check_library_exists(edit el_init "" HAVE_LIBEDIT) ++ cmake_pop_check_state() + else() + set(HAVE_LIBEDIT 0) + endif() +@@ -157,19 +169,11 @@ if(NOT LLVM_USE_SANITIZER MATCHES "Memory.*") + find_library(ICONV_LIBRARY_PATH NAMES iconv libiconv libiconv-2 c) + set(LLVM_LIBXML2_ENABLED 0) + set(LIBXML2_FOUND 0) +- if((LLVM_ENABLE_LIBXML2) AND ((CMAKE_SYSTEM_NAME MATCHES "Linux") AND (ICONV_LIBRARY_PATH) OR APPLE)) +- find_package(LibXml2) +- if (LIBXML2_FOUND) ++ if(LLVM_ENABLE_LIBXML2) ++ find_package(LibXml2 REQUIRED) + set(LLVM_LIBXML2_ENABLED 1) +- if ((CMAKE_OSX_SYSROOT) AND (EXISTS ${CMAKE_OSX_SYSROOT}/${LIBXML2_INCLUDE_DIR})) +- include_directories(${CMAKE_OSX_SYSROOT}/${LIBXML2_INCLUDE_DIR}) +- else() +- include_directories(${LIBXML2_INCLUDE_DIR}) +- endif() +- endif() + endif() + endif() +-endif() + + if (LLVM_ENABLE_LIBXML2 STREQUAL "FORCE_ON" AND NOT LLVM_LIBXML2_ENABLED) + message(FATAL_ERROR "Failed to congifure libxml2") +@@ -517,7 +521,7 @@ else( LLVM_ENABLE_THREADS ) + message(STATUS "Threads disabled.") + endif() + +-if (LLVM_ENABLE_ZLIB ) ++if (LLVM_ENABLE_ZLIB STREQUAL "FORCE_ON") + # Check if zlib is available in the system. + if ( NOT HAVE_ZLIB_H OR NOT HAVE_LIBZ ) + set(LLVM_ENABLE_ZLIB 0) +diff --git a/lib/LineEditor/CMakeLists.txt b/lib/LineEditor/CMakeLists.txt +index 59190379406..3952bf0144f 100644 +--- a/lib/LineEditor/CMakeLists.txt ++++ b/lib/LineEditor/CMakeLists.txt +@@ -1,5 +1,5 @@ + if(HAVE_LIBEDIT) +- set(link_libs edit) ++ set(link_libs editline::editline) + endif() + + add_llvm_component_library(LLVMLineEditor diff --git a/recipes/llvm-core/all/patches/11x/0001-calculate-job-pools.patch b/recipes/llvm-core/all/patches/11x/0001-calculate-job-pools.patch new file mode 100644 index 0000000000000..b00101aa4e526 --- /dev/null +++ b/recipes/llvm-core/all/patches/11x/0001-calculate-job-pools.patch @@ -0,0 +1,42 @@ +diff --git a/cmake/modules/HandleLLVMOptions.cmake b/cmake/modules/HandleLLVMOptions.cmake +index 5ef22eb493b..3478c7ef6eb 100644 +--- a/cmake/modules/HandleLLVMOptions.cmake ++++ b/cmake/modules/HandleLLVMOptions.cmake +@@ -27,6 +27,19 @@ string(TOUPPER "${LLVM_ENABLE_LTO}" uppercase_LLVM_ENABLE_LTO) + # The following only works with the Ninja generator in CMake >= 3.0. + set(LLVM_PARALLEL_COMPILE_JOBS "" CACHE STRING + "Define the maximum number of concurrent compilation jobs (Ninja only).") ++cmake_host_system_information(RESULT AVAILABLE_PHYSICAL_MEMORY QUERY AVAILABLE_PHYSICAL_MEMORY) ++cmake_host_system_information(RESULT NUMBER_OF_LOGICAL_CORES QUERY NUMBER_OF_LOGICAL_CORES) ++if(LLVM_RAM_PER_COMPILE_JOB) ++ math(EXPR memory_available_jobs "${AVAILABLE_PHYSICAL_MEMORY} / ${LLVM_RAM_PER_COMPILE_JOB}" OUTPUT_FORMAT DECIMAL) ++ if (memory_available_jobs LESS 1) ++ set(memory_available_jobs 1) ++ endif() ++ if (memory_available_jobs LESS NUMBER_OF_LOGICAL_CORES) ++ set(LLVM_PARALLEL_COMPILE_JOBS "${memory_available_jobs}") ++ else() ++ set(LLVM_PARALLEL_COMPILE_JOBS "${NUMBER_OF_LOGICAL_CORES}") ++ endif() ++endif() + if(LLVM_PARALLEL_COMPILE_JOBS) + if(NOT CMAKE_GENERATOR STREQUAL "Ninja") + message(WARNING "Job pooling is only available with Ninja generators.") +@@ -38,6 +51,17 @@ endif() + + set(LLVM_PARALLEL_LINK_JOBS "" CACHE STRING + "Define the maximum number of concurrent link jobs (Ninja only).") ++if(LLVM_RAM_PER_LINK_JOB) ++ math(EXPR memory_available_jobs "${AVAILABLE_PHYSICAL_MEMORY} / ${LLVM_RAM_PER_LINK_JOB}" OUTPUT_FORMAT DECIMAL) ++ if (memory_available_jobs LESS 1) ++ set(memory_available_jobs 1) ++ endif() ++ if (memory_available_jobs LESS NUMBER_OF_LOGICAL_CORES) ++ set(LLVM_PARALLEL_LINK_JOBS "${memory_available_jobs}") ++ else() ++ set(LLVM_PARALLEL_LINK_JOBS "${NUMBER_OF_LOGICAL_CORES}") ++ endif() ++endif() + if(CMAKE_GENERATOR STREQUAL "Ninja") + if(NOT LLVM_PARALLEL_LINK_JOBS AND uppercase_LLVM_ENABLE_LTO STREQUAL "THIN") + message(STATUS "ThinLTO provides its own parallel linking - limiting parallel link jobs to 2.") diff --git a/recipes/llvm-core/all/patches/11x/0002-missing-includes.patch b/recipes/llvm-core/all/patches/11x/0002-missing-includes.patch new file mode 100644 index 0000000000000..929a539e77369 --- /dev/null +++ b/recipes/llvm-core/all/patches/11x/0002-missing-includes.patch @@ -0,0 +1,24 @@ +diff --git a/include/llvm/Support/Signals.h b/include/llvm/Support/Signals.h +index e0a18e72f2a..148216b8f87 100644 +--- a/include/llvm/Support/Signals.h ++++ b/include/llvm/Support/Signals.h +@@ -14,6 +14,7 @@ + #ifndef LLVM_SUPPORT_SIGNALS_H + #define LLVM_SUPPORT_SIGNALS_H + ++#include + #include + + namespace llvm { +diff --git a/utils/benchmark/src/benchmark_register.h b/utils/benchmark/src/benchmark_register.h +index 0705e219f2f..4caa5ad4da0 100644 +--- a/utils/benchmark/src/benchmark_register.h ++++ b/utils/benchmark/src/benchmark_register.h +@@ -1,6 +1,7 @@ + #ifndef BENCHMARK_REGISTER_H + #define BENCHMARK_REGISTER_H + ++#include + #include + + #include "check.h" diff --git a/recipes/llvm-core/all/patches/11x/0003-no-build-with-install-rpath.patch b/recipes/llvm-core/all/patches/11x/0003-no-build-with-install-rpath.patch new file mode 100644 index 0000000000000..e56177aab947f --- /dev/null +++ b/recipes/llvm-core/all/patches/11x/0003-no-build-with-install-rpath.patch @@ -0,0 +1,13 @@ +diff --git a/cmake/modules/AddLLVM.cmake b/cmake/modules/AddLLVM.cmake +index b74adc11ade9..8c70fe15d2a0 100644 +--- a/cmake/modules/AddLLVM.cmake ++++ b/cmake/modules/AddLLVM.cmake +@@ -2081,7 +2081,7 @@ function(llvm_setup_rpath name) + endif() + + set_target_properties(${name} PROPERTIES +- BUILD_WITH_INSTALL_RPATH On ++ BUILD_WITH_INSTALL_RPATH OFF + INSTALL_RPATH "${_install_rpath}" + ${_install_name_dir}) + endfunction() diff --git a/recipes/llvm-core/all/patches/11x/0004-remove-lto-exports.patch b/recipes/llvm-core/all/patches/11x/0004-remove-lto-exports.patch new file mode 100644 index 0000000000000..6dea8a2419a11 --- /dev/null +++ b/recipes/llvm-core/all/patches/11x/0004-remove-lto-exports.patch @@ -0,0 +1,32 @@ +diff --git a/tools/lto/lto.exports b/tools/lto/lto.exports +index 1f0a6b23d3fd..2871abd34e40 100644 +--- a/tools/lto/lto.exports ++++ b/tools/lto/lto.exports +@@ -43,12 +43,6 @@ lto_codegen_optimize + lto_codegen_compile_optimized + lto_codegen_set_should_internalize + lto_codegen_set_should_embed_uselists +-LLVMCreateDisasm +-LLVMCreateDisasmCPU +-LLVMDisasmDispose +-LLVMDisasmInstruction +-LLVMSetDisasmOptions +-LLVMCreateDisasmCPUFeatures + thinlto_create_codegen + thinlto_codegen_dispose + thinlto_codegen_add_module +diff --git a/tools/remarks-shlib/CMakeLists.txt b/tools/remarks-shlib/CMakeLists.txt +index e948496c603a..97bc45e110dc 100644 +--- a/tools/remarks-shlib/CMakeLists.txt ++++ b/tools/remarks-shlib/CMakeLists.txt +@@ -6,7 +6,9 @@ set(SOURCES + libremarks.cpp + ) + +-set(LLVM_EXPORTED_SYMBOL_FILE ${CMAKE_CURRENT_SOURCE_DIR}/Remarks.exports) ++if (NOT (BUILD_SHARED_LIBS OR LLVM_LINK_LLVM_DYLIB)) ++ set(LLVM_EXPORTED_SYMBOL_FILE ${CMAKE_CURRENT_SOURCE_DIR}/Remarks.exports) ++endif() + + add_llvm_library(Remarks SHARED INSTALL_WITH_TOOLCHAIN ${SOURCES}) + diff --git a/recipes/llvm-core/all/patches/11x/11.1.0-cmake.patch b/recipes/llvm-core/all/patches/11x/11.1.0-cmake.patch deleted file mode 100644 index 6f2c7682aa4e0..0000000000000 --- a/recipes/llvm-core/all/patches/11x/11.1.0-cmake.patch +++ /dev/null @@ -1,57 +0,0 @@ ---- cmake/config-ix.cmake -+++ cmake/config-ix.cmake -@@ -159,6 +159,9 @@ - set(LIBXML2_FOUND 0) - if((LLVM_ENABLE_LIBXML2) AND ((CMAKE_SYSTEM_NAME MATCHES "Linux") AND (ICONV_LIBRARY_PATH) OR APPLE)) - find_package(LibXml2) -+ set(LIBXML2_FOUND 1) -+ list(GET LibXml2_INCLUDE_DIRS -1 LIBXML2_INCLUDE_DIR) -+ set(LIBXML2_LIBRARIES ${LibXml2_LIBRARIES}) - if (LIBXML2_FOUND) - set(LLVM_LIBXML2_ENABLED 1) - if ((CMAKE_OSX_SYSROOT) AND (EXISTS ${CMAKE_OSX_SYSROOT}/${LIBXML2_INCLUDE_DIR})) -@@ -321,7 +321,7 @@ - message(FATAL_ERROR "libffi includes are not found.") - endif() - -- find_library(FFI_LIBRARY_PATH ffi PATHS ${FFI_LIBRARY_DIR}) -+ find_library(FFI_LIBRARY_PATH NAMES ffi libffi PATHS ${FFI_LIBRARY_DIR}) - if( NOT FFI_LIBRARY_PATH ) - message(FATAL_ERROR "libffi is not found.") - endif() ---- cmake/modules/TableGen.cmake -+++ cmake/modules/TableGen.cmake -@@ -138,12 +138,7 @@ - macro(add_tablegen target project) - set(${target}_OLD_LLVM_LINK_COMPONENTS ${LLVM_LINK_COMPONENTS}) - set(LLVM_LINK_COMPONENTS ${LLVM_LINK_COMPONENTS} TableGen) -- -- # CMake-3.9 doesn't let compilation units depend on their dependent libraries. -- if(NOT (CMAKE_GENERATOR STREQUAL "Ninja" AND NOT CMAKE_VERSION VERSION_LESS 3.9) AND NOT XCODE) -- # FIXME: It leaks to user, callee of add_tablegen. -- set(LLVM_ENABLE_OBJLIB ON) -- endif() -+ set(LLVM_ENABLE_OBJLIB OFF) - - add_llvm_executable(${target} DISABLE_LLVM_LINK_LLVM_DYLIB ${ARGN}) - set(LLVM_LINK_COMPONENTS ${${target}_OLD_LLVM_LINK_COMPONENTS}) ---- lib/WindowsManifest/CMakeLists.txt -+++ lib/WindowsManifest/CMakeLists.txt -@@ -8,16 +8,6 @@ - if(LIBXML2_LIBRARIES) - target_link_libraries(LLVMWindowsManifest PUBLIC ${LIBXML2_LIBRARIES}) - -- get_filename_component(xml2_library ${LIBXML2_LIBRARIES} NAME) -- if (CMAKE_STATIC_LIBRARY_PREFIX AND -- xml2_library MATCHES "^${CMAKE_STATIC_LIBRARY_PREFIX}.*${CMAKE_STATIC_LIBRARY_SUFFIX}$") -- string(REGEX REPLACE "^${CMAKE_STATIC_LIBRARY_PREFIX}" "" xml2_library ${xml2_library}) -- string(REGEX REPLACE "${CMAKE_STATIC_LIBRARY_SUFFIX}$" "" xml2_library ${xml2_library}) -- elseif (CMAKE_SHARED_LIBRARY_PREFIX AND -- xml2_library MATCHES "^${CMAKE_SHARED_LIBRARY_PREFIX}.*${CMAKE_SHARED_LIBRARY_SUFFIX}$") -- string(REGEX REPLACE "^${CMAKE_SHARED_LIBRARY_PREFIX}" "" xml2_library ${xml2_library}) -- string(REGEX REPLACE "${CMAKE_SHARED_LIBRARY_SUFFIX}$" "" xml2_library ${xml2_library}) -- endif() - set_property(TARGET LLVMWindowsManifest PROPERTY -- LLVM_SYSTEM_LIBS ${xml2_library}) -+ LLVM_SYSTEM_LIBS ${LIBXML2_LIBRARIES}) - endif() diff --git a/recipes/llvm-core/all/patches/11x/11.1.0-native.patch b/recipes/llvm-core/all/patches/11x/11.1.0-native.patch deleted file mode 100644 index c541a76820341..0000000000000 --- a/recipes/llvm-core/all/patches/11x/11.1.0-native.patch +++ /dev/null @@ -1,81 +0,0 @@ ---- CMakeLists.txt -+++ CMakeLists.txt -@@ -942,10 +942,6 @@ - include_directories( ${LLVM_INCLUDE_DIR} ${LLVM_MAIN_INCLUDE_DIR}) - - # when crosscompiling import the executable targets from a file --if(LLVM_USE_HOST_TOOLS) -- include(CrossCompile) -- llvm_create_cross_target(LLVM NATIVE "" Release) --endif(LLVM_USE_HOST_TOOLS) - if(LLVM_TARGET_IS_CROSSCOMPILE_HOST) - # Dummy use to avoid CMake Warning: Manually-specified variables were not used - # (this is a variable that CrossCompile sets on recursive invocations) ---- cmake/modules/TableGen.cmake -+++ cmake/modules/TableGen.cmake -@@ -150,33 +150,6 @@ - set(${project}_TABLEGEN_EXE ${${project}_TABLEGEN} PARENT_SCOPE) - set(${project}_TABLEGEN_TARGET ${${project}_TABLEGEN} PARENT_SCOPE) - -- if(LLVM_USE_HOST_TOOLS) -- if( ${${project}_TABLEGEN} STREQUAL "${target}" ) -- # The NATIVE tablegen executable *must* depend on the current target one -- # otherwise the native one won't get rebuilt when the tablgen sources -- # change, and we end up with incorrect builds. -- build_native_tool(${target} ${project}_TABLEGEN_EXE DEPENDS ${target}) -- set(${project}_TABLEGEN_EXE ${${project}_TABLEGEN_EXE} PARENT_SCOPE) -- -- add_custom_target(${project}-tablegen-host DEPENDS ${${project}_TABLEGEN_EXE}) -- set(${project}_TABLEGEN_TARGET ${project}-tablegen-host PARENT_SCOPE) -- -- # Create an artificial dependency between tablegen projects, because they -- # compile the same dependencies, thus using the same build folders. -- # FIXME: A proper fix requires sequentially chaining tablegens. -- if (NOT ${project} STREQUAL LLVM AND TARGET ${project}-tablegen-host AND -- TARGET LLVM-tablegen-host) -- add_dependencies(${project}-tablegen-host LLVM-tablegen-host) -- endif() -- -- # If we're using the host tablegen, and utils were not requested, we have no -- # need to build this tablegen. -- if ( NOT LLVM_BUILD_UTILS ) -- set_target_properties(${target} PROPERTIES EXCLUDE_FROM_ALL ON) -- endif() -- endif() -- endif() -- - if ((${project} STREQUAL LLVM OR ${project} STREQUAL MLIR) AND NOT LLVM_INSTALL_TOOLCHAIN_ONLY AND LLVM_BUILD_UTILS) - set(export_to_llvmexports) - if(${target} IN_LIST LLVM_DISTRIBUTION_COMPONENTS OR ---- tools/llvm-config/CMakeLists.txt -+++ tools/llvm-config/CMakeLists.txt -@@ -77,11 +77,3 @@ - - # Add the dependency on the generation step. - add_file_dependencies(${CMAKE_CURRENT_SOURCE_DIR}/llvm-config.cpp ${BUILDVARIABLES_OBJPATH}) -- --if(CMAKE_CROSSCOMPILING AND NOT LLVM_CONFIG_PATH) -- build_native_tool(llvm-config LLVM_CONFIG_PATH) -- set(LLVM_CONFIG_PATH "${LLVM_CONFIG_PATH}" CACHE STRING "") -- -- add_custom_target(NativeLLVMConfig DEPENDS ${LLVM_CONFIG_PATH}) -- add_dependencies(llvm-config NativeLLVMConfig) --endif() ---- tools/llvm-shlib/CMakeLists.txt -+++ tools/llvm-shlib/CMakeLists.txt -@@ -155,13 +155,8 @@ - - set(LLVM_EXPORTED_SYMBOL_FILE ${CMAKE_BINARY_DIR}/${CMAKE_CFG_INTDIR}/libllvm-c.exports) - if(NOT LLVM_NM) -- if(CMAKE_CROSSCOMPILING) -- build_native_tool(llvm-nm llvm_nm) -- set(llvm_nm_target "${llvm_nm}") -- else() -- set(llvm_nm $) -- set(llvm_nm_target llvm-nm) -- endif() -+ set(llvm_nm $) -+ set(llvm_nm_target llvm-nm) - else() - set(llvm_nm ${LLVM_NM}) - set(llvm_nm_target "") diff --git a/recipes/llvm-core/all/patches/12x/0000-cmake-dependencies.patch b/recipes/llvm-core/all/patches/12x/0000-cmake-dependencies.patch new file mode 100644 index 0000000000000..319d08bc1921c --- /dev/null +++ b/recipes/llvm-core/all/patches/12x/0000-cmake-dependencies.patch @@ -0,0 +1,92 @@ +diff --git a/cmake/config-ix.cmake b/cmake/config-ix.cmake +index 818fafbce14..8ef381257b6 100644 +--- a/cmake/config-ix.cmake ++++ b/cmake/config-ix.cmake +@@ -63,7 +63,13 @@ check_symbol_exists(FE_ALL_EXCEPT "fenv.h" HAVE_DECL_FE_ALL_EXCEPT) + check_symbol_exists(FE_INEXACT "fenv.h" HAVE_DECL_FE_INEXACT) + + check_include_file(mach/mach.h HAVE_MACH_MACH_H) +-check_include_file(histedit.h HAVE_HISTEDIT_H) ++if (LLVM_ENABLE_LIBEDIT) ++ find_package(editline REQUIRED) ++ cmake_push_check_state() ++ list(APPEND CMAKE_REQUIRED_INCLUDES ${editline_INCLUDE_DIRS}) ++ check_include_file(histedit.h HAVE_HISTEDIT_H) ++ cmake_pop_check_state() ++endif() + check_include_file(CrashReporterClient.h HAVE_CRASHREPORTERCLIENT_H) + if(APPLE) + include(CheckCSourceCompiles) +@@ -127,7 +133,7 @@ if(LLVM_ENABLE_ZLIB) + # library on a 64-bit system which would result in a link-time failure. + cmake_push_check_state() + list(APPEND CMAKE_REQUIRED_INCLUDES ${ZLIB_INCLUDE_DIRS}) +- list(APPEND CMAKE_REQUIRED_LIBRARIES ${ZLIB_LIBRARY}) ++ list(APPEND CMAKE_REQUIRED_LIBRARIES ${ZLIB_LIBRARIES}) + check_symbol_exists(compress2 zlib.h HAVE_ZLIB) + cmake_pop_check_state() + if(LLVM_ENABLE_ZLIB STREQUAL FORCE_ON AND NOT HAVE_ZLIB) +@@ -165,7 +171,11 @@ if(NOT LLVM_USE_SANITIZER MATCHES "Memory.*") + if (NOT PURE_WINDOWS) + # Skip libedit if using ASan as it contains memory leaks. + if (LLVM_ENABLE_LIBEDIT AND HAVE_HISTEDIT_H AND NOT LLVM_USE_SANITIZER MATCHES ".*Address.*") ++ cmake_push_check_state() ++ list(APPEND CMAKE_REQUIRED_INCLUDES ${editline_INCLUDE_DIRS}) ++ list(APPEND CMAKE_REQUIRED_LIBRARIES ${editline_LIBRARIES}) + check_library_exists(edit el_init "" HAVE_LIBEDIT) ++ cmake_pop_check_state() + else() + set(HAVE_LIBEDIT 0) + endif() +diff --git a/lib/LineEditor/CMakeLists.txt b/lib/LineEditor/CMakeLists.txt +index 61328f76905..b95d073d972 100644 +--- a/lib/LineEditor/CMakeLists.txt ++++ b/lib/LineEditor/CMakeLists.txt +@@ -1,5 +1,5 @@ + if(HAVE_LIBEDIT) +- set(link_libs edit) ++ set(link_libs editline::editline) + endif() + + add_llvm_component_library(LLVMLineEditor +diff --git a/lib/Support/CMakeLists.txt b/lib/Support/CMakeLists.txt +index cdee11412eb..f32a7b7909d 100644 +--- a/lib/Support/CMakeLists.txt ++++ b/lib/Support/CMakeLists.txt +@@ -236,14 +236,7 @@ set(llvm_system_libs ${system_libs}) + # This block is only needed for llvm-config. When we deprecate llvm-config and + # move to using CMake export, this block can be removed. + if(LLVM_ENABLE_ZLIB) +- # CMAKE_BUILD_TYPE is only meaningful to single-configuration generators. +- if(CMAKE_BUILD_TYPE) +- string(TOUPPER ${CMAKE_BUILD_TYPE} build_type) +- get_property(zlib_library TARGET ZLIB::ZLIB PROPERTY LOCATION_${build_type}) +- endif() +- if(NOT zlib_library) +- get_property(zlib_library TARGET ZLIB::ZLIB PROPERTY LOCATION) +- endif() ++ set(zlib_library ${ZLIB_LIBRARIES}) + get_library_name(${zlib_library} zlib_library) + set(llvm_system_libs ${llvm_system_libs} "${zlib_library}") + endif() +diff --git a/lib/WindowsManifest/CMakeLists.txt b/lib/WindowsManifest/CMakeLists.txt +index 8134ac8c815..652062f7fb9 100644 +--- a/lib/WindowsManifest/CMakeLists.txt ++++ b/lib/WindowsManifest/CMakeLists.txt +@@ -21,14 +21,8 @@ add_llvm_component_library(LLVMWindowsManifest + # This block is only needed for llvm-config. When we deprecate llvm-config and + # move to using CMake export, this block can be removed. + if(LLVM_ENABLE_LIBXML2) +- # CMAKE_BUILD_TYPE is only meaningful to single-configuration generators. +- if(CMAKE_BUILD_TYPE) +- string(TOUPPER ${CMAKE_BUILD_TYPE} build_type) +- get_property(libxml2_library TARGET LibXml2::LibXml2 PROPERTY LOCATION_${build_type}) +- endif() +- if(NOT zlib_library) +- get_property(libxml2_library TARGET LibXml2::LibXml2 PROPERTY LOCATION) +- endif() ++ find_package(libxml2 REQUIRED CONFIG) ++ set(libxml2_library ${libxml2_LIBRARIES}) + get_library_name(${libxml2_library} libxml2_library) + set_property(TARGET LLVMWindowsManifest PROPERTY LLVM_SYSTEM_LIBS ${libxml2_library}) + endif() diff --git a/recipes/llvm-core/all/patches/12x/0001-calculate-job-pools.patch b/recipes/llvm-core/all/patches/12x/0001-calculate-job-pools.patch new file mode 100644 index 0000000000000..ab29c3a894ccd --- /dev/null +++ b/recipes/llvm-core/all/patches/12x/0001-calculate-job-pools.patch @@ -0,0 +1,42 @@ +diff --git a/cmake/modules/HandleLLVMOptions.cmake b/cmake/modules/HandleLLVMOptions.cmake +index 5d4d692a70a..5776a85b747 100644 +--- a/cmake/modules/HandleLLVMOptions.cmake ++++ b/cmake/modules/HandleLLVMOptions.cmake +@@ -27,6 +27,19 @@ string(TOUPPER "${LLVM_ENABLE_LTO}" uppercase_LLVM_ENABLE_LTO) + # The following only works with the Ninja generator in CMake >= 3.0. + set(LLVM_PARALLEL_COMPILE_JOBS "" CACHE STRING + "Define the maximum number of concurrent compilation jobs (Ninja only).") ++cmake_host_system_information(RESULT AVAILABLE_PHYSICAL_MEMORY QUERY AVAILABLE_PHYSICAL_MEMORY) ++cmake_host_system_information(RESULT NUMBER_OF_LOGICAL_CORES QUERY NUMBER_OF_LOGICAL_CORES) ++if(LLVM_RAM_PER_COMPILE_JOB) ++ math(EXPR memory_available_jobs "${AVAILABLE_PHYSICAL_MEMORY} / ${LLVM_RAM_PER_COMPILE_JOB}" OUTPUT_FORMAT DECIMAL) ++ if (memory_available_jobs LESS 1) ++ set(memory_available_jobs 1) ++ endif() ++ if (memory_available_jobs LESS NUMBER_OF_LOGICAL_CORES) ++ set(LLVM_PARALLEL_COMPILE_JOBS "${memory_available_jobs}") ++ else() ++ set(LLVM_PARALLEL_COMPILE_JOBS "${NUMBER_OF_LOGICAL_CORES}") ++ endif() ++endif() + if(LLVM_PARALLEL_COMPILE_JOBS) + if(NOT CMAKE_GENERATOR STREQUAL "Ninja") + message(WARNING "Job pooling is only available with Ninja generators.") +@@ -38,6 +51,17 @@ endif() + + set(LLVM_PARALLEL_LINK_JOBS "" CACHE STRING + "Define the maximum number of concurrent link jobs (Ninja only).") ++if(LLVM_RAM_PER_LINK_JOB) ++ math(EXPR memory_available_jobs "${AVAILABLE_PHYSICAL_MEMORY} / ${LLVM_RAM_PER_LINK_JOB}" OUTPUT_FORMAT DECIMAL) ++ if (memory_available_jobs LESS 1) ++ set(memory_available_jobs 1) ++ endif() ++ if (memory_available_jobs LESS NUMBER_OF_LOGICAL_CORES) ++ set(LLVM_PARALLEL_LINK_JOBS "${memory_available_jobs}") ++ else() ++ set(LLVM_PARALLEL_LINK_JOBS "${NUMBER_OF_LOGICAL_CORES}") ++ endif() ++endif() + if(CMAKE_GENERATOR STREQUAL "Ninja") + if(NOT LLVM_PARALLEL_LINK_JOBS AND uppercase_LLVM_ENABLE_LTO STREQUAL "THIN") + message(STATUS "ThinLTO provides its own parallel linking - limiting parallel link jobs to 2.") diff --git a/recipes/llvm-core/all/patches/12x/0002-missing-includes.patch b/recipes/llvm-core/all/patches/12x/0002-missing-includes.patch new file mode 100644 index 0000000000000..c7cfb90318b49 --- /dev/null +++ b/recipes/llvm-core/all/patches/12x/0002-missing-includes.patch @@ -0,0 +1,12 @@ +diff --git a/include/llvm/Support/Signals.h b/include/llvm/Support/Signals.h +index 44f5a750ff5..937e0572d4a 100644 +--- a/include/llvm/Support/Signals.h ++++ b/include/llvm/Support/Signals.h +@@ -14,6 +14,7 @@ + #ifndef LLVM_SUPPORT_SIGNALS_H + #define LLVM_SUPPORT_SIGNALS_H + ++#include + #include + + namespace llvm { diff --git a/recipes/llvm-core/all/patches/12x/0003-no-build-with-install-rpath.patch b/recipes/llvm-core/all/patches/12x/0003-no-build-with-install-rpath.patch new file mode 100644 index 0000000000000..df143f02d6491 --- /dev/null +++ b/recipes/llvm-core/all/patches/12x/0003-no-build-with-install-rpath.patch @@ -0,0 +1,13 @@ +diff --git a/cmake/modules/AddLLVM.cmake b/cmake/modules/AddLLVM.cmake +index 97c9980c7de3..23fead47c2d7 100644 +--- a/cmake/modules/AddLLVM.cmake ++++ b/cmake/modules/AddLLVM.cmake +@@ -2118,7 +2118,7 @@ function(llvm_setup_rpath name) + + # Enable BUILD_WITH_INSTALL_RPATH unless CMAKE_BUILD_RPATH is set. + if("${CMAKE_BUILD_RPATH}" STREQUAL "") +- set_property(TARGET ${name} PROPERTY BUILD_WITH_INSTALL_RPATH ON) ++ set_property(TARGET ${name} PROPERTY BUILD_WITH_INSTALL_RPATH OFF) + endif() + + set_target_properties(${name} PROPERTIES diff --git a/recipes/llvm-core/all/patches/12x/0004-remove-lto-exports.patch b/recipes/llvm-core/all/patches/12x/0004-remove-lto-exports.patch new file mode 100644 index 0000000000000..60db5a636b646 --- /dev/null +++ b/recipes/llvm-core/all/patches/12x/0004-remove-lto-exports.patch @@ -0,0 +1,32 @@ +diff --git a/tools/lto/lto.exports b/tools/lto/lto.exports +index 1f0a6b23d3fd..2871abd34e40 100644 +--- a/tools/lto/lto.exports ++++ b/tools/lto/lto.exports +@@ -43,12 +43,6 @@ lto_codegen_optimize + lto_codegen_compile_optimized + lto_codegen_set_should_internalize + lto_codegen_set_should_embed_uselists +-LLVMCreateDisasm +-LLVMCreateDisasmCPU +-LLVMDisasmDispose +-LLVMDisasmInstruction +-LLVMSetDisasmOptions +-LLVMCreateDisasmCPUFeatures + thinlto_create_codegen + thinlto_codegen_dispose + thinlto_codegen_add_module +diff --git a/tools/remarks-shlib/CMakeLists.txt b/tools/remarks-shlib/CMakeLists.txt +index 865436247270..aa11669d9a75 100644 +--- a/tools/remarks-shlib/CMakeLists.txt ++++ b/tools/remarks-shlib/CMakeLists.txt +@@ -9,7 +9,9 @@ if(LLVM_ENABLE_PIC) + libremarks.cpp + ) + +- set(LLVM_EXPORTED_SYMBOL_FILE ${CMAKE_CURRENT_SOURCE_DIR}/Remarks.exports) ++ if (NOT (BUILD_SHARED_LIBS OR LLVM_LINK_LLVM_DYLIB)) ++ set(LLVM_EXPORTED_SYMBOL_FILE ${CMAKE_CURRENT_SOURCE_DIR}/Remarks.exports) ++ endif() + + add_llvm_library(Remarks SHARED INSTALL_WITH_TOOLCHAIN ${SOURCES}) + diff --git a/recipes/llvm-core/all/patches/12x/12.0.0-cmake.patch b/recipes/llvm-core/all/patches/12x/12.0.0-cmake.patch deleted file mode 100644 index 8d3f7dbf7cf98..0000000000000 --- a/recipes/llvm-core/all/patches/12x/12.0.0-cmake.patch +++ /dev/null @@ -1,55 +0,0 @@ ---- cmake/config-ix.cmake -+++ cmake/config-ix.cmake -@@ -143,6 +143,9 @@ - elseif(NOT LLVM_USE_SANITIZER MATCHES "Memory.*") - find_package(LibXml2) - endif() -+ set(LIBXML2_FOUND 1) -+ list(GET LibXml2_INCLUDE_DIRS -1 LIBXML2_INCLUDE_DIR) -+ set(LIBXML2_LIBRARIES ${LibXml2_LIBRARIES}) - if(LibXml2_FOUND) - # Check if libxml2 we found is usable; for example, we may have found a 32-bit - # library on a 64-bit system which would result in a link-time failure. -@@ -335,7 +335,7 @@ - message(FATAL_ERROR "libffi includes are not found.") - endif() - -- find_library(FFI_LIBRARY_PATH ffi PATHS ${FFI_LIBRARY_DIR}) -+ find_library(FFI_LIBRARY_PATH NAMES ffi libffi PATHS ${FFI_LIBRARY_DIR}) - if( NOT FFI_LIBRARY_PATH ) - message(FATAL_ERROR "libffi is not found.") - endif() ---- cmake/modules/TableGen.cmake -+++ cmake/modules/TableGen.cmake -@@ -132,12 +132,7 @@ - macro(add_tablegen target project) - set(${target}_OLD_LLVM_LINK_COMPONENTS ${LLVM_LINK_COMPONENTS}) - set(LLVM_LINK_COMPONENTS ${LLVM_LINK_COMPONENTS} TableGen) -- -- # CMake doesn't let compilation units depend on their dependent libraries on some generators. -- if(NOT CMAKE_GENERATOR STREQUAL "Ninja" AND NOT XCODE) -- # FIXME: It leaks to user, callee of add_tablegen. -- set(LLVM_ENABLE_OBJLIB ON) -- endif() -+ set(LLVM_ENABLE_OBJLIB OFF) - - add_llvm_executable(${target} DISABLE_LLVM_LINK_LLVM_DYLIB ${ARGN}) - set(LLVM_LINK_COMPONENTS ${${target}_OLD_LLVM_LINK_COMPONENTS}) ---- lib/WindowsManifest/CMakeLists.txt -+++ lib/WindowsManifest/CMakeLists.txt -@@ -21,14 +21,5 @@ - # This block is only needed for llvm-config. When we deprecate llvm-config and - # move to using CMake export, this block can be removed. - if(LLVM_ENABLE_LIBXML2) -- # CMAKE_BUILD_TYPE is only meaningful to single-configuration generators. -- if(CMAKE_BUILD_TYPE) -- string(TOUPPER ${CMAKE_BUILD_TYPE} build_type) -- get_property(libxml2_library TARGET LibXml2::LibXml2 PROPERTY LOCATION_${build_type}) -- endif() -- if(NOT zlib_library) -- get_property(libxml2_library TARGET LibXml2::LibXml2 PROPERTY LOCATION) -- endif() -- get_library_name(${libxml2_library} libxml2_library) -- set_property(TARGET LLVMWindowsManifest PROPERTY LLVM_SYSTEM_LIBS ${libxml2_library}) -+ set_property(TARGET LLVMWindowsManifest PROPERTY LLVM_SYSTEM_LIBS ${LIBXML2_LIBRARIES}) - endif() diff --git a/recipes/llvm-core/all/patches/12x/12.0.0-native.patch b/recipes/llvm-core/all/patches/12x/12.0.0-native.patch deleted file mode 100644 index f5c6d542fab8f..0000000000000 --- a/recipes/llvm-core/all/patches/12x/12.0.0-native.patch +++ /dev/null @@ -1,81 +0,0 @@ ---- CMakeLists.txt -+++ CMakeLists.txt -@@ -891,10 +891,6 @@ - include_directories( ${LLVM_INCLUDE_DIR} ${LLVM_MAIN_INCLUDE_DIR}) - - # when crosscompiling import the executable targets from a file --if(LLVM_USE_HOST_TOOLS) -- include(CrossCompile) -- llvm_create_cross_target(LLVM NATIVE "" Release) --endif(LLVM_USE_HOST_TOOLS) - if(LLVM_TARGET_IS_CROSSCOMPILE_HOST) - # Dummy use to avoid CMake Warning: Manually-specified variables were not used - # (this is a variable that CrossCompile sets on recursive invocations) ---- cmake/modules/TableGen.cmake -+++ cmake/modules/TableGen.cmake -@@ -144,33 +144,6 @@ - set(${project}_TABLEGEN_EXE ${${project}_TABLEGEN} PARENT_SCOPE) - set(${project}_TABLEGEN_TARGET ${${project}_TABLEGEN} PARENT_SCOPE) - -- if(LLVM_USE_HOST_TOOLS) -- if( ${${project}_TABLEGEN} STREQUAL "${target}" ) -- # The NATIVE tablegen executable *must* depend on the current target one -- # otherwise the native one won't get rebuilt when the tablgen sources -- # change, and we end up with incorrect builds. -- build_native_tool(${target} ${project}_TABLEGEN_EXE DEPENDS ${target}) -- set(${project}_TABLEGEN_EXE ${${project}_TABLEGEN_EXE} PARENT_SCOPE) -- -- add_custom_target(${project}-tablegen-host DEPENDS ${${project}_TABLEGEN_EXE}) -- set(${project}_TABLEGEN_TARGET ${project}-tablegen-host PARENT_SCOPE) -- -- # Create an artificial dependency between tablegen projects, because they -- # compile the same dependencies, thus using the same build folders. -- # FIXME: A proper fix requires sequentially chaining tablegens. -- if (NOT ${project} STREQUAL LLVM AND TARGET ${project}-tablegen-host AND -- TARGET LLVM-tablegen-host) -- add_dependencies(${project}-tablegen-host LLVM-tablegen-host) -- endif() -- -- # If we're using the host tablegen, and utils were not requested, we have no -- # need to build this tablegen. -- if ( NOT LLVM_BUILD_UTILS ) -- set_target_properties(${target} PROPERTIES EXCLUDE_FROM_ALL ON) -- endif() -- endif() -- endif() -- - if ((${project} STREQUAL LLVM OR ${project} STREQUAL MLIR) AND NOT LLVM_INSTALL_TOOLCHAIN_ONLY AND LLVM_BUILD_UTILS) - set(export_to_llvmexports) - if(${target} IN_LIST LLVM_DISTRIBUTION_COMPONENTS OR ---- tools/llvm-config/CMakeLists.txt -+++ tools/llvm-config/CMakeLists.txt -@@ -75,11 +75,3 @@ - - # Add the dependency on the generation step. - add_file_dependencies(${CMAKE_CURRENT_SOURCE_DIR}/llvm-config.cpp ${BUILDVARIABLES_OBJPATH}) -- --if(CMAKE_CROSSCOMPILING AND NOT LLVM_CONFIG_PATH) -- build_native_tool(llvm-config LLVM_CONFIG_PATH) -- set(LLVM_CONFIG_PATH "${LLVM_CONFIG_PATH}" CACHE STRING "") -- -- add_custom_target(NativeLLVMConfig DEPENDS ${LLVM_CONFIG_PATH}) -- add_dependencies(llvm-config NativeLLVMConfig) --endif() ---- tools/llvm-shlib/CMakeLists.txt -+++ tools/llvm-shlib/CMakeLists.txt -@@ -155,13 +155,8 @@ - - set(LLVM_EXPORTED_SYMBOL_FILE ${CMAKE_BINARY_DIR}/${CMAKE_CFG_INTDIR}/libllvm-c.exports) - if(NOT LLVM_NM) -- if(CMAKE_CROSSCOMPILING) -- build_native_tool(llvm-nm llvm_nm) -- set(llvm_nm_target "${llvm_nm}") -- else() -- set(llvm_nm $) -- set(llvm_nm_target llvm-nm) -- endif() -+ set(llvm_nm $) -+ set(llvm_nm_target llvm-nm) - else() - set(llvm_nm ${LLVM_NM}) - set(llvm_nm_target "") diff --git a/recipes/llvm-core/all/patches/13x/0000-cmake-dependencies.patch b/recipes/llvm-core/all/patches/13x/0000-cmake-dependencies.patch new file mode 100644 index 0000000000000..a49abd15efa6c --- /dev/null +++ b/recipes/llvm-core/all/patches/13x/0000-cmake-dependencies.patch @@ -0,0 +1,84 @@ +diff --git a/cmake/config-ix.cmake b/cmake/config-ix.cmake +index dd0aaadb47c..790a0b27a49 100644 +--- a/cmake/config-ix.cmake ++++ b/cmake/config-ix.cmake +@@ -63,7 +63,13 @@ check_symbol_exists(FE_ALL_EXCEPT "fenv.h" HAVE_DECL_FE_ALL_EXCEPT) + check_symbol_exists(FE_INEXACT "fenv.h" HAVE_DECL_FE_INEXACT) + + check_include_file(mach/mach.h HAVE_MACH_MACH_H) +-check_include_file(histedit.h HAVE_HISTEDIT_H) ++if(LLVM_ENABLE_LIBEDIT) ++ find_package(editline REQUIRED) ++ cmake_push_check_state() ++ list(APPEND CMAKE_REQUIRED_INCLUDES ${editline_INCLUDE_DIRS}) ++ check_include_file(histedit.h HAVE_HISTEDIT_H) ++ cmake_pop_check_state() ++endif() + check_include_file(CrashReporterClient.h HAVE_CRASHREPORTERCLIENT_H) + if(APPLE) + include(CheckCSourceCompiles) +@@ -127,7 +133,7 @@ if(LLVM_ENABLE_ZLIB) + # library on a 64-bit system which would result in a link-time failure. + cmake_push_check_state() + list(APPEND CMAKE_REQUIRED_INCLUDES ${ZLIB_INCLUDE_DIRS}) +- list(APPEND CMAKE_REQUIRED_LIBRARIES ${ZLIB_LIBRARY}) ++ list(APPEND CMAKE_REQUIRED_LIBRARIES ${ZLIB_LIBRARIES}) + check_symbol_exists(compress2 zlib.h HAVE_ZLIB) + cmake_pop_check_state() + if(LLVM_ENABLE_ZLIB STREQUAL FORCE_ON AND NOT HAVE_ZLIB) +@@ -166,7 +172,11 @@ if(NOT LLVM_USE_SANITIZER MATCHES "Memory.*") + if (NOT PURE_WINDOWS) + # Skip libedit if using ASan as it contains memory leaks. + if (LLVM_ENABLE_LIBEDIT AND HAVE_HISTEDIT_H AND NOT LLVM_USE_SANITIZER MATCHES ".*Address.*") ++ cmake_push_check_state() ++ list(APPEND CMAKE_REQUIRED_INCLUDES ${editline_INCLUDE_DIRS}) ++ list(APPEND CMAKE_REQUIRED_LIBRARIES ${editline_LIBRARIES}) + check_library_exists(edit el_init "" HAVE_LIBEDIT) ++ cmake_pop_check_state() + else() + set(HAVE_LIBEDIT 0) + endif() +diff --git a/lib/LineEditor/CMakeLists.txt b/lib/LineEditor/CMakeLists.txt +index 61328f76905..b95d073d972 100644 +--- a/lib/LineEditor/CMakeLists.txt ++++ b/lib/LineEditor/CMakeLists.txt +@@ -1,5 +1,5 @@ + if(HAVE_LIBEDIT) +- set(link_libs edit) ++ set(link_libs editline::editline) + endif() + + add_llvm_component_library(LLVMLineEditor +diff --git a/lib/Support/CMakeLists.txt b/lib/Support/CMakeLists.txt +index 014b4a2caf1..486e4f39642 100644 +--- a/lib/Support/CMakeLists.txt ++++ b/lib/Support/CMakeLists.txt +@@ -267,7 +267,7 @@ if(LLVM_ENABLE_ZLIB) + # CMAKE_BUILD_TYPE is only meaningful to single-configuration generators. + if(CMAKE_BUILD_TYPE) + string(TOUPPER ${CMAKE_BUILD_TYPE} build_type) +- get_property(zlib_library TARGET ZLIB::ZLIB PROPERTY LOCATION_${build_type}) ++ set(zlib_library ${ZLIB_LIBRARIES}) + endif() + if(NOT zlib_library) + get_property(zlib_library TARGET ZLIB::ZLIB PROPERTY LOCATION) +diff --git a/lib/WindowsManifest/CMakeLists.txt b/lib/WindowsManifest/CMakeLists.txt +index 8134ac8c815..ccd772f6176 100644 +--- a/lib/WindowsManifest/CMakeLists.txt ++++ b/lib/WindowsManifest/CMakeLists.txt +@@ -21,12 +21,13 @@ add_llvm_component_library(LLVMWindowsManifest + # This block is only needed for llvm-config. When we deprecate llvm-config and + # move to using CMake export, this block can be removed. + if(LLVM_ENABLE_LIBXML2) ++ find_package(libxml2 REQUIRED CONFIG) + # CMAKE_BUILD_TYPE is only meaningful to single-configuration generators. + if(CMAKE_BUILD_TYPE) + string(TOUPPER ${CMAKE_BUILD_TYPE} build_type) +- get_property(libxml2_library TARGET LibXml2::LibXml2 PROPERTY LOCATION_${build_type}) ++ set(libxml2_library ${libxml2_LIBRARIES}) + endif() +- if(NOT zlib_library) ++ if(NOT libxml2_library) + get_property(libxml2_library TARGET LibXml2::LibXml2 PROPERTY LOCATION) + endif() + get_library_name(${libxml2_library} libxml2_library) diff --git a/recipes/llvm-core/all/patches/13x/0001-calculate-job-pools.patch b/recipes/llvm-core/all/patches/13x/0001-calculate-job-pools.patch new file mode 100644 index 0000000000000..ec100e4785349 --- /dev/null +++ b/recipes/llvm-core/all/patches/13x/0001-calculate-job-pools.patch @@ -0,0 +1,42 @@ +diff --git a/cmake/modules/HandleLLVMOptions.cmake b/cmake/modules/HandleLLVMOptions.cmake +index 0c3419390c2..eb234109e88 100644 +--- a/cmake/modules/HandleLLVMOptions.cmake ++++ b/cmake/modules/HandleLLVMOptions.cmake +@@ -33,6 +33,19 @@ string(TOUPPER "${LLVM_ENABLE_LTO}" uppercase_LLVM_ENABLE_LTO) + # The following only works with the Ninja generator in CMake >= 3.0. + set(LLVM_PARALLEL_COMPILE_JOBS "" CACHE STRING + "Define the maximum number of concurrent compilation jobs (Ninja only).") ++cmake_host_system_information(RESULT AVAILABLE_PHYSICAL_MEMORY QUERY AVAILABLE_PHYSICAL_MEMORY) ++cmake_host_system_information(RESULT NUMBER_OF_LOGICAL_CORES QUERY NUMBER_OF_LOGICAL_CORES) ++if(LLVM_RAM_PER_COMPILE_JOB) ++ math(EXPR memory_available_jobs "${AVAILABLE_PHYSICAL_MEMORY} / ${LLVM_RAM_PER_COMPILE_JOB}" OUTPUT_FORMAT DECIMAL) ++ if (memory_available_jobs LESS 1) ++ set(memory_available_jobs 1) ++ endif() ++ if (memory_available_jobs LESS NUMBER_OF_LOGICAL_CORES) ++ set(LLVM_PARALLEL_COMPILE_JOBS "${memory_available_jobs}") ++ else() ++ set(LLVM_PARALLEL_COMPILE_JOBS "${NUMBER_OF_LOGICAL_CORES}") ++ endif() ++endif() + if(LLVM_PARALLEL_COMPILE_JOBS) + if(NOT CMAKE_GENERATOR STREQUAL "Ninja") + message(WARNING "Job pooling is only available with Ninja generators.") +@@ -44,6 +57,17 @@ endif() + + set(LLVM_PARALLEL_LINK_JOBS "" CACHE STRING + "Define the maximum number of concurrent link jobs (Ninja only).") ++if(LLVM_RAM_PER_LINK_JOB) ++ math(EXPR memory_available_jobs "${AVAILABLE_PHYSICAL_MEMORY} / ${LLVM_RAM_PER_LINK_JOB}" OUTPUT_FORMAT DECIMAL) ++ if (memory_available_jobs LESS 1) ++ set(memory_available_jobs 1) ++ endif() ++ if (memory_available_jobs LESS NUMBER_OF_LOGICAL_CORES) ++ set(LLVM_PARALLEL_LINK_JOBS "${memory_available_jobs}") ++ else() ++ set(LLVM_PARALLEL_LINK_JOBS "${NUMBER_OF_LOGICAL_CORES}") ++ endif() ++endif() + if(CMAKE_GENERATOR STREQUAL "Ninja") + if(NOT LLVM_PARALLEL_LINK_JOBS AND uppercase_LLVM_ENABLE_LTO STREQUAL "THIN") + message(STATUS "ThinLTO provides its own parallel linking - limiting parallel link jobs to 2.") diff --git a/recipes/llvm-core/all/patches/13x/0002-missing-includes.patch b/recipes/llvm-core/all/patches/13x/0002-missing-includes.patch new file mode 100644 index 0000000000000..c7cfb90318b49 --- /dev/null +++ b/recipes/llvm-core/all/patches/13x/0002-missing-includes.patch @@ -0,0 +1,12 @@ +diff --git a/include/llvm/Support/Signals.h b/include/llvm/Support/Signals.h +index 44f5a750ff5..937e0572d4a 100644 +--- a/include/llvm/Support/Signals.h ++++ b/include/llvm/Support/Signals.h +@@ -14,6 +14,7 @@ + #ifndef LLVM_SUPPORT_SIGNALS_H + #define LLVM_SUPPORT_SIGNALS_H + ++#include + #include + + namespace llvm { diff --git a/recipes/llvm-core/all/patches/13x/0003-no-build-with-install-rpath.patch b/recipes/llvm-core/all/patches/13x/0003-no-build-with-install-rpath.patch new file mode 100644 index 0000000000000..05560e5a0c714 --- /dev/null +++ b/recipes/llvm-core/all/patches/13x/0003-no-build-with-install-rpath.patch @@ -0,0 +1,13 @@ +diff --git a/cmake/modules/AddLLVM.cmake b/cmake/modules/AddLLVM.cmake +index 29e40f45fef8..bde9a02b3432 100644 +--- a/cmake/modules/AddLLVM.cmake ++++ b/cmake/modules/AddLLVM.cmake +@@ -2143,7 +2143,7 @@ function(llvm_setup_rpath name) + + # Enable BUILD_WITH_INSTALL_RPATH unless CMAKE_BUILD_RPATH is set. + if("${CMAKE_BUILD_RPATH}" STREQUAL "") +- set_property(TARGET ${name} PROPERTY BUILD_WITH_INSTALL_RPATH ON) ++ set_property(TARGET ${name} PROPERTY BUILD_WITH_INSTALL_RPATH OFF) + endif() + + set_target_properties(${name} PROPERTIES diff --git a/recipes/llvm-core/all/patches/13x/0004-remove-lto-exports.patch b/recipes/llvm-core/all/patches/13x/0004-remove-lto-exports.patch new file mode 100644 index 0000000000000..46cb2cbbecf38 --- /dev/null +++ b/recipes/llvm-core/all/patches/13x/0004-remove-lto-exports.patch @@ -0,0 +1,32 @@ +diff --git a/tools/lto/lto.exports b/tools/lto/lto.exports +index 1948bba29b67..8fdbd3522b9b 100644 +--- a/tools/lto/lto.exports ++++ b/tools/lto/lto.exports +@@ -44,12 +44,6 @@ lto_codegen_compile_optimized + lto_codegen_set_should_internalize + lto_codegen_set_should_embed_uselists + lto_set_debug_options +-LLVMCreateDisasm +-LLVMCreateDisasmCPU +-LLVMDisasmDispose +-LLVMDisasmInstruction +-LLVMSetDisasmOptions +-LLVMCreateDisasmCPUFeatures + thinlto_create_codegen + thinlto_codegen_dispose + thinlto_codegen_add_module +diff --git a/tools/remarks-shlib/CMakeLists.txt b/tools/remarks-shlib/CMakeLists.txt +index 865436247270..aa11669d9a75 100644 +--- a/tools/remarks-shlib/CMakeLists.txt ++++ b/tools/remarks-shlib/CMakeLists.txt +@@ -9,7 +9,9 @@ if(LLVM_ENABLE_PIC) + libremarks.cpp + ) + +- set(LLVM_EXPORTED_SYMBOL_FILE ${CMAKE_CURRENT_SOURCE_DIR}/Remarks.exports) ++ if (NOT (BUILD_SHARED_LIBS OR LLVM_LINK_LLVM_DYLIB)) ++ set(LLVM_EXPORTED_SYMBOL_FILE ${CMAKE_CURRENT_SOURCE_DIR}/Remarks.exports) ++ endif() + + add_llvm_library(Remarks SHARED INSTALL_WITH_TOOLCHAIN ${SOURCES}) + diff --git a/recipes/llvm-core/all/patches/13x/13.0.0-cmake.patch b/recipes/llvm-core/all/patches/13x/13.0.0-cmake.patch deleted file mode 100644 index 981f067a21505..0000000000000 --- a/recipes/llvm-core/all/patches/13x/13.0.0-cmake.patch +++ /dev/null @@ -1,54 +0,0 @@ ---- cmake/config-ix.cmake -+++ cmake/config-ix.cmake -@@ -143,6 +143,9 @@ if(LLVM_ENABLE_LIBXML2) - elseif(NOT LLVM_USE_SANITIZER MATCHES "Memory.*") - find_package(LibXml2) - endif() -+ set(LIBXML2_FOUND 1) -+ list(GET LibXml2_INCLUDE_DIRS -1 LIBXML2_INCLUDE_DIR) -+ set(LIBXML2_LIBRARIES ${LibXml2_LIBRARIES}) - if(LibXml2_FOUND) - # Check if libxml2 we found is usable; for example, we may have found a 32-bit - # library on a 64-bit system which would result in a link-time failure. -@@ -343,7 +346,7 @@ if( LLVM_ENABLE_FFI ) - message(FATAL_ERROR "libffi includes are not found.") - endif() - -- find_library(FFI_LIBRARY_PATH ffi PATHS ${FFI_LIBRARY_DIR}) -+ find_library(FFI_LIBRARY_PATH NAMES ffi libffi PATHS ${FFI_LIBRARY_DIR}) - if( NOT FFI_LIBRARY_PATH ) - message(FATAL_ERROR "libffi is not found.") - endif() ---- cmake/modules/TableGen.cmake -+++ cmake/modules/TableGen.cmake -@@ -135,11 +135,7 @@ macro(add_tablegen target project) - set(${target}_OLD_LLVM_LINK_COMPONENTS ${LLVM_LINK_COMPONENTS}) - set(LLVM_LINK_COMPONENTS ${LLVM_LINK_COMPONENTS} TableGen) - -- # CMake doesn't let compilation units depend on their dependent libraries on some generators. -- if(NOT CMAKE_GENERATOR STREQUAL "Ninja" AND NOT XCODE) -- # FIXME: It leaks to user, callee of add_tablegen. -- set(LLVM_ENABLE_OBJLIB ON) -- endif() -+ set(LLVM_ENABLE_OBJLIB OFF) - - add_llvm_executable(${target} DISABLE_LLVM_LINK_LLVM_DYLIB ${ARGN}) - set(LLVM_LINK_COMPONENTS ${${target}_OLD_LLVM_LINK_COMPONENTS}) ---- lib/WindowsManifest/CMakeLists.txt -+++ lib/WindowsManifest/CMakeLists.txt -@@ -21,14 +21,5 @@ add_llvm_component_library(LLVMWindowsManifest - # This block is only needed for llvm-config. When we deprecate llvm-config and - # move to using CMake export, this block can be removed. - if(LLVM_ENABLE_LIBXML2) -- # CMAKE_BUILD_TYPE is only meaningful to single-configuration generators. -- if(CMAKE_BUILD_TYPE) -- string(TOUPPER ${CMAKE_BUILD_TYPE} build_type) -- get_property(libxml2_library TARGET LibXml2::LibXml2 PROPERTY LOCATION_${build_type}) -- endif() -- if(NOT zlib_library) -- get_property(libxml2_library TARGET LibXml2::LibXml2 PROPERTY LOCATION) -- endif() -- get_library_name(${libxml2_library} libxml2_library) -- set_property(TARGET LLVMWindowsManifest PROPERTY LLVM_SYSTEM_LIBS ${libxml2_library}) -+ set_property(TARGET LLVMWindowsManifest PROPERTY LLVM_SYSTEM_LIBS ${LIBXML2_LIBRARIES}) - endif() diff --git a/recipes/llvm-core/all/patches/13x/13.0.0-native.patch b/recipes/llvm-core/all/patches/13x/13.0.0-native.patch deleted file mode 100644 index fa8482ce0493b..0000000000000 --- a/recipes/llvm-core/all/patches/13x/13.0.0-native.patch +++ /dev/null @@ -1,78 +0,0 @@ ---- CMakeLists.txt -+++ CMakeLists.txt -@@ -931,10 +931,6 @@ set(CMAKE_INCLUDE_CURRENT_DIR ON) - include_directories( ${LLVM_INCLUDE_DIR} ${LLVM_MAIN_INCLUDE_DIR}) - - # when crosscompiling import the executable targets from a file --if(LLVM_USE_HOST_TOOLS) -- include(CrossCompile) -- llvm_create_cross_target(LLVM NATIVE "" Release) --endif(LLVM_USE_HOST_TOOLS) - if(LLVM_TARGET_IS_CROSSCOMPILE_HOST) - # Dummy use to avoid CMake Warning: Manually-specified variables were not used - # (this is a variable that CrossCompile sets on recursive invocations) ---- cmake/modules/TableGen.cmake -+++ cmake/modules/TableGen.cmake -@@ -147,32 +147,6 @@ macro(add_tablegen target project) - set(${project}_TABLEGEN_EXE ${${project}_TABLEGEN} PARENT_SCOPE) - set(${project}_TABLEGEN_TARGET ${${project}_TABLEGEN} PARENT_SCOPE) - -- if(LLVM_USE_HOST_TOOLS) -- if( ${${project}_TABLEGEN} STREQUAL "${target}" ) -- # The NATIVE tablegen executable *must* depend on the current target one -- # otherwise the native one won't get rebuilt when the tablgen sources -- # change, and we end up with incorrect builds. -- build_native_tool(${target} ${project}_TABLEGEN_EXE DEPENDS ${target}) -- set(${project}_TABLEGEN_EXE ${${project}_TABLEGEN_EXE} PARENT_SCOPE) -- -- add_custom_target(${project}-tablegen-host DEPENDS ${${project}_TABLEGEN_EXE}) -- set(${project}_TABLEGEN_TARGET ${project}-tablegen-host PARENT_SCOPE) -- -- # Create an artificial dependency between tablegen projects, because they -- # compile the same dependencies, thus using the same build folders. -- # FIXME: A proper fix requires sequentially chaining tablegens. -- if (NOT ${project} STREQUAL LLVM AND TARGET ${project}-tablegen-host AND -- TARGET LLVM-tablegen-host) -- add_dependencies(${project}-tablegen-host LLVM-tablegen-host) -- endif() -- -- # If we're using the host tablegen, and utils were not requested, we have no -- # need to build this tablegen. -- if ( NOT LLVM_BUILD_UTILS ) -- set_target_properties(${target} PROPERTIES EXCLUDE_FROM_ALL ON) -- endif() -- endif() -- endif() - - if ((${project} STREQUAL LLVM OR ${project} STREQUAL MLIR) AND NOT LLVM_INSTALL_TOOLCHAIN_ONLY AND LLVM_BUILD_UTILS) - set(export_to_llvmexports) ---- tools/llvm-config/CMakeLists.txt -+++ tools/llvm-config/CMakeLists.txt -@@ -75,11 +75,3 @@ endif() - - # Add the dependency on the generation step. - add_file_dependencies(${CMAKE_CURRENT_SOURCE_DIR}/llvm-config.cpp ${BUILDVARIABLES_OBJPATH}) -- --if(CMAKE_CROSSCOMPILING AND NOT LLVM_CONFIG_PATH) -- build_native_tool(llvm-config LLVM_CONFIG_PATH) -- set(LLVM_CONFIG_PATH "${LLVM_CONFIG_PATH}" CACHE STRING "") -- -- add_custom_target(NativeLLVMConfig DEPENDS ${LLVM_CONFIG_PATH}) -- add_dependencies(llvm-config NativeLLVMConfig) --endif() ---- tools/llvm-shlib/CMakeLists.txt -+++ tools/llvm-shlib/CMakeLists.txt -@@ -162,13 +162,6 @@ if(LLVM_BUILD_LLVM_C_DYLIB AND MSVC) - - set(LLVM_EXPORTED_SYMBOL_FILE ${CMAKE_BINARY_DIR}/${CMAKE_CFG_INTDIR}/libllvm-c.exports) - if(NOT LLVM_NM) -- if(CMAKE_CROSSCOMPILING) -- build_native_tool(llvm-nm llvm_nm) -- set(llvm_nm_target "${llvm_nm}") -- else() -- set(llvm_nm $) -- set(llvm_nm_target llvm-nm) -- endif() - else() - set(llvm_nm ${LLVM_NM}) - set(llvm_nm_target "") diff --git a/recipes/llvm-core/all/test_package/CMakeLists.txt b/recipes/llvm-core/all/test_package/CMakeLists.txt index 726aa5975f221..4de3810296f19 100644 --- a/recipes/llvm-core/all/test_package/CMakeLists.txt +++ b/recipes/llvm-core/all/test_package/CMakeLists.txt @@ -1,20 +1,31 @@ -cmake_minimum_required(VERSION 3.13.4) -project(test_package) +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() - -find_package(LLVM REQUIRED) +macro(test_llvm_cmake_variable VARIABLE) + if(NOT DEFINED ${VARIABLE}) + message(FATAL_ERROR "${VARIABLE} is not defined") + endif() + message(STATUS "${VARIABLE}: ${${VARIABLE}}") +endmacro() +set(CMAKE_CXX_STANDARD 17) add_executable(${PROJECT_NAME} test_package.cpp) -target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_14) -if(TARGET LLVMInterpreter) # static libraries - target_link_libraries(${PROJECT_NAME} PRIVATE - LLVMInterpreter - LLVMIRReader - LLVMX86CodeGen - ) -else() # shared library - target_link_libraries(${PROJECT_NAME} LLVM) +if (LLVM_SHARED) + find_package(LLVM REQUIRED) + target_link_libraries(${PROJECT_NAME} PRIVATE LLVM) +else() + find_package(LLVM REQUIRED) + llvm_map_components_to_libnames(llvm_libs interpreter nativecodegen irreader) + target_link_libraries(${PROJECT_NAME} PRIVATE ${llvm_libs}) endif() + +message(STATUS "Testing LLVM Build Module Variables") +test_llvm_cmake_variable(LLVM_PACKAGE_VERSION) +test_llvm_cmake_variable(LLVM_BUILD_TYPE) +test_llvm_cmake_variable(LLVM_CMAKE_DIR) +test_llvm_cmake_variable(LLVM_TOOLS_BINARY_DIR) +test_llvm_cmake_variable(LLVM_ALL_TARGETS) +test_llvm_cmake_variable(LLVM_TARGETS_TO_BUILD) +test_llvm_cmake_variable(LLVM_TARGETS_WITH_JIT) +test_llvm_cmake_variable(LLVM_NATIVE_ARCH) diff --git a/recipes/llvm-core/all/test_package/conanfile.py b/recipes/llvm-core/all/test_package/conanfile.py index e0ca8f6b664cb..5ae2ff91c80a2 100644 --- a/recipes/llvm-core/all/test_package/conanfile.py +++ b/recipes/llvm-core/all/test_package/conanfile.py @@ -1,39 +1,43 @@ -from conans import ConanFile, CMake, tools +from conan import ConanFile +from conan.tools.cmake import cmake_layout, CMakeDeps, CMakeToolchain, CMake +from conan.tools.env import VirtualRunEnv +from conan.tools.build import can_run -import os.path +import os -class LLVMCoreTestPackageConan(ConanFile): - settings = ('os', 'arch', 'compiler', 'build_type') - generators = ('cmake', 'cmake_find_package') +class TestPackageConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + + def layout(self): + cmake_layout(self) + + def requirements(self): + self.requires(self.tested_reference_str) + + def build_requirements(self): + # required for cmake_path support + self.tool_requires("cmake/[>=3.20 <4]") + + def generate(self): + deps = CMakeDeps(self) + deps.check_components_exist = True + deps.generate() + + tc = CMakeToolchain(self) + if self.dependencies[self.tested_reference_str].options.shared: + tc.variables["LLVM_SHARED"] = True + tc.generate() + + VirtualRunEnv(self).generate() def build(self): - build_system = CMake(self) - build_system.configure() - build_system.build() + cmake = CMake(self) + cmake.configure() + cmake.build() def test(self): - test_package = not tools.cross_building(self.settings) - if 'x86' not in str(self.settings.arch).lower(): - test_package = False - elif str(self.options['llvm-core'].targets) not in ['all', 'X86']: - test_package = False - elif self.options['llvm-core'].shared: - if self.options['llvm-core'].components != 'all': - requirements = ['interpreter', 'irreader', 'x86codegen'] - targets = str(self.options['llvm-core'].components) - if self.settings.os == 'Windows': - requirements.append('demangle') - if not all([target in components for target in requirements]): - test_package = False - - if test_package: - command = [ - os.path.join('bin', 'test_package'), - os.path.join(os.path.dirname(__file__), 'test_function.ll') - ] - self.run(command, run_environment=True) - - llvm_path = self.deps_cpp_info['llvm-core'].rootpath - license_path = os.path.join(llvm_path, 'licenses', 'LICENSE.TXT') - assert os.path.exists(license_path) + if can_run(self): + cmd = os.path.join(self.cpp.build.bindir, "test_package") + args = os.path.join(os.path.dirname(__file__), "test_function.ll") + self.run(f"{cmd} {args}", env="conanrun") From 696d19660e3acfac584a3ddbd66038de439836d8 Mon Sep 17 00:00:00 2001 From: Daniel Date: Tue, 24 Sep 2024 17:42:16 +0200 Subject: [PATCH 604/641] (#24924) [aws refactor] aws-sdk-cpp: Review dependencies, add new version and remove old one MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * [aws refactor] aws-sdk-cpp: Review dependencies, add new version and remove old one * patches * fix * fix * fix * fix * Add patches for new version * Fix missing patch * Fix crossbuildings, fix invalid macos invalidation, and dependant files copy * Reorder requirements to match upstream dependency declarations * Link Pulseaudio for Android * Add missing requires * Cleanup * Add missing requires * Fix component requires * Reorder for better checking in new versions in the future * Add zlib requirement, else compression fails when it finds it in the system * Fix pulseaudio dependency in Android * aws-sdk-cpp: add missing transitive_headers=True * Fix pulseaudio for non linux systems * backport pulseaudio to old version * Add AudioToolbox to text-to-speech frameworks * Validate build issue out * Fix * Cleanups * TypO * Final improvements for aws-sdk-cpp, sdks are now defined per-version * Back to validate() * Support Conan 1 * Back to validate_build() --------- Co-authored-by: Abril Rincón Blanco Co-authored-by: Martin Valgur --- recipes/aws-sdk-cpp/all/conandata.yml | 9 + recipes/aws-sdk-cpp/all/conanfile.py | 858 +++++++++++------- .../patches/1.11.352-0001-pulseaudio.patch | 32 + .../1.11.352-0002-disable-sort-links.patch | 13 + ...30-0004-improve-pulseaudio-detection.patch | 10 +- recipes/aws-sdk-cpp/config.yml | 2 + 6 files changed, 592 insertions(+), 332 deletions(-) create mode 100644 recipes/aws-sdk-cpp/all/patches/1.11.352-0001-pulseaudio.patch create mode 100644 recipes/aws-sdk-cpp/all/patches/1.11.352-0002-disable-sort-links.patch diff --git a/recipes/aws-sdk-cpp/all/conandata.yml b/recipes/aws-sdk-cpp/all/conandata.yml index e0488a5541cdd..36f76d76bbf97 100644 --- a/recipes/aws-sdk-cpp/all/conandata.yml +++ b/recipes/aws-sdk-cpp/all/conandata.yml @@ -1,8 +1,17 @@ sources: + "1.11.352": + url: "https://github.com/aws/aws-sdk-cpp/archive/1.11.352.tar.gz" + sha256: "999583df108a5363ff33563f86ea23a528761ebea3577348867932ba7eeacae2" "1.9.234": url: "https://github.com/aws/aws-sdk-cpp/archive/1.9.234.tar.gz" sha256: "52e36cf568fe0b2a0fc82a9333c0b31ba843db16670f4ccbb7b9fd142f1b00a5" patches: + "1.11.352": + - patch_file: patches/1.11.352-0001-pulseaudio.patch + patch_description: Use pulseaudio from conan + patch_type: conan + - patch_file: patches/1.11.352-0002-disable-sort-links.patch + - patch_file: patches/1.9.100-0002-aws-plugin-conf.patch "1.9.234": - patch_file: patches/1.9.234-0001-issue-1816.patch - patch_file: patches/1.9.234-0002-disable-sort-links.patch diff --git a/recipes/aws-sdk-cpp/all/conanfile.py b/recipes/aws-sdk-cpp/all/conanfile.py index b122f2d6fdd0e..e2b145aac5ef3 100644 --- a/recipes/aws-sdk-cpp/all/conanfile.py +++ b/recipes/aws-sdk-cpp/all/conanfile.py @@ -20,274 +20,408 @@ class AwsSdkCppConan(ConanFile): topics = ("aws", "cpp", "cross-platform", "amazon", "cloud") package_type = "library" settings = "os", "arch", "compiler", "build_type" + # This list comes from tools/code-generation/api-description, which then generates the sdk sources + # To generate for a new one, run the build once and check src/generated/src inside your build_folder, remove the common aws-sdk-cpp prefix + # and that's the list of sdks. The join it to the below one _sdks = ( - "access-management", - "accessanalyzer", - "acm", - "acm-pca", - "alexaforbusiness", - "amp", - "amplify", - "amplifybackend", - "apigateway", - "apigatewaymanagementapi", - "apigatewayv2", - "appconfig", - "appflow", - "appintegrations", - "application-autoscaling", - "application-insights", - "appmesh", - "appstream", - "appsync", - "athena", - "auditmanager", - "autoscaling", - "autoscaling-plans", - "awstransfer", - "backup", - "batch", - "braket", - "budgets", - "ce", - "chime", - "cloud9", - "clouddirectory", - "cloudformation", - "cloudfront", - "cloudhsm", - "cloudhsmv2", - "cloudsearch", - "cloudsearchdomain", - "cloudtrail", - "codeartifact", - "codebuild", - "codecommit", - "codedeploy", - "codeguru-reviewer", - "codeguruprofiler", - "codepipeline", - "codestar", - "codestar-connections", - "codestar-notifications", - "cognito-identity", - "cognito-idp", - "cognito-sync", - "comprehend", - "comprehendmedical", - "compute-optimizer", - "config", - "connect", - "connect-contact-lens", - "connectparticipant", - "cur", - "customer-profiles", - "databrew", - "dataexchange", - "datapipeline", - "datasync", - "dax", - "detective", - "devicefarm", - "devops-guru", - "directconnect", - "discovery", - "dlm", - "dms", - "docdb", - "ds", - "dynamodb", - "dynamodbstreams", - "ebs", - "ec2", - "ec2-instance-connect", - "ecr", - "ecr-public", - "ecs", - "eks", - "elastic-inference", - "elasticache", - "elasticbeanstalk", - "elasticfilesystem", - "elasticloadbalancing", - "elasticloadbalancingv2", - "elasticmapreduce", - "elastictranscoder", - "email", - "emr-containers", - "es", - "eventbridge", - "events", - "firehose", - "fms", - "forecast", - "forecastquery", - "frauddetector", - "fsx", - "gamelift", - "glacier", - "globalaccelerator", - "glue", - "greengrass", - "greengrassv2", - "groundstation", - "guardduty", - "health", - "healthlake", - "honeycode", - "iam", - "identity-management", - "identitystore", - "imagebuilder", - "importexport", - "inspector", - "iot", - "iot-data", - "iot-jobs-data", - "iot1click-devices", - "iot1click-projects", - "iotanalytics", - "iotdeviceadvisor", - "iotevents", - "iotevents-data", - "iotfleethub", - "iotsecuretunneling", - "iotsitewise", - "iotthingsgraph", - "iotwireless", - "ivs", - "kafka", - "kendra", - "kinesis", - "kinesis-video-archived-media", - "kinesis-video-media", - "kinesis-video-signaling", - "kinesisanalytics", - "kinesisanalyticsv2", - "kinesisvideo", - "kms", - "lakeformation", - "lambda", - "lex", - "lex-models", - "lexv2-models", - "lexv2-runtime", - "license-manager", - "lightsail", - "location", - "logs", - "lookoutvision", - "machinelearning", - "macie", - "macie2", - "managedblockchain", - "marketplace-catalog", - "marketplace-entitlement", - "marketplacecommerceanalytics", - "mediaconnect", - "mediaconvert", - "medialive", - "mediapackage", - "mediapackage-vod", - "mediastore", - "mediastore-data", - "mediatailor", - "meteringmarketplace", - "migrationhub-config", - "mobile", - "mobileanalytics", - "monitoring", - "mq", - "mturk-requester", - "mwaa", - "neptune", - "network-firewall", - "networkmanager", - "opsworks", - "opsworkscm", - "organizations", - "outposts", - "personalize", - "personalize-events", - "personalize-runtime", - "pi", - "pinpoint", - "pinpoint-email", - "polly", - "polly-sample", - "pricing", - "qldb", - "qldb-session", - "queues", - "quicksight", - "ram", - "rds", - "rds-data", - "redshift", - "redshift-data", - "rekognition", - "resource-groups", - "resourcegroupstaggingapi", - "robomaker", - "route53", - "route53domains", - "route53resolver", - "s3", - "s3-crt", - "s3-encryption", - "s3control", - "s3outposts", - "sagemaker", - "sagemaker-a2i-runtime", - "sagemaker-edge", - "sagemaker-featurestore-runtime", - "sagemaker-runtime", - "savingsplans", - "schemas", - "sdb", - "secretsmanager", - "securityhub", - "serverlessrepo", - "service-quotas", - "servicecatalog", - "servicecatalog-appregistry", - "servicediscovery", - "sesv2", - "shield", - "signer", - "sms", - "sms-voice", - "snowball", - "sns", - "sqs", - "ssm", - "sso", - "sso-admin", - "sso-oidc", - "states", - "storagegateway", - "sts", - "support", - "swf", - "synthetics", - "text-to-speech", - "textract", - "timestream-query", - "timestream-write", - "transcribe", - "transcribestreaming", - "transfer", - "translate", - "waf", - "waf-regional", - "wafv2", - "wellarchitected", - "workdocs", - "worklink", - "workmail", - "workmailmessageflow", - "workspaces", - "xray", + ('AWSMigrationHub', ['1.11.352']), + ('access-management', ['1.9.234', '1.11.352']), + ('accessanalyzer', ['1.9.234', '1.11.352']), + ('account', ['1.11.352']), + ('acm', ['1.9.234', '1.11.352']), + ('acm-pca', ['1.9.234', '1.11.352']), + ('alexaforbusiness', ['1.9.234']), + ('amp', ['1.9.234', '1.11.352']), + ('amplify', ['1.9.234', '1.11.352']), + ('amplifybackend', ['1.9.234', '1.11.352']), + ('amplifyuibuilder', ['1.11.352']), + ('apigateway', ['1.9.234', '1.11.352']), + ('apigatewaymanagementapi', ['1.9.234', '1.11.352']), + ('apigatewayv2', ['1.9.234', '1.11.352']), + ('appconfig', ['1.9.234', '1.11.352']), + ('appconfigdata', ['1.11.352']), + ('appfabric', ['1.11.352']), + ('appflow', ['1.9.234', '1.11.352']), + ('appintegrations', ['1.9.234', '1.11.352']), + ('application-autoscaling', ['1.9.234', '1.11.352']), + ('application-insights', ['1.9.234', '1.11.352']), + ('application-signals', ['1.11.352']), + ('applicationcostprofiler', ['1.11.352']), + ('appmesh', ['1.9.234', '1.11.352']), + ('apprunner', ['1.11.352']), + ('appstream', ['1.9.234', '1.11.352']), + ('appsync', ['1.9.234', '1.11.352']), + ('apptest', ['1.11.352']), + ('arc-zonal-shift', ['1.11.352']), + ('artifact', ['1.11.352']), + ('athena', ['1.9.234', '1.11.352']), + ('auditmanager', ['1.9.234', '1.11.352']), + ('autoscaling', ['1.9.234', '1.11.352']), + ('autoscaling-plans', ['1.9.234', '1.11.352']), + ('awstransfer', ['1.9.234', '1.11.352']), + ('b2bi', ['1.11.352']), + ('backup', ['1.9.234', '1.11.352']), + ('backup-gateway', ['1.11.352']), + ('batch', ['1.9.234', '1.11.352']), + ('bcm-data-exports', ['1.11.352']), + ('bedrock', ['1.11.352']), + ('bedrock-agent', ['1.11.352']), + ('bedrock-agent-runtime', ['1.11.352']), + ('bedrock-runtime', ['1.11.352']), + ('billingconductor', ['1.11.352']), + ('braket', ['1.9.234', '1.11.352']), + ('budgets', ['1.9.234', '1.11.352']), + ('ce', ['1.9.234', '1.11.352']), + ('chatbot', ['1.11.352']), + ('chime', ['1.9.234', '1.11.352']), + ('chime-sdk-identity', ['1.11.352']), + ('chime-sdk-media-pipelines', ['1.11.352']), + ('chime-sdk-meetings', ['1.11.352']), + ('chime-sdk-messaging', ['1.11.352']), + ('chime-sdk-voice', ['1.11.352']), + ('cleanrooms', ['1.11.352']), + ('cleanroomsml', ['1.11.352']), + ('cloud9', ['1.9.234', '1.11.352']), + ('cloudcontrol', ['1.11.352']), + ('clouddirectory', ['1.9.234', '1.11.352']), + ('cloudformation', ['1.9.234', '1.11.352']), + ('cloudfront', ['1.9.234', '1.11.352']), + ('cloudfront-keyvaluestore', ['1.11.352']), + ('cloudhsm', ['1.9.234', '1.11.352']), + ('cloudhsmv2', ['1.9.234', '1.11.352']), + ('cloudsearch', ['1.9.234', '1.11.352']), + ('cloudsearchdomain', ['1.9.234', '1.11.352']), + ('cloudtrail', ['1.9.234', '1.11.352']), + ('cloudtrail-data', ['1.11.352']), + ('codeartifact', ['1.9.234', '1.11.352']), + ('codebuild', ['1.9.234', '1.11.352']), + ('codecatalyst', ['1.11.352']), + ('codecommit', ['1.9.234', '1.11.352']), + ('codeconnections', ['1.11.352']), + ('codedeploy', ['1.9.234', '1.11.352']), + ('codeguru-reviewer', ['1.9.234', '1.11.352']), + ('codeguru-security', ['1.11.352']), + ('codeguruprofiler', ['1.9.234', '1.11.352']), + ('codepipeline', ['1.9.234', '1.11.352']), + ('codestar', ['1.9.234', '1.11.352']), + ('codestar-connections', ['1.9.234', '1.11.352']), + ('codestar-notifications', ['1.9.234', '1.11.352']), + ('cognito-identity', ['1.9.234', '1.11.352']), + ('cognito-idp', ['1.9.234', '1.11.352']), + ('cognito-sync', ['1.9.234', '1.11.352']), + ('comprehend', ['1.9.234', '1.11.352']), + ('comprehendmedical', ['1.9.234', '1.11.352']), + ('compute-optimizer', ['1.9.234', '1.11.352']), + ('config', ['1.9.234', '1.11.352']), + ('connect', ['1.9.234', '1.11.352']), + ('connect-contact-lens', ['1.9.234', '1.11.352']), + ('connectcampaigns', ['1.11.352']), + ('connectcases', ['1.11.352']), + ('connectparticipant', ['1.9.234', '1.11.352']), + ('controlcatalog', ['1.11.352']), + ('controltower', ['1.11.352']), + ('cost-optimization-hub', ['1.11.352']), + ('cur', ['1.9.234', '1.11.352']), + ('customer-profiles', ['1.9.234', '1.11.352']), + ('databrew', ['1.9.234', '1.11.352']), + ('dataexchange', ['1.9.234', '1.11.352']), + ('datapipeline', ['1.9.234', '1.11.352']), + ('datasync', ['1.9.234', '1.11.352']), + ('datazone', ['1.11.352']), + ('dax', ['1.9.234', '1.11.352']), + ('deadline', ['1.11.352']), + ('detective', ['1.9.234', '1.11.352']), + ('devicefarm', ['1.9.234', '1.11.352']), + ('devops-guru', ['1.9.234', '1.11.352']), + ('directconnect', ['1.9.234', '1.11.352']), + ('discovery', ['1.9.234', '1.11.352']), + ('dlm', ['1.9.234', '1.11.352']), + ('dms', ['1.9.234', '1.11.352']), + ('docdb', ['1.9.234', '1.11.352']), + ('docdb-elastic', ['1.11.352']), + ('drs', ['1.11.352']), + ('ds', ['1.9.234', '1.11.352']), + ('dynamodb', ['1.9.234', '1.11.352']), + ('dynamodbstreams', ['1.9.234', '1.11.352']), + ('ebs', ['1.9.234', '1.11.352']), + ('ec2', ['1.9.234', '1.11.352']), + ('ec2-instance-connect', ['1.9.234', '1.11.352']), + ('ecr', ['1.9.234', '1.11.352']), + ('ecr-public', ['1.9.234', '1.11.352']), + ('ecs', ['1.9.234', '1.11.352']), + ('eks', ['1.9.234', '1.11.352']), + ('eks-auth', ['1.11.352']), + ('elastic-inference', ['1.9.234', '1.11.352']), + ('elasticache', ['1.9.234', '1.11.352']), + ('elasticbeanstalk', ['1.9.234', '1.11.352']), + ('elasticfilesystem', ['1.9.234', '1.11.352']), + ('elasticloadbalancing', ['1.9.234', '1.11.352']), + ('elasticloadbalancingv2', ['1.9.234', '1.11.352']), + ('elasticmapreduce', ['1.9.234', '1.11.352']), + ('elastictranscoder', ['1.9.234', '1.11.352']), + ('email', ['1.9.234', '1.11.352']), + ('emr-containers', ['1.9.234', '1.11.352']), + ('emr-serverless', ['1.11.352']), + ('entityresolution', ['1.11.352']), + ('es', ['1.9.234', '1.11.352']), + ('eventbridge', ['1.9.234', '1.11.352']), + ('events', ['1.9.234', '1.11.352']), + ('evidently', ['1.11.352']), + ('finspace', ['1.11.352']), + ('finspace-data', ['1.11.352']), + ('firehose', ['1.9.234', '1.11.352']), + ('fis', ['1.11.352']), + ('fms', ['1.9.234', '1.11.352']), + ('forecast', ['1.9.234', '1.11.352']), + ('forecastquery', ['1.9.234', '1.11.352']), + ('frauddetector', ['1.9.234', '1.11.352']), + ('freetier', ['1.11.352']), + ('fsx', ['1.9.234', '1.11.352']), + ('gamelift', ['1.9.234', '1.11.352']), + ('glacier', ['1.9.234', '1.11.352']), + ('globalaccelerator', ['1.9.234', '1.11.352']), + ('glue', ['1.9.234', '1.11.352']), + ('grafana', ['1.11.352']), + ('greengrass', ['1.9.234', '1.11.352']), + ('greengrassv2', ['1.9.234', '1.11.352']), + ('groundstation', ['1.9.234', '1.11.352']), + ('guardduty', ['1.9.234', '1.11.352']), + ('health', ['1.9.234', '1.11.352']), + ('healthlake', ['1.9.234', '1.11.352']), + ('honeycode', ['1.9.234']), + ('iam', ['1.9.234', '1.11.352']), + ('identity-management', ['1.9.234', '1.11.352']), + ('identitystore', ['1.9.234', '1.11.352']), + ('imagebuilder', ['1.9.234', '1.11.352']), + ('importexport', ['1.9.234', '1.11.352']), + ('inspector', ['1.9.234', '1.11.352']), + ('inspector-scan', ['1.11.352']), + ('inspector2', ['1.11.352']), + ('internetmonitor', ['1.11.352']), + ('iot', ['1.9.234', '1.11.352']), + ('iot-data', ['1.9.234', '1.11.352']), + ('iot-jobs-data', ['1.9.234', '1.11.352']), + ('iot1click-devices', ['1.9.234', '1.11.352']), + ('iot1click-projects', ['1.9.234', '1.11.352']), + ('iotanalytics', ['1.9.234', '1.11.352']), + ('iotdeviceadvisor', ['1.9.234', '1.11.352']), + ('iotevents', ['1.9.234', '1.11.352']), + ('iotevents-data', ['1.9.234', '1.11.352']), + ('iotfleethub', ['1.9.234', '1.11.352']), + ('iotfleetwise', ['1.11.352']), + ('iotsecuretunneling', ['1.9.234', '1.11.352']), + ('iotsitewise', ['1.9.234', '1.11.352']), + ('iotthingsgraph', ['1.9.234', '1.11.352']), + ('iottwinmaker', ['1.11.352']), + ('iotwireless', ['1.9.234', '1.11.352']), + ('ivs', ['1.9.234', '1.11.352']), + ('ivs-realtime', ['1.11.352']), + ('ivschat', ['1.11.352']), + ('kafka', ['1.9.234', '1.11.352']), + ('kafkaconnect', ['1.11.352']), + ('kendra', ['1.9.234', '1.11.352']), + ('kendra-ranking', ['1.11.352']), + ('keyspaces', ['1.11.352']), + ('kinesis', ['1.9.234', '1.11.352']), + ('kinesis-video-archived-media', ['1.9.234', '1.11.352']), + ('kinesis-video-media', ['1.9.234', '1.11.352']), + ('kinesis-video-signaling', ['1.9.234', '1.11.352']), + ('kinesis-video-webrtc-storage', ['1.11.352']), + ('kinesisanalytics', ['1.9.234', '1.11.352']), + ('kinesisanalyticsv2', ['1.9.234', '1.11.352']), + ('kinesisvideo', ['1.9.234', '1.11.352']), + ('kms', ['1.9.234', '1.11.352']), + ('lakeformation', ['1.9.234', '1.11.352']), + ('lambda', ['1.9.234', '1.11.352']), + ('launch-wizard', ['1.11.352']), + ('lex', ['1.9.234', '1.11.352']), + ('lex-models', ['1.9.234', '1.11.352']), + ('lexv2-models', ['1.9.234', '1.11.352']), + ('lexv2-runtime', ['1.9.234', '1.11.352']), + ('license-manager', ['1.9.234', '1.11.352']), + ('license-manager-linux-subscriptions', ['1.11.352']), + ('license-manager-user-subscriptions', ['1.11.352']), + ('lightsail', ['1.9.234', '1.11.352']), + ('location', ['1.9.234', '1.11.352']), + ('logs', ['1.9.234', '1.11.352']), + ('lookoutequipment', ['1.11.352']), + ('lookoutmetrics', ['1.11.352']), + ('lookoutvision', ['1.9.234', '1.11.352']), + ('m2', ['1.11.352']), + ('machinelearning', ['1.9.234', '1.11.352']), + ('macie', ['1.9.234']), + ('macie2', ['1.9.234', '1.11.352']), + ('mailmanager', ['1.11.352']), + ('managedblockchain', ['1.9.234', '1.11.352']), + ('managedblockchain-query', ['1.11.352']), + ('marketplace-agreement', ['1.11.352']), + ('marketplace-catalog', ['1.9.234', '1.11.352']), + ('marketplace-deployment', ['1.11.352']), + ('marketplace-entitlement', ['1.9.234', '1.11.352']), + ('marketplacecommerceanalytics', ['1.9.234', '1.11.352']), + ('mediaconnect', ['1.9.234', '1.11.352']), + ('mediaconvert', ['1.9.234', '1.11.352']), + ('medialive', ['1.9.234', '1.11.352']), + ('mediapackage', ['1.9.234', '1.11.352']), + ('mediapackage-vod', ['1.9.234', '1.11.352']), + ('mediapackagev2', ['1.11.352']), + ('mediastore', ['1.9.234', '1.11.352']), + ('mediastore-data', ['1.9.234', '1.11.352']), + ('mediatailor', ['1.9.234', '1.11.352']), + ('medical-imaging', ['1.11.352']), + ('memorydb', ['1.11.352']), + ('meteringmarketplace', ['1.9.234', '1.11.352']), + ('mgn', ['1.11.352']), + ('migration-hub-refactor-spaces', ['1.11.352']), + ('migrationhub-config', ['1.9.234', '1.11.352']), + ('migrationhuborchestrator', ['1.11.352']), + ('migrationhubstrategy', ['1.11.352']), + ('mobile', ['1.9.234', '1.11.352']), + ('mobileanalytics', ['1.9.234']), + ('monitoring', ['1.9.234', '1.11.352']), + ('mq', ['1.9.234', '1.11.352']), + ('mturk-requester', ['1.9.234', '1.11.352']), + ('mwaa', ['1.9.234', '1.11.352']), + ('neptune', ['1.9.234', '1.11.352']), + ('neptune-graph', ['1.11.352']), + ('neptunedata', ['1.11.352']), + ('network-firewall', ['1.9.234', '1.11.352']), + ('networkmanager', ['1.9.234', '1.11.352']), + ('networkmonitor', ['1.11.352']), + ('nimble', ['1.11.352']), + ('oam', ['1.11.352']), + ('omics', ['1.11.352']), + ('opensearch', ['1.11.352']), + ('opensearchserverless', ['1.11.352']), + ('opsworks', ['1.9.234', '1.11.352']), + ('opsworkscm', ['1.9.234', '1.11.352']), + ('organizations', ['1.9.234', '1.11.352']), + ('osis', ['1.11.352']), + ('outposts', ['1.9.234', '1.11.352']), + ('panorama', ['1.11.352']), + ('payment-cryptography', ['1.11.352']), + ('payment-cryptography-data', ['1.11.352']), + ('pca-connector-ad', ['1.11.352']), + ('pca-connector-scep', ['1.11.352']), + ('personalize', ['1.9.234', '1.11.352']), + ('personalize-events', ['1.9.234', '1.11.352']), + ('personalize-runtime', ['1.9.234', '1.11.352']), + ('pi', ['1.9.234', '1.11.352']), + ('pinpoint', ['1.9.234', '1.11.352']), + ('pinpoint-email', ['1.9.234', '1.11.352']), + ('pinpoint-sms-voice-v2', ['1.11.352']), + ('pipes', ['1.11.352']), + ('polly', ['1.9.234', '1.11.352']), + # ('polly-sample', ['1.9.234']), # This gets generated, but is only sample code + ('pricing', ['1.9.234', '1.11.352']), + ('privatenetworks', ['1.11.352']), + ('proton', ['1.11.352']), + ('qbusiness', ['1.11.352']), + ('qconnect', ['1.11.352']), + ('qldb', ['1.9.234', '1.11.352']), + ('qldb-session', ['1.9.234', '1.11.352']), + ('queues', ['1.9.234', '1.11.352']), + ('quicksight', ['1.9.234', '1.11.352']), + ('ram', ['1.9.234', '1.11.352']), + ('rbin', ['1.11.352']), + ('rds', ['1.9.234', '1.11.352']), + ('rds-data', ['1.9.234', '1.11.352']), + ('redshift', ['1.9.234', '1.11.352']), + ('redshift-data', ['1.9.234', '1.11.352']), + ('redshift-serverless', ['1.11.352']), + ('rekognition', ['1.9.234', '1.11.352']), + ('repostspace', ['1.11.352']), + ('resiliencehub', ['1.11.352']), + ('resource-explorer-2', ['1.11.352']), + ('resource-groups', ['1.9.234', '1.11.352']), + ('resourcegroupstaggingapi', ['1.9.234', '1.11.352']), + ('robomaker', ['1.9.234', '1.11.352']), + ('rolesanywhere', ['1.11.352']), + ('route53', ['1.9.234', '1.11.352']), + ('route53-recovery-cluster', ['1.11.352']), + ('route53-recovery-control-config', ['1.11.352']), + ('route53-recovery-readiness', ['1.11.352']), + ('route53domains', ['1.9.234', '1.11.352']), + ('route53profiles', ['1.11.352']), + ('route53resolver', ['1.9.234', '1.11.352']), + ('rum', ['1.11.352']), + ('s3', ['1.9.234', '1.11.352']), + ('s3-crt', ['1.9.234', '1.11.352']), + ('s3-encryption', ['1.9.234', '1.11.352']), + ('s3control', ['1.9.234', '1.11.352']), + ('s3outposts', ['1.9.234', '1.11.352']), + ('sagemaker', ['1.9.234', '1.11.352']), + ('sagemaker-a2i-runtime', ['1.9.234', '1.11.352']), + ('sagemaker-edge', ['1.9.234', '1.11.352']), + ('sagemaker-featurestore-runtime', ['1.9.234', '1.11.352']), + ('sagemaker-geospatial', ['1.11.352']), + ('sagemaker-metrics', ['1.11.352']), + ('sagemaker-runtime', ['1.9.234', '1.11.352']), + ('savingsplans', ['1.9.234', '1.11.352']), + ('scheduler', ['1.11.352']), + ('schemas', ['1.9.234', '1.11.352']), + ('sdb', ['1.9.234', '1.11.352']), + ('secretsmanager', ['1.9.234', '1.11.352']), + ('securityhub', ['1.9.234', '1.11.352']), + ('securitylake', ['1.11.352']), + ('serverlessrepo', ['1.9.234', '1.11.352']), + ('service-quotas', ['1.9.234', '1.11.352']), + ('servicecatalog', ['1.9.234', '1.11.352']), + ('servicecatalog-appregistry', ['1.9.234', '1.11.352']), + ('servicediscovery', ['1.9.234', '1.11.352']), + ('sesv2', ['1.9.234', '1.11.352']), + ('shield', ['1.9.234', '1.11.352']), + ('signer', ['1.9.234', '1.11.352']), + ('simspaceweaver', ['1.11.352']), + ('sms', ['1.9.234', '1.11.352']), + ('sms-voice', ['1.9.234', '1.11.352']), + ('snow-device-management', ['1.11.352']), + ('snowball', ['1.9.234', '1.11.352']), + ('sns', ['1.9.234', '1.11.352']), + ('sqs', ['1.9.234', '1.11.352']), + ('ssm', ['1.9.234', '1.11.352']), + ('ssm-contacts', ['1.11.352']), + ('ssm-incidents', ['1.11.352']), + ('ssm-sap', ['1.11.352']), + ('sso', ['1.9.234', '1.11.352']), + ('sso-admin', ['1.9.234', '1.11.352']), + ('sso-oidc', ['1.9.234', '1.11.352']), + ('states', ['1.9.234', '1.11.352']), + ('storagegateway', ['1.9.234', '1.11.352']), + ('sts', ['1.9.234', '1.11.352']), + ('supplychain', ['1.11.352']), + ('support', ['1.9.234', '1.11.352']), + ('support-app', ['1.11.352']), + ('swf', ['1.9.234', '1.11.352']), + ('synthetics', ['1.9.234', '1.11.352']), + ('taxsettings', ['1.11.352']), + ('text-to-speech', ['1.9.234', '1.11.352']), + ('textract', ['1.9.234', '1.11.352']), + ('timestream-influxdb', ['1.11.352']), + ('timestream-query', ['1.9.234', '1.11.352']), + ('timestream-write', ['1.9.234', '1.11.352']), + ('tnb', ['1.11.352']), + ('transcribe', ['1.9.234', '1.11.352']), + ('transcribestreaming', ['1.9.234', '1.11.352']), + ('transfer', ['1.9.234', '1.11.352']), + ('translate', ['1.9.234', '1.11.352']), + ('trustedadvisor', ['1.11.352']), + ('verifiedpermissions', ['1.11.352']), + ('voice-id', ['1.11.352']), + ('vpc-lattice', ['1.11.352']), + ('waf', ['1.9.234', '1.11.352']), + ('waf-regional', ['1.9.234', '1.11.352']), + ('wafv2', ['1.9.234', '1.11.352']), + ('wellarchitected', ['1.9.234', '1.11.352']), + ('wisdom', ['1.11.352']), + ('workdocs', ['1.9.234', '1.11.352']), + ('worklink', ['1.9.234', '1.11.352']), + ('workmail', ['1.9.234', '1.11.352']), + ('workmailmessageflow', ['1.9.234', '1.11.352']), + ('workspaces', ['1.9.234', '1.11.352']), + ('workspaces-thin-client', ['1.11.352']), + ('workspaces-web', ['1.11.352']), + ('xray', ['1.9.234', '1.11.352']) ) options = { **{ @@ -295,22 +429,24 @@ class AwsSdkCppConan(ConanFile): "fPIC": [True, False], "min_size": [True, False], }, - **{ x: [True, False] for x in _sdks}, + **{sdk_name: [None, True, False] for sdk_name, _ in _sdks}, + } + default_options = { + **{ + "shared": False, + "fPIC": True, + "min_size": False + }, + **{sdk_name: None for sdk_name, _ in _sdks}, + # Overrides + "monitoring": True # TODO: Clarify why monitoring is True by default } - default_options = {key: False for key in options.keys()} - default_options["fPIC"] = True - default_options["access-management"] = True - default_options["identity-management"] = True - default_options["monitoring"] = True - default_options["queues"] = True - default_options["s3-encryption"] = True - default_options["transfer"] = True - default_options["text-to-speech"] = True short_paths = True @property def _internal_requirements(self): + # These modules and dependencies come from https://github.com/aws/aws-sdk-cpp/blob/1.11.352/cmake/sdksCommon.cmake#L147 and below return { "access-management": ["iam", "cognito-identity"], "identity-management": ["cognito-identity", "sts"], @@ -327,76 +463,135 @@ def config_options(self): if self.settings.os == "Windows": del self.options.fPIC + # Main modules are true by default, but the user can set them to false + for module in self._internal_requirements: + setattr(self.options, module, True) + + # Remove all sdk options not belonging to the current version + for sdk_name, sdk_versions in self._sdks: + if self.version not in sdk_versions: + self.options.rm_safe(sdk_name) + def configure(self): if self.options.shared: self.options.rm_safe("fPIC") + # If the user does not specify a value for a specific sdk: + # - Set it to True if it's a dependency of a main module that is set to True + for module, dependencies in self._internal_requirements.items(): + if self.options.get_safe(module): + for dependency in dependencies: + # Don't listen to the linter, get_safe should be compared like this to None + # TODO: Remove str comparison when Conan 1 is disabled + if str(self.options.get_safe(dependency)) == "None": + setattr(self.options, dependency, True) + + # - Otherwise set it to False + # This way there are no None options past this method, and we can control default values + # of the dependencies of the main modules but still give the user control over them + for sdk_name, sdk_versions in self._sdks: + # == None is true for both "was deleted" and "was not set by the user", + # ensure we only try to set the value to false for the latter + if self.version in sdk_versions and self.options.get_safe(sdk_name) == None: + setattr(self.options, sdk_name, False) + def layout(self): cmake_layout(self, src_folder="src") def requirements(self): + # These versions come from prefetch_crt_dependency.sh, + # dont bump them independently, check the file if self.version == "1.11.352": + self.requires("aws-crt-cpp/0.26.9", transitive_headers=True) + self.requires("aws-c-auth/0.7.16") + self.requires("aws-c-cal/0.6.14") self.requires("aws-c-common/0.9.15") + self.requires("aws-c-compression/0.2.18") # No mention of this in the code self.requires("aws-c-event-stream/0.4.2") - self.requires("aws-checksums/0.1.18") - self.requires("aws-c-cal/0.6.14") self.requires("aws-c-http/0.8.1") self.requires("aws-c-io/0.14.7") - self.requires("aws-crt-cpp/0.26.9", transitive_headers=True) + self.requires("aws-c-mqtt/0.10.3") if self.options.get_safe("s3-crt"): self.requires("aws-c-s3/0.5.5") + self.requires("aws-c-sdkutils/0.1.15") # No mention of this in the code + self.requires("aws-checksums/0.1.18") + # missing aws-lc, but only needed as openssl replacement if USE_OPENSSL is OFF + self.requires("s2n/1.4.16") # No mention of this in the code, we might be overlinking if self.version == "1.9.234": + self.requires("aws-crt-cpp/0.17.1a", transitive_headers=True) + self.requires("aws-c-auth/0.6.4") + self.requires("aws-c-cal/0.5.12") self.requires("aws-c-common/0.6.11") + self.requires("aws-c-compression/0.2.14") self.requires("aws-c-event-stream/0.2.7") - self.requires("aws-checksums/0.1.12") - self.requires("aws-c-cal/0.5.12") self.requires("aws-c-http/0.6.7") self.requires("aws-c-io/0.10.9") - self.requires("aws-crt-cpp/0.17.1a", transitive_headers=True) + self.requires("aws-c-mqtt/0.7.8") if self.options.get_safe("s3-crt"): self.requires("aws-c-s3/0.1.26") + self.requires("aws-checksums/0.1.12") + self.requires("s2n/1.3.15") # No mention of this in the code, we might be overlinking if self.settings.os != "Windows": - self.requires("openssl/[>=1.1 <4]") - self.requires("libcurl/[>=7.78.0 <9]") - if self.settings.os in ["Linux", "FreeBSD"]: + # Used transitively in core/utils/crypto/openssl/CryptoImpl.h public header + self.requires("openssl/[>=1.1 <4]", transitive_headers=True) + # Used transitively in core/http/curl/CurlHandleContainer.h public header + self.requires("libcurl/[>=7.78.0 <9]", transitive_headers=True) + if self.settings.os == "Linux": + # Pulseaudio -> libcap, libalsa only support linux, don't use pulseaudio on other platforms if self.options.get_safe("text-to-speech"): - self.requires("pulseaudio/14.2") + # Used transitively in text-to-speech/PulseAudioPCMOutputDriver.h public header + self.requires("pulseaudio/14.2", transitive_headers=True, transitive_libs=True) + # zlib is used if ENABLE_ZLIB_REQUEST_COMPRESSION is enabled, set ot ON by default + self.requires("zlib/[>=1.2.11 <2]") - def validate(self): + @property + def _settings_build(self): + return getattr(self, "settings_build", self.settings) + + def validate_build(self): + if self._settings_build.os == "Windows" and self.settings.os == "Android": + raise ConanInvalidConfiguration("Cross-building from Windows to Android is not supported") + + def validate_build(self): if (self.options.shared - and self.settings.compiler == "gcc" - and Version(self.settings.compiler.version) < "6.0"): + and self.settings.compiler == "gcc" + and Version(self.settings.compiler.version) < "6.0"): raise ConanInvalidConfiguration( "Doesn't support gcc5 / shared. " "See https://github.com/conan-io/conan-center-index/pull/4401#issuecomment-802631744" ) + + def validate(self): if is_msvc(self) and is_msvc_static_runtime(self): raise ConanInvalidConfiguration("Static runtime is not working for more recent releases") - else: - if self.settings.os == "Macos" and self.settings.arch == "armv8": - raise ConanInvalidConfiguration( - "This version doesn't support arm8. " - "See https://github.com/aws/aws-sdk-cpp/issues/1542" - ) - - def package_id(self): - for hl_comp in self._internal_requirements.keys(): - if getattr(self.info.options, hl_comp): - for internal_requirement in self._internal_requirements[hl_comp]: - setattr(self.info.options, internal_requirement, True) + if (is_msvc(self) and self.options.shared + and not self.dependencies["aws-c-common"].options.shared): + raise ConanInvalidConfiguration(f"{self.ref} with shared is not supported with aws-c-common static") + + # If the user has explicitly set a main module dependency to False, + # error out if the main module itself is not also disabled + for main_module, dependencies in self._internal_requirements.items(): + if self.options.get_safe(main_module): + for internal_requirement in dependencies: + if not self.options.get_safe(internal_requirement): + raise ConanInvalidConfiguration(f"-o={self.ref}:{main_module}=True requires -o={self.ref}:{internal_requirement}=True") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) + def _enabled_sdks(self): + for sdk in self._sdks: + if self.options.get_safe(sdk[0]): + yield sdk + def generate(self): tc = CMakeToolchain(self) # All option() are defined before project() in upstream CMakeLists, # therefore we must use cache_variables build_only = ["core"] - for sdk in self._sdks: - if self.options.get_safe(sdk): - build_only.append(sdk) + for sdk_name, _ in self._enabled_sdks(): + build_only.append(sdk_name) tc.cache_variables["BUILD_ONLY"] = ";".join(build_only) tc.cache_variables["ENABLE_UNITY_BUILD"] = True @@ -404,6 +599,7 @@ def generate(self): tc.cache_variables["AUTORUN_UNIT_TESTS"] = False tc.cache_variables["BUILD_DEPS"] = False if self.settings.os != "Windows": + tc.cache_variables["USE_OPENSSL"] = True tc.cache_variables["ENABLE_OPENSSL_ENCRYPTION"] = True tc.cache_variables["MINIMIZE_SIZE"] = self.options.min_size @@ -444,15 +640,19 @@ def _res_folder(self): def _create_project_cmake_module(self): # package files needed to build other components (e.g. aws-cdi-sdk) with this SDK - for file in [ + dependant_files = [ "cmake/compiler_settings.cmake", "cmake/initialize_project_version.cmake", "cmake/utilities.cmake", "cmake/sdk_plugin_conf.cmake", "toolchains/cmakeProjectConfig.cmake", - "toolchains/pkg-config.pc.in", - "aws-cpp-sdk-core/include/aws/core/VersionConfig.h" - ]: + "toolchains/pkg-config.pc.in" + ] + if Version(self.version) >= "1.11.352": + dependant_files.append("src/aws-cpp-sdk-core/include/aws/core/VersionConfig.h") + else: + dependant_files.append("aws-cpp-sdk-core/include/aws/core/VersionConfig.h") + for file in dependant_files: copy(self, file, src=self.source_folder, dst=os.path.join(self.package_folder, self._res_folder)) replace_in_file( self, os.path.join(self.package_folder, self._res_folder, file), @@ -462,7 +662,7 @@ def _create_project_cmake_module(self): # avoid getting error from hook rename(self, os.path.join(self.package_folder, self._res_folder, "toolchains", "cmakeProjectConfig.cmake"), - os.path.join(self.package_folder, self._res_folder, "toolchains", "cmakeProjectConf.cmake")) + os.path.join(self.package_folder, self._res_folder, "toolchains", "cmakeProjectConf.cmake")) replace_in_file( self, os.path.join(self.package_folder, self._res_folder, "cmake", "utilities.cmake"), "cmakeProjectConfig.cmake", "cmakeProjectConf.cmake", @@ -492,26 +692,26 @@ def package_info(self): self.cpp_info.components["core"].set_property("pkg_config_name", "aws-sdk-cpp-core") self.cpp_info.components["core"].libs = ["aws-cpp-sdk-core"] self.cpp_info.components["core"].requires = [ + "aws-crt-cpp::aws-crt-cpp", + "aws-c-auth::aws-c-auth", + "aws-c-cal::aws-c-cal", "aws-c-common::aws-c-common", + "aws-c-compression::aws-c-compression", "aws-c-event-stream::aws-c-event-stream", - "aws-checksums::aws-checksums", - ] - self.cpp_info.components["core"].requires.extend([ - "aws-c-cal::aws-c-cal", "aws-c-http::aws-c-http", "aws-c-io::aws-c-io", - "aws-crt-cpp::aws-crt-cpp", - ]) + "aws-c-mqtt::aws-c-mqtt", + "aws-checksums::aws-checksums", + "zlib::zlib", + "s2n::s2n" + ] - # other components - enabled_sdks = [sdk for sdk in self._sdks if self.options.get_safe(sdk)] - for hl_comp in self._internal_requirements.keys(): - if getattr(self.options, hl_comp): - for internal_requirement in self._internal_requirements[hl_comp]: - if internal_requirement not in enabled_sdks: - enabled_sdks.append(internal_requirement) + if Version(self.version) >= "1.11.352": + self.cpp_info.components["core"].requires.extend([ + "aws-c-sdkutils::aws-c-sdkutils", + ]) - for sdk in enabled_sdks: + for sdk, _ in self._enabled_sdks(): # TODO: there is no way to properly emulate COMPONENTS names for # find_package(AWSSDK COMPONENTS ) in set_property() # right now: see https://github.com/conan-io/conan/issues/10258 @@ -525,7 +725,7 @@ def package_info(self): # TODO: to remove in conan v2 once cmake_find_package_* generators removed self.cpp_info.components[sdk].names["cmake_find_package"] = "aws-sdk-cpp-" + sdk self.cpp_info.components[sdk].names["cmake_find_package_multi"] = "aws-sdk-cpp-" + sdk - component_alias = f"aws-sdk-cpp-{sdk}_alias" # to emulate COMPONENTS names for find_package() + component_alias = f"aws-sdk-cpp-{sdk}_alias" # to emulate COMPONENTS names for find_package() self.cpp_info.components[component_alias].names["cmake_find_package"] = sdk self.cpp_info.components[component_alias].names["cmake_find_package_multi"] = sdk self.cpp_info.components[component_alias].requires = [sdk] @@ -540,17 +740,19 @@ def package_info(self): else: self.cpp_info.components["core"].requires.extend(["libcurl::curl", "openssl::openssl"]) - if self.settings.os in ["Linux", "FreeBSD"]: - self.cpp_info.components["core"].system_libs.append("atomic") + if self.settings.os == "Linux": if self.options.get_safe("text-to-speech"): self.cpp_info.components["text-to-speech"].requires.append("pulseaudio::pulseaudio") + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.components["core"].system_libs.append("atomic") + if self.options.get_safe("s3-crt"): self.cpp_info.components["s3-crt"].requires.append("aws-c-s3::aws-c-s3") if self.settings.os == "Macos": if self.options.get_safe("text-to-speech"): - self.cpp_info.components["text-to-speech"].frameworks.append("CoreAudio") + self.cpp_info.components["text-to-speech"].frameworks.extend(["CoreAudio", "AudioToolbox"]) libcxx = stdcpp_library(self) if libcxx: diff --git a/recipes/aws-sdk-cpp/all/patches/1.11.352-0001-pulseaudio.patch b/recipes/aws-sdk-cpp/all/patches/1.11.352-0001-pulseaudio.patch new file mode 100644 index 0000000000000..c2a64d3dd0446 --- /dev/null +++ b/recipes/aws-sdk-cpp/all/patches/1.11.352-0001-pulseaudio.patch @@ -0,0 +1,32 @@ +diff --git a/src/aws-cpp-sdk-text-to-speech/CMakeLists.txt b/src/aws-cpp-sdk-text-to-speech/CMakeLists.txt +index 5a40f1906..4136a4690 100644 +--- a/src/aws-cpp-sdk-text-to-speech/CMakeLists.txt ++++ b/src/aws-cpp-sdk-text-to-speech/CMakeLists.txt +@@ -9,8 +9,6 @@ file( GLOB TEXT_TO_SPEECH_HEADERS "include/aws/text-to-speech/*.h" ) + + set(PLATFORM_LIBS "") + +-check_include_files("pulse/simple.h" HAVE_PULSE) +- + if(PLATFORM_WINDOWS) + file( GLOB TEXT_TO_SPEECH_PLATFORM_HEADERS "include/aws/text-to-speech/windows/*.h" ) + file( GLOB TEXT_TO_SPEECH_PLATFORM_SOURCE "source/text-to-speech/windows/*.cpp" ) +@@ -19,14 +17,15 @@ if(PLATFORM_WINDOWS) + set(PLATFORM_LIBS ${PLATFORM_LIBS} Winmm) + endif() + +-if (PLATFORM_LINUX) +- if(HAVE_PULSE) ++if (CMAKE_SYSTEM_NAME STREQUAL "Linux") ++ find_package(pulseaudio) ++ if(pulseaudio_FOUND) + file( GLOB TEXT_TO_SPEECH_PLATFORM_HEADERS "include/aws/text-to-speech/linux/*.h" ) + file( GLOB TEXT_TO_SPEECH_PLATFORM_SOURCE "source/text-to-speech/linux/*.cpp" ) + + message(STATUS "Pulse audio header files have been detected, included pulse audio as a possible sound driver implementation.") + add_definitions("-DPULSE") +- set(PLATFORM_LIBS ${PLATFORM_LIBS} pulse pulse-simple) ++ set(PLATFORM_LIBS ${PLATFORM_LIBS} "pulseaudio::pulseaudio") + else() + message(WARNING "We've detected that you are building on linux, but the header files for pulseaudio are not available.\ + If you are providing your own audio implementation or you will not be using the text-to-speech library, this is fine.\ diff --git a/recipes/aws-sdk-cpp/all/patches/1.11.352-0002-disable-sort-links.patch b/recipes/aws-sdk-cpp/all/patches/1.11.352-0002-disable-sort-links.patch new file mode 100644 index 0000000000000..9ba1170c20c17 --- /dev/null +++ b/recipes/aws-sdk-cpp/all/patches/1.11.352-0002-disable-sort-links.patch @@ -0,0 +1,13 @@ +diff --git a/cmake/sdks.cmake b/cmake/sdks.cmake +index 1b1ada7fc..606f5db18 100644 +--- a/cmake/sdks.cmake ++++ b/cmake/sdks.cmake +@@ -271,7 +271,7 @@ function(add_sdks) + + # the catch-all config needs to list all the targets in a dependency-sorted order + include(dependencies) +- sort_links(EXPORTS) ++ #sort_links(EXPORTS) + + # make an everything config by just including all the individual configs + file(WRITE ${CMAKE_BINARY_DIR}/aws-sdk-cpp-config.cmake "") \ No newline at end of file diff --git a/recipes/aws-sdk-cpp/all/patches/1.8.130-0004-improve-pulseaudio-detection.patch b/recipes/aws-sdk-cpp/all/patches/1.8.130-0004-improve-pulseaudio-detection.patch index 9930b981211f6..84537aa466936 100644 --- a/recipes/aws-sdk-cpp/all/patches/1.8.130-0004-improve-pulseaudio-detection.patch +++ b/recipes/aws-sdk-cpp/all/patches/1.8.130-0004-improve-pulseaudio-detection.patch @@ -1,5 +1,5 @@ diff --git a/aws-cpp-sdk-text-to-speech/CMakeLists.txt b/aws-cpp-sdk-text-to-speech/CMakeLists.txt -index b1054515d5..d1a34ddfc5 100644 +index b105451..7de9367 100644 --- a/aws-cpp-sdk-text-to-speech/CMakeLists.txt +++ b/aws-cpp-sdk-text-to-speech/CMakeLists.txt @@ -9,8 +9,6 @@ file( GLOB TEXT_TO_SPEECH_HEADERS "include/aws/text-to-speech/*.h" ) @@ -11,13 +11,15 @@ index b1054515d5..d1a34ddfc5 100644 if(PLATFORM_WINDOWS) file( GLOB TEXT_TO_SPEECH_PLATFORM_HEADERS "include/aws/text-to-speech/windows/*.h" ) file( GLOB TEXT_TO_SPEECH_PLATFORM_SOURCE "source/text-to-speech/windows/*.cpp" ) -@@ -20,13 +18,14 @@ if(PLATFORM_WINDOWS) +@@ -19,14 +17,15 @@ if(PLATFORM_WINDOWS) + set(PLATFORM_LIBS ${PLATFORM_LIBS} Winmm) endif() - if (PLATFORM_LINUX) +-if (PLATFORM_LINUX) - if(HAVE_PULSE) ++if (CMAKE_SYSTEM_NAME STREQUAL "Linux") + find_package(pulseaudio) -+ if (1) ++ if (pulseaudio_FOUND) file( GLOB TEXT_TO_SPEECH_PLATFORM_HEADERS "include/aws/text-to-speech/linux/*.h" ) file( GLOB TEXT_TO_SPEECH_PLATFORM_SOURCE "source/text-to-speech/linux/*.cpp" ) diff --git a/recipes/aws-sdk-cpp/config.yml b/recipes/aws-sdk-cpp/config.yml index aeb73ff8f53ec..15dd4365a90bb 100644 --- a/recipes/aws-sdk-cpp/config.yml +++ b/recipes/aws-sdk-cpp/config.yml @@ -1,3 +1,5 @@ versions: + "1.11.352": + folder: "all" "1.9.234": folder: "all" From 021547761cb73c86a5f9b3ad51881840f0c7e98a Mon Sep 17 00:00:00 2001 From: Luis Caro Campos <3535649+jcar87@users.noreply.github.com> Date: Tue, 24 Sep 2024 17:01:56 +0100 Subject: [PATCH 605/641] (#25384) Clarify header only library template --- docs/package_templates/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/package_templates/README.md b/docs/package_templates/README.md index 76d696e57b0a0..1ea369a63a8ee 100644 --- a/docs/package_templates/README.md +++ b/docs/package_templates/README.md @@ -12,7 +12,7 @@ It's listed under [cmake_package](cmake_package) folder. It fits projects which #### Header only -It's listed under [header_only](header_only) folder. It fits projects which only copy header and have the same package ID always. +It's listed under [header_only](header_only) folder. It fits projects which only copy header and have the same package ID always. Please note that if the library in question does have a build system (e.g. CMake, Meson, Autotools) that contains install logic - that should be the preferred starting point for the recipe. Copying files directly into the package folder should be reserved for header only libraries where the upstream project does not provide this functionality. #### MSBuild package From a8eb9328c95a3bdd08d5160c7239cd02cf382b18 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 25 Sep 2024 01:35:58 +0900 Subject: [PATCH 606/641] (#25383) proj: add version 9.5.0 --- recipes/proj/all/conandata.yml | 3 +++ recipes/proj/all/conanfile.py | 5 ++--- recipes/proj/all/test_package/CMakeLists.txt | 2 +- recipes/proj/config.yml | 2 ++ 4 files changed, 8 insertions(+), 4 deletions(-) diff --git a/recipes/proj/all/conandata.yml b/recipes/proj/all/conandata.yml index 4dfa942ea7d40..376bfb62914e2 100644 --- a/recipes/proj/all/conandata.yml +++ b/recipes/proj/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "9.5.0": + url: "https://github.com/OSGeo/PROJ/releases/download/9.5.0/proj-9.5.0.tar.gz" + sha256: "659af0d558f7c5618c322fde2d3392910806faee8684687959339021fa207d99" "9.4.1": url: "https://github.com/OSGeo/PROJ/releases/download/9.4.1/proj-9.4.1.tar.gz" sha256: "ffe20170ee2b952207adf8a195e2141eab12cda181e49fdeb54425d98c7171d7" diff --git a/recipes/proj/all/conanfile.py b/recipes/proj/all/conanfile.py index d687913f6a248..ffa2b47c51958 100644 --- a/recipes/proj/all/conanfile.py +++ b/recipes/proj/all/conanfile.py @@ -15,9 +15,9 @@ class ProjConan(ConanFile): name = "proj" description = "Cartographic Projections and Coordinate Transformations Library." license = "MIT" - topics = "dsp", "proj", "proj4", "projections", "gis", "geospatial" - homepage = "https://proj.org" url = "https://github.com/conan-io/conan-center-index" + homepage = "https://proj.org" + topics = ("dsp", "proj", "proj4", "projections", "gis", "geospatial") package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { @@ -181,7 +181,6 @@ def package(self): rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) - def package_info(self): proj_version = Version(self.version) cmake_config_filename = "proj" if proj_version >= "7.0.0" else "proj4" diff --git a/recipes/proj/all/test_package/CMakeLists.txt b/recipes/proj/all/test_package/CMakeLists.txt index 68d47d66efc39..4fa8bd93600fa 100644 --- a/recipes/proj/all/test_package/CMakeLists.txt +++ b/recipes/proj/all/test_package/CMakeLists.txt @@ -1,5 +1,5 @@ cmake_minimum_required(VERSION 3.8) -project(test_package C) +project(test_package LANGUAGES C) add_executable(test_package test_package.c) if(PROJ_VERSION_GE_7) diff --git a/recipes/proj/config.yml b/recipes/proj/config.yml index 557db04c01e50..d52e34a81ac98 100644 --- a/recipes/proj/config.yml +++ b/recipes/proj/config.yml @@ -1,4 +1,6 @@ versions: + "9.5.0": + folder: "all" "9.4.1": folder: "all" "9.3.1": From d6d5d9f186e57aee18c7578f11dc75e3de853cb7 Mon Sep 17 00:00:00 2001 From: Uilian Ries Date: Tue, 24 Sep 2024 19:02:15 +0200 Subject: [PATCH 607/641] (#25386) [libnl] Fix pc file names for components * Fix pc file names for libnl Signed-off-by: Uilian Ries * Keep warnings Signed-off-by: Uilian Ries --------- Signed-off-by: Uilian Ries --- recipes/libnl/all/conanfile.py | 12 ++++++------ recipes/libnl/all/test_package/CMakeLists.txt | 11 +++++++++++ recipes/libnl/all/test_package/conanfile.py | 6 +++++- 3 files changed, 22 insertions(+), 7 deletions(-) diff --git a/recipes/libnl/all/conanfile.py b/recipes/libnl/all/conanfile.py index 5cf766d947fc5..a6e8ec2b93bbb 100644 --- a/recipes/libnl/all/conanfile.py +++ b/recipes/libnl/all/conanfile.py @@ -79,22 +79,22 @@ def package_info(self): self.cpp_info.components["nl-genl"].libs = ["nl-genl-3"] self.cpp_info.components["nl-genl"].requires = ["nl"] - self.cpp_info.components["nl-genl"].set_property("pkg_config_name", "libnl-genl-3.0.pc") + self.cpp_info.components["nl-genl"].set_property("pkg_config_name", "libnl-genl-3.0") self.cpp_info.components["nl-nf"].libs = ["nl-nf-3"] self.cpp_info.components["nl-nf"].requires = ["nl-route"] - self.cpp_info.components["nl-nf"].set_property("pkg_config_name", "libnl-nf-3.0.pc") + self.cpp_info.components["nl-nf"].set_property("pkg_config_name", "libnl-nf-3.0") self.cpp_info.components["nl-cli"].libs = ["nl-cli-3"] self.cpp_info.components["nl-cli"].requires = ["nl-nf", "nl-genl"] self.cpp_info.components["nl-cli"].system_libs = ["dl"] - self.cpp_info.components["nl-cli"].set_property("pkg_config_name", "libnl-cli-3.0.pc") + self.cpp_info.components["nl-cli"].set_property("pkg_config_name", "libnl-cli-3.0") self.cpp_info.components["nl-idiag"].libs = ["nl-idiag-3"] self.cpp_info.components["nl-idiag"].requires = ["nl"] - self.cpp_info.components["nl-idiag"].set_property("pkg_config_name", "libnl-idiag-3.0.pc") + self.cpp_info.components["nl-idiag"].set_property("pkg_config_name", "libnl-idiag-3.0") if Version(self.version) >= "3.3.0": self.cpp_info.components["nl-xfrm"].libs = ["nl-xfrm-3"] - self.cpp_info.components["nl-idiag"].requires = ["nl"] - self.cpp_info.components["nl-idiag"].set_property("pkg_config_name", "libnl-xfrm-3.0.pc") + self.cpp_info.components["nl-xfrm"].requires = ["nl"] + self.cpp_info.components["nl-xfrm"].set_property("pkg_config_name", "libnl-xfrm-3.0") diff --git a/recipes/libnl/all/test_package/CMakeLists.txt b/recipes/libnl/all/test_package/CMakeLists.txt index 676febf50a4db..f6ba7c21f8d96 100644 --- a/recipes/libnl/all/test_package/CMakeLists.txt +++ b/recipes/libnl/all/test_package/CMakeLists.txt @@ -1,7 +1,18 @@ cmake_minimum_required(VERSION 3.15) project(test_package LANGUAGES C) +include(FindPkgConfig) + find_package(libnl REQUIRED CONFIG) +find_package(PkgConfig REQUIRED) +pkg_check_modules(libnl-3.0 REQUIRED IMPORTED_TARGET libnl-3.0) +pkg_check_modules(libnl-route-3.0 REQUIRED IMPORTED_TARGET libnl-route-3.0) +pkg_check_modules(libnl-genl-3.0 REQUIRED IMPORTED_TARGET libnl-genl-3.0) +pkg_check_modules(libnl-nf-3.0 REQUIRED IMPORTED_TARGET libnl-nf-3.0) +pkg_check_modules(libnl-cli-3.0 REQUIRED IMPORTED_TARGET libnl-cli-3.0) +pkg_check_modules(libnl-idiag-3.0 REQUIRED IMPORTED_TARGET libnl-idiag-3.0) +pkg_check_modules(libnl-xfrm-3.0 QUIET IMPORTED_TARGET libnl-xfrm-3.0) + add_executable(${PROJECT_NAME} ${PROJECT_NAME}.c) target_link_libraries(${PROJECT_NAME} PRIVATE libnl::nl libnl::nl-route libnl::nl-genl libnl::nl-nf libnl::nl-cli libnl::nl-idiag $<$:libnl::nl-xfrm>) diff --git a/recipes/libnl/all/test_package/conanfile.py b/recipes/libnl/all/test_package/conanfile.py index 9b544e8a245c0..813661a00f9e6 100644 --- a/recipes/libnl/all/test_package/conanfile.py +++ b/recipes/libnl/all/test_package/conanfile.py @@ -6,7 +6,7 @@ class NetlinkTestConan(ConanFile): settings = "os", "compiler", "build_type", "arch" - generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv", "PkgConfigDeps", "VirtualBuildEnv" test_type = "explicit" def layout(self): @@ -15,6 +15,10 @@ def layout(self): def requirements(self): self.requires(self.tested_reference_str) + def build_requirements(self): + if not self.conf.get("tools.gnu:pkg_config", check_type=str): + self.tool_requires("pkgconf/[>=2.2 <3]") + def build(self): cmake = CMake(self) cmake.configure() From e785986fc737bebf28764eb1243737c1157dc4f8 Mon Sep 17 00:00:00 2001 From: Gregor Santner Date: Wed, 25 Sep 2024 08:31:12 +0200 Subject: [PATCH 608/641] (#25322) libxml2: Add version 2.13.4, fixes a few CVE issues MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * libxml2: Add version 2.13.4, fixes a few CVE issues * Add missing bcrypt dependency --------- Co-authored-by: Abril Rincón Blanco --- recipes/libxml2/all/conandata.yml | 3 +++ recipes/libxml2/all/conanfile.py | 6 ++++++ recipes/libxml2/config.yml | 2 ++ 3 files changed, 11 insertions(+) diff --git a/recipes/libxml2/all/conandata.yml b/recipes/libxml2/all/conandata.yml index facf85047319a..c069bc0bd33b1 100644 --- a/recipes/libxml2/all/conandata.yml +++ b/recipes/libxml2/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.13.4": + url: "https://download.gnome.org/sources/libxml2/2.13/libxml2-2.13.4.tar.xz" + sha256: "65d042e1c8010243e617efb02afda20b85c2160acdbfbcb5b26b80cec6515650" "2.12.9": url: "https://download.gnome.org/sources/libxml2/2.12/libxml2-2.12.9.tar.xz" sha256: "59912db536ab56a3996489ea0299768c7bcffe57169f0235e7f962a91f483590" diff --git a/recipes/libxml2/all/conanfile.py b/recipes/libxml2/all/conanfile.py index eedbacc3e1c75..6ab1df68617ff 100644 --- a/recipes/libxml2/all/conanfile.py +++ b/recipes/libxml2/all/conanfile.py @@ -83,6 +83,8 @@ def config_options(self): del self.options.docbook if Version(self.version) >= "2.11.0": self.options.rm_safe("run-debug") + if Version(self.version) >= "2.13.0": + self.options.rm_safe("mem-debug") def configure(self): if self.options.shared: @@ -398,6 +400,10 @@ def package_info(self): elif self.settings.os == "Windows": if self.options.ftp or self.options.http: self.cpp_info.system_libs.extend(["ws2_32", "wsock32"]) + if Version(self.version) >= "2.13.4": + # https://gitlab.gnome.org/GNOME/libxml2/-/issues/791 + # https://gitlab.gnome.org/GNOME/libxml2/-/blob/2.13/win32/Makefile.msvc?ref_type=heads#L84 + self.cpp_info.system_libs.append("bcrypt") # TODO: to remove in conan v2 once cmake_find_package* & pkg_config generators removed self.cpp_info.filenames["cmake_find_package"] = "LibXml2" diff --git a/recipes/libxml2/config.yml b/recipes/libxml2/config.yml index 1028f9e85762e..bf2c99b1007bf 100644 --- a/recipes/libxml2/config.yml +++ b/recipes/libxml2/config.yml @@ -1,4 +1,6 @@ versions: + "2.13.4": + folder: all "2.12.9": folder: all "2.12.4": From 44481596f9cf20b2c1bc1212e469450dc11c9cb3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Abril=20Rinc=C3=B3n=20Blanco?= Date: Wed, 25 Sep 2024 12:27:40 +0200 Subject: [PATCH 609/641] (#25404) libxslt: Add new version that supports newer libxml2 versions * Add new version that supports newer libxml2 versions * Typo in version range --- recipes/libxslt/all/conandata.yml | 3 +++ recipes/libxslt/all/conanfile.py | 7 +++++-- recipes/libxslt/config.yml | 2 ++ 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/recipes/libxslt/all/conandata.yml b/recipes/libxslt/all/conandata.yml index c4c2c71816465..d43b2343523d6 100644 --- a/recipes/libxslt/all/conandata.yml +++ b/recipes/libxslt/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.1.42": + sha256: "85ca62cac0d41fc77d3f6033da9df6fd73d20ea2fc18b0a3609ffb4110e1baeb" + url: "https://download.gnome.org/sources/libxslt/1.1/libxslt-1.1.42.tar.xz" "1.1.39": sha256: "2a20ad621148339b0759c4d4e96719362dee64c9a096dbba625ba053846349f0" url: "https://download.gnome.org/sources/libxslt/1.1/libxslt-1.1.39.tar.xz" diff --git a/recipes/libxslt/all/conanfile.py b/recipes/libxslt/all/conanfile.py index c90421153fff4..5e1f29e0b7b60 100644 --- a/recipes/libxslt/all/conanfile.py +++ b/recipes/libxslt/all/conanfile.py @@ -60,9 +60,12 @@ def layout(self): basic_layout(self, src_folder="src") def requirements(self): - if Version(self.version) >= "1.1.39": - # see https://github.com/conan-io/conan-center-index/pull/16205#discussion_r1149570846 + if Version(self.version) >= "1.1.42": self.requires("libxml2/[>=2.12.5 <3]", transitive_headers=True, transitive_libs=True) + elif Version(self.version) >= "1.1.39": + # see https://github.com/conan-io/conan-center-index/pull/16205#discussion_r1149570846 + # Older versions use deprecated functions that were removed in libxml2 2.13 + self.requires("libxml2/[>=2.12.5 <2.13]", transitive_headers=True, transitive_libs=True) else: self.requires("libxml2/2.11.6", transitive_headers=True, transitive_libs=True) diff --git a/recipes/libxslt/config.yml b/recipes/libxslt/config.yml index d65db35f37aec..8628ebacf1c45 100644 --- a/recipes/libxslt/config.yml +++ b/recipes/libxslt/config.yml @@ -1,4 +1,6 @@ versions: + "1.1.42": + folder: all "1.1.39": folder: all "1.1.37": From 9ad4e95a9ef0e5059381ac58c77f4ab70ec305cb Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Wed, 25 Sep 2024 12:44:09 +0200 Subject: [PATCH 610/641] (#25398) docs: fix version range of pkgconf in autotools package template --- docs/package_templates/autotools_package/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/package_templates/autotools_package/all/conanfile.py b/docs/package_templates/autotools_package/all/conanfile.py index c08a33c668f62..199bd122132bc 100644 --- a/docs/package_templates/autotools_package/all/conanfile.py +++ b/docs/package_templates/autotools_package/all/conanfile.py @@ -105,7 +105,7 @@ def build_requirements(self): self.tool_requires("libtool/x.y.z") # only if upstream configure.ac relies on PKG_CHECK_MODULES macro if not self.conf.get("tools.gnu:pkg_config", check_type=str): - self.tool_requires("pkgconf/[>=1.2.3 <2]") + self.tool_requires("pkgconf/[>=2.2 <3]") # required to suppport windows as a build machine if self._settings_build.os == "Windows": self.win_bash = True From 8ff113d7bf83e0f0a0c5a08f2880c78e9c65310e Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Wed, 25 Sep 2024 13:53:28 +0300 Subject: [PATCH 611/641] (#25378) magic_enum: disable building of tests and examples MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * magic_enum: simplify recipe * magic_enum: revert, disable building of tests and examples --------- Co-authored-by: Abril Rincón Blanco --- recipes/magic_enum/all/conanfile.py | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/recipes/magic_enum/all/conanfile.py b/recipes/magic_enum/all/conanfile.py index 9b0f3868a9d81..5a5f4c8dfc750 100644 --- a/recipes/magic_enum/all/conanfile.py +++ b/recipes/magic_enum/all/conanfile.py @@ -1,7 +1,7 @@ from conan import ConanFile from conan.errors import ConanInvalidConfiguration from conan.tools.build import check_min_cppstd -from conan.tools.files import copy, get, mkdir, rmdir +from conan.tools.files import copy, get, rmdir from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout from conan.tools.scm import Version import os @@ -58,6 +58,8 @@ def source(self): def generate(self): tc = CMakeToolchain(self) + tc.cache_variables["MAGIC_ENUM_OPT_BUILD_EXAMPLES"] = False + tc.cache_variables["MAGIC_ENUM_OPT_BUILD_TESTS"] = False tc.generate() def build(self): @@ -68,16 +70,15 @@ def build(self): def package(self): cmake = CMake(self) cmake.install() - if Version(self.version) >= "0.9.4" and Version(self.version) <= "0.9.6": - mkdir(self, os.path.join(self.package_folder, "include/magic_enum")) - copy(self, "*", src=os.path.join(self.package_folder, "include"), dst=os.path.join(self.package_folder, "include/magic_enum")) - copy(self, "LICENSE", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) - rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) - rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) + if "0.9.4" <= Version(self.version) <= "0.9.6": + copy(self, "*", os.path.join(self.package_folder, "include"), os.path.join(self.package_folder, "include", "magic_enum")) + copy(self, "LICENSE", self.source_folder, os.path.join(self.package_folder, "licenses")) + rmdir(self, os.path.join(self.package_folder, "lib")) rmdir(self, os.path.join(self.package_folder, "share")) def package_info(self): self.cpp_info.set_property("cmake_file_name", "magic_enum") self.cpp_info.set_property("cmake_target_name", "magic_enum::magic_enum") + self.cpp_info.set_property("pkg_config_name", "magic_enum") self.cpp_info.bindirs = [] self.cpp_info.libdirs = [] From fe894591d707303096f534ccda780e3bfe53d728 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Wed, 25 Sep 2024 14:46:15 +0300 Subject: [PATCH 612/641] (#24917) optimlib: new recipe * optimlib: new recipe * optimlib: make openmp dep public --- recipes/optimlib/all/CMakeLists.txt | 49 +++++++ recipes/optimlib/all/conandata.yml | 9 ++ recipes/optimlib/all/conanfile.py | 129 ++++++++++++++++++ .../optimlib/all/test_package/CMakeLists.txt | 8 ++ .../optimlib/all/test_package/conanfile.py | 26 ++++ .../all/test_package/test_package.cpp | 24 ++++ recipes/optimlib/config.yml | 3 + 7 files changed, 248 insertions(+) create mode 100644 recipes/optimlib/all/CMakeLists.txt create mode 100644 recipes/optimlib/all/conandata.yml create mode 100644 recipes/optimlib/all/conanfile.py create mode 100644 recipes/optimlib/all/test_package/CMakeLists.txt create mode 100644 recipes/optimlib/all/test_package/conanfile.py create mode 100644 recipes/optimlib/all/test_package/test_package.cpp create mode 100644 recipes/optimlib/config.yml diff --git a/recipes/optimlib/all/CMakeLists.txt b/recipes/optimlib/all/CMakeLists.txt new file mode 100644 index 0000000000000..969c489f5660e --- /dev/null +++ b/recipes/optimlib/all/CMakeLists.txt @@ -0,0 +1,49 @@ +# Based on https://github.com/kthohr/optim/blob/5453f48aca695e6fef123677f35cb4d22e356e73/configure +cmake_minimum_required(VERSION 3.15) +project(OptimLib LANGUAGES CXX) + +set(OPTIM_LINEAR_ALG_LIB "eigen" CACHE STRING "Choice of linear algebra library") +set(OPTIM_FPN_TYPE "double" CACHE STRING "Floating-point number type") +option(OPTIM_PARALLEL "Enable OpenMP parallelization features" ON) + +file(GLOB_RECURSE SOURCES src/*.cpp) + +add_library(optim ${SOURCES}) +target_include_directories(optim PUBLIC include) +target_compile_features(optim PUBLIC cxx_std_11) + +target_compile_options(optim PRIVATE -Wall) +if(NOT CMAKE_BUILD_TYPE STREQUAL "Debug") + target_compile_options(optim PRIVATE -O3 -ffp-contract=fast) + target_compile_definitions(optim PRIVATE -DARMA_NO_DEBUG) +endif() + +if(OPTIM_LINEAR_ALG_LIB STREQUAL "eigen") + find_package(Eigen3 REQUIRED) + target_link_libraries(optim PUBLIC Eigen3::Eigen) + target_compile_definitions(optim PRIVATE -DOPTIM_ENABLE_EIGEN_WRAPPERS) +elseif(OPTIM_LINEAR_ALG_LIB STREQUAL "arma") + find_package(Armadillo REQUIRED) + target_link_libraries(optim PUBLIC Armadillo::Armadillo) + target_compile_definitions(optim PRIVATE -DOPTIM_ENABLE_ARMA_WRAPPERS) +else() + message(FATAL_ERROR "OPTIM_LINEAR_ALG_LIB must be either 'eigen' or 'arma'. Got: ${OPTIM_LINEAR_ALG_LIB}") +endif() + +target_compile_definitions(optim PRIVATE -DOPTIM_FPN_TYPE=${OPTIM_FPN_TYPE}) + +if(OPTIM_PARALLEL) + find_package(OpenMP REQUIRED) + target_link_libraries(optim PUBLIC OpenMP::OpenMP_CXX) +endif() + +include(GNUInstallDirs) +install(TARGETS optim + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} +) +install(DIRECTORY include/ + DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} + FILES_MATCHING PATTERN "*.hpp" PATTERN "*.ipp" +) diff --git a/recipes/optimlib/all/conandata.yml b/recipes/optimlib/all/conandata.yml new file mode 100644 index 0000000000000..0d0a307dd5d0c --- /dev/null +++ b/recipes/optimlib/all/conandata.yml @@ -0,0 +1,9 @@ +sources: + # The version is defined at https://github.com/kthohr/optim/blob/master/include/misc/optim_options.hpp#L30-L40 + "3.1.3": + source: + url: "https://github.com/kthohr/optim/archive/f9d9357169ce4b497a677faa9ce85e901e77275d.tar.gz" + sha256: "3809f753fc75c007c55ee995264c72487415a22dacc0846ba8ac0c1d1c24b91a" + base_matrix_ops: + url: "https://github.com/kthohr/BaseMatrixOps/archive/9e5beec15d803f0429dadae5e9218ef907271383.zip" + sha256: "f47de48e3814317d3cfa38f986bf847d816fa74dd13d8ccb9bac3ab51a49efd4" diff --git a/recipes/optimlib/all/conanfile.py b/recipes/optimlib/all/conanfile.py new file mode 100644 index 0000000000000..058265aa8ed45 --- /dev/null +++ b/recipes/optimlib/all/conanfile.py @@ -0,0 +1,129 @@ +import os + +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import check_min_cppstd +from conan.tools.cmake import CMakeToolchain, CMakeDeps, CMake, cmake_layout +from conan.tools.files import copy, get + +required_conan_version = ">=1.54.0" + + +class OptimLibConan(ConanFile): + name = "optimlib" + description = "OptimLib: a lightweight C++ library of numerical optimization methods for nonlinear functions" + license = "Apache-2.0" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/kthohr/optim" + topics = ("numerical-optimization", "optimization", "automatic-differentiation", "evolutionary-algorithms") + + package_type = "library" + settings = "os", "arch", "compiler", "build_type" + options = { + "shared": [True, False], + "fPIC": [True, False], + "header_only": [True, False], + "linear_alg_lib": ["arma", "eigen"], + "floating_point_type": ["float", "double"], + "with_openmp": [True, False], + } + default_options = { + "shared": False, + "fPIC": True, + "header_only": False, + "linear_alg_lib": "eigen", + "floating_point_type": "double", + "with_openmp": False, + } + + @property + def _min_cppstd(self): + return 11 + + def export_sources(self): + copy(self, "CMakeLists.txt", self.recipe_folder, os.path.join(self.export_sources_folder, "src")) + + def config_options(self): + if self.settings.os == "Windows": + del self.options.fPIC + + def configure(self): + if self.options.header_only: + self.package_type = "header-library" + self.options.rm_safe("shared") + self.options.rm_safe("fPIC") + elif self.options.shared: + self.options.rm_safe("fPIC") + + def layout(self): + cmake_layout(self, src_folder="src") + + def requirements(self): + if self.options.linear_alg_lib == "arma": + self.requires("armadillo/12.6.4", transitive_headers=True, transitive_libs=True) + elif self.options.linear_alg_lib == "eigen": + self.requires("eigen/3.4.0", transitive_headers=True, transitive_libs=True) + if self.options.with_openmp: + # '#pragma omp' is used in public headers + self.requires("openmp/system", transitive_headers=True, transitive_libs=True) + + def package_id(self): + if self.info.options.header_only: + self.info.clear() + + def validate(self): + if self.settings.os == "Windows": + # "Use of this library with Windows-based systems, with or without MSVC, is not supported." + raise ConanInvalidConfiguration("Windows is not supported") + + 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]["source"], strip_root=True) + get(self, **self.conan_data["sources"][self.version]["base_matrix_ops"], strip_root=True, + destination=os.path.join(self.source_folder, "include", "BaseMatrixOps")) + + def generate(self): + if not self.options.header_only: + tc = CMakeToolchain(self) + tc.variables["OPTIM_LINEAR_ALG_LIB"] = str(self.options.linear_alg_lib) + tc.variables["OPTIM_PARALLEL"] = self.options.with_openmp + tc.variables["OPTIM_FPN_TYPE"] = str(self.options.floating_point_type) + tc.generate() + deps = CMakeDeps(self) + deps.generate() + + def build(self): + if not self.options.header_only: + cmake = CMake(self) + cmake.configure() + cmake.build() + + def package(self): + copy(self, "LICENSE", self.source_folder, os.path.join(self.package_folder, "licenses")) + copy(self, "NOTICE.txt", self.source_folder, os.path.join(self.package_folder, "licenses")) + if self.options.header_only: + self.run(f"./configure --header-only-version", cwd=self.source_folder) + include_dir = os.path.join(self.source_folder, "header_only_version") + copy(self, "*.hpp", include_dir, os.path.join(self.package_folder, "include")) + copy(self, "*.ipp", include_dir, os.path.join(self.package_folder, "include")) + else: + cmake = CMake(self) + cmake.install() + + def package_info(self): + # Unofficial CMake file and target + self.cpp_info.set_property("cmake_file_name", "OptimLib") + self.cpp_info.set_property("cmake_target_name", "OptimLib::OptimLib") + + if not self.options.header_only: + self.cpp_info.libs = ["optim"] + + if self.options.linear_alg_lib == "arma": + self.cpp_info.defines.append("OPTIM_ENABLE_ARMA_WRAPPERS") + if self.settings.build_type not in ["Debug", "RelWithDebInfo"]: + self.cpp_info.defines.append("ARMA_NO_DEBUG") + elif self.options.linear_alg_lib == "eigen": + self.cpp_info.defines.append("OPTIM_ENABLE_EIGEN_WRAPPERS") + self.cpp_info.defines.append(f"OPTIM_FPN_TYPE={self.options.floating_point_type}") diff --git a/recipes/optimlib/all/test_package/CMakeLists.txt b/recipes/optimlib/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..897ebb983164b --- /dev/null +++ b/recipes/optimlib/all/test_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) + +find_package(OptimLib REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE OptimLib::OptimLib) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) diff --git a/recipes/optimlib/all/test_package/conanfile.py b/recipes/optimlib/all/test_package/conanfile.py new file mode 100644 index 0000000000000..3a91c9439218e --- /dev/null +++ b/recipes/optimlib/all/test_package/conanfile.py @@ -0,0 +1,26 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def layout(self): + cmake_layout(self) + + def requirements(self): + self.requires(self.tested_reference_str) + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/optimlib/all/test_package/test_package.cpp b/recipes/optimlib/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..c2c8b66e698d0 --- /dev/null +++ b/recipes/optimlib/all/test_package/test_package.cpp @@ -0,0 +1,24 @@ +#include + +struct ll_data_t +{ + optim::ColVec_t Y; + optim::Mat_t X; +}; + +double ll_fn(const optim::ColVec_t& vals_inp, optim::ColVec_t* grad_out, void* opt_data) +{ + return 0.0; +} + +int main() +{ + int n_dim = 5; + int n_samp = 40; + ll_data_t opt_data; + opt_data.Y = optim::ColVec_t(n_samp); + opt_data.X = optim::Mat_t(n_samp, n_dim); + optim::ColVec_t x(n_samp); + optim::algo_settings_t settings; + bool success = optim::gd(x, ll_fn, &opt_data, settings); +} diff --git a/recipes/optimlib/config.yml b/recipes/optimlib/config.yml new file mode 100644 index 0000000000000..71660a79817c5 --- /dev/null +++ b/recipes/optimlib/config.yml @@ -0,0 +1,3 @@ +versions: + "3.1.3": + folder: all From 2b870e0a8f5d633cbea7e6228a46135c5256bfbb Mon Sep 17 00:00:00 2001 From: PerseoGI Date: Wed, 25 Sep 2024 13:59:58 +0200 Subject: [PATCH 613/641] (#25387) libuvc: remove deprecated libjpeg-turbo option --- recipes/libuvc/all/conanfile.py | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/recipes/libuvc/all/conanfile.py b/recipes/libuvc/all/conanfile.py index cb9de052b88cd..b0897cfc1830a 100644 --- a/recipes/libuvc/all/conanfile.py +++ b/recipes/libuvc/all/conanfile.py @@ -24,13 +24,11 @@ class LibuvcConan(ConanFile): "shared": [True, False], "fPIC": [True, False], "with_jpeg": [False, "libjpeg", "libjpeg-turbo", "mozjpeg"], - "jpeg_turbo": [True, False, "deprecated"], } default_options = { "shared": False, "fPIC": True, "with_jpeg": "libjpeg", - "jpeg_turbo": "deprecated", } def export_sources(self): @@ -46,12 +44,6 @@ def configure(self): self.settings.rm_safe("compiler.cppstd") self.settings.rm_safe("compiler.libcxx") - # TODO: to remove once deprecated jpeg_turbo option removed - if self.options.jpeg_turbo != "deprecated": - self.output.warning("jpeg_turbo option is deprecated, please use with_jpeg option instead") - if self.options.jpeg_turbo: - self.options.with_jpeg == "libjpeg-turbo" - def layout(self): cmake_layout(self, src_folder="src") @@ -64,10 +56,6 @@ def requirements(self): elif self.options.with_jpeg == "mozjpeg": self.requires("mozjpeg/4.1.3") - def package_id(self): - # TODO: to remove once deprecated jpeg_turbo option removed - del self.info.options.jpeg_turbo - def validate(self): if is_msvc(self): # Upstream issues, e.g.: From 71c4cbe5e3921dc6a8f4892b20ebaf35160081a0 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 25 Sep 2024 21:18:45 +0900 Subject: [PATCH 614/641] (#25308) libcurl: add version 8.10.1 Co-authored-by: Ernesto de Gracia Herranz --- recipes/libcurl/all/conandata.yml | 5 +++++ recipes/libcurl/config.yml | 2 ++ 2 files changed, 7 insertions(+) diff --git a/recipes/libcurl/all/conandata.yml b/recipes/libcurl/all/conandata.yml index cee1789ae6825..1874298a4a4e7 100644 --- a/recipes/libcurl/all/conandata.yml +++ b/recipes/libcurl/all/conandata.yml @@ -1,4 +1,9 @@ sources: + "8.10.1": + url: + - "https://curl.se/download/curl-8.10.1.tar.xz" + - "https://github.com/curl/curl/releases/download/curl-8_10_1/curl-8.10.1.tar.xz" + sha256: "73a4b0e99596a09fa5924a4fb7e4b995a85fda0d18a2c02ab9cf134bebce04ee" "8.10.0": url: - "https://curl.se/download/curl-8.10.0.tar.xz" diff --git a/recipes/libcurl/config.yml b/recipes/libcurl/config.yml index 32555d9791ca0..eb9a8179a3b87 100644 --- a/recipes/libcurl/config.yml +++ b/recipes/libcurl/config.yml @@ -1,4 +1,6 @@ versions: + "8.10.1": + folder: all "8.10.0": folder: all "8.9.1": From f274df8ca0a7d2970bd256acfb54fd6e40ac77b2 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 25 Sep 2024 21:28:13 +0900 Subject: [PATCH 615/641] (#25317) fire-hpp: add version 1.0 * fire-hpp: add version 1.0 * fix url for 1.0 --- recipes/fire-hpp/all/conandata.yml | 7 +++++-- recipes/fire-hpp/all/test_package/CMakeLists.txt | 2 +- recipes/fire-hpp/config.yml | 2 ++ 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/recipes/fire-hpp/all/conandata.yml b/recipes/fire-hpp/all/conandata.yml index 0ac5acb1e3d98..e30c0635694c3 100644 --- a/recipes/fire-hpp/all/conandata.yml +++ b/recipes/fire-hpp/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.0": + url: "https://github.com/kongaskristjan/fire-hpp/archive/v1.0.tar.gz" + sha256: "73086d72a785a57bac8833d4f92799e8e769fef1d2ca46399cfbdb82a5c22f84" "0.2": - sha256: 50ac76005e5d45590355a51e5e1b62aba65c56f2003335acce0370da13d77b28 - url: https://github.com/kongaskristjan/fire-hpp/archive/v0.2.tar.gz + url: "https://github.com/kongaskristjan/fire-hpp/archive/v0.2.tar.gz" + sha256: "50ac76005e5d45590355a51e5e1b62aba65c56f2003335acce0370da13d77b28" diff --git a/recipes/fire-hpp/all/test_package/CMakeLists.txt b/recipes/fire-hpp/all/test_package/CMakeLists.txt index 8068292a31341..fe3a31529853d 100644 --- a/recipes/fire-hpp/all/test_package/CMakeLists.txt +++ b/recipes/fire-hpp/all/test_package/CMakeLists.txt @@ -1,5 +1,5 @@ cmake_minimum_required(VERSION 3.15) -project(test_package CXX) +project(test_package LANGUAGES CXX) find_package(fire-hpp REQUIRED CONFIG) diff --git a/recipes/fire-hpp/config.yml b/recipes/fire-hpp/config.yml index 7e65100e62b2c..14d66964f38cc 100644 --- a/recipes/fire-hpp/config.yml +++ b/recipes/fire-hpp/config.yml @@ -1,3 +1,5 @@ versions: + "1.0": + folder: all "0.2": folder: all From fa9739188f9737d253cea38271b40bd7867aefc3 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 25 Sep 2024 21:35:07 +0900 Subject: [PATCH 616/641] (#25331) wasmedge: add version 0.14.1 --- recipes/wasmedge/all/conandata.yml | 41 ++++++++++++++++++++++++++++++ recipes/wasmedge/config.yml | 2 ++ 2 files changed, 43 insertions(+) diff --git a/recipes/wasmedge/all/conandata.yml b/recipes/wasmedge/all/conandata.yml index d88f2037f15aa..9dcc47a29915a 100644 --- a/recipes/wasmedge/all/conandata.yml +++ b/recipes/wasmedge/all/conandata.yml @@ -1,4 +1,45 @@ sources: + "0.14.1": + Windows: + "x86_64": + Visual Studio: + - url: "https://github.com/WasmEdge/WasmEdge/releases/download/0.14.1/WasmEdge-0.14.1-windows.zip" + sha256: "cc38f2be3000743becaeb8b00871dcd04b0a0a47b8329735a71615ee06cf1d7b" + - url: "https://raw.githubusercontent.com/WasmEdge/WasmEdge/0.14.1/LICENSE" + sha256: "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4" + Linux: + "x86_64": + "gcc": + - url: "https://github.com/WasmEdge/WasmEdge/releases/download/0.14.1/WasmEdge-0.14.1-manylinux2014_x86_64.tar.gz" + sha256: "a82f9fb01a6a6f1dfbd1cb069dc96d116f22c15cdb01207a5d0e65096055d092" + - url: "https://raw.githubusercontent.com/WasmEdge/WasmEdge/0.14.1/LICENSE" + sha256: "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4" + "armv8": + "gcc": + - url: "https://github.com/WasmEdge/WasmEdge/releases/download/0.14.1/WasmEdge-0.14.1-manylinux2014_aarch64.tar.gz" + sha256: "d5ac5c2405ff8a878558379740498e5fe4b126fe746eac585f7efa9bb7f32e28" + - url: "https://raw.githubusercontent.com/WasmEdge/WasmEdge/0.11.1/LICENSE" + sha256: "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4" + Macos: + "x86_64": + "gcc": + - url: "https://github.com/WasmEdge/WasmEdge/releases/download/0.14.1/WasmEdge-0.14.1-darwin_x86_64.tar.gz" + sha256: "96d01cf083d4f7e1c55683dc4b60acca6d8517ad901e2d7b4b5d64ca9a6532e0" + - url: "https://raw.githubusercontent.com/WasmEdge/WasmEdge/0.14.1/LICENSE" + sha256: "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4" + "armv8": + "gcc": + - url: "https://github.com/WasmEdge/WasmEdge/releases/download/0.14.1/WasmEdge-0.14.1-darwin_arm64.tar.gz" + sha256: "38dd10f4e78d339be91e0c3501055d4dad9bf08c3dc648e07a30df9bea2d6c4a" + - url: "https://raw.githubusercontent.com/WasmEdge/WasmEdge/0.14.1/LICENSE" + sha256: "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4" + Android: + "armv8": + "gcc": + - url: "https://github.com/WasmEdge/WasmEdge/releases/download/0.14.1/WasmEdge-0.14.1-android_aarch64.tar.gz" + sha256: "8d979abc7777d01a4ab99e20c1052ba34985e795b6dc84101a7958fb171767a6" + - url: "https://raw.githubusercontent.com/WasmEdge/WasmEdge/0.14.0/LICENSE" + sha256: "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4" "0.14.0": Windows: "x86_64": diff --git a/recipes/wasmedge/config.yml b/recipes/wasmedge/config.yml index 4d4208e046a5e..3eb29fd257a6f 100644 --- a/recipes/wasmedge/config.yml +++ b/recipes/wasmedge/config.yml @@ -1,4 +1,6 @@ versions: + "0.14.1": + folder: "all" "0.14.0": folder: "all" "0.13.5": From d5785df51f1dde8237efe3826375ddbcb7b551e2 Mon Sep 17 00:00:00 2001 From: Daniel Date: Wed, 25 Sep 2024 14:51:52 +0200 Subject: [PATCH 617/641] (#25339) [config] Remove old configuration entry --- .c3i/config_v1.yml | 1 - .c3i/config_v2.yml | 1 - 2 files changed, 2 deletions(-) diff --git a/.c3i/config_v1.yml b/.c3i/config_v1.yml index 3b536765fa330..b670d616b36d2 100644 --- a/.c3i/config_v1.yml +++ b/.c3i/config_v1.yml @@ -50,7 +50,6 @@ tasks: - llvm parallel_strategy: unlimited cci: - conan_v2_run_export: false write_comments: true detailed_status_checks: false update_labels: true diff --git a/.c3i/config_v2.yml b/.c3i/config_v2.yml index fd1ae8b31ead6..5eb6c2e1d2d9c 100644 --- a/.c3i/config_v2.yml +++ b/.c3i/config_v2.yml @@ -45,7 +45,6 @@ tasks: - gstreamer parallel_strategy: unlimited cci: - conan_v2_run_export: false detailed_status_checks: true write_comments: false update_labels: false From 89a1cd5c76671d7e0f139137b43dd405e9196989 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 25 Sep 2024 21:56:13 +0900 Subject: [PATCH 618/641] (#25262) libassert: add version 2.1.1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * libassert: add version 2.1.1 * Add cpptrace 0.7.1, which has some bugfixes --------- Co-authored-by: Abril Rincón Blanco --- recipes/libassert/config.yml | 3 ++- recipes/libassert/v2/conandata.yml | 17 +++++++---------- recipes/libassert/v2/conanfile.py | 10 ++-------- .../libassert/v2/test_package/CMakeLists.txt | 5 +---- 4 files changed, 12 insertions(+), 23 deletions(-) diff --git a/recipes/libassert/config.yml b/recipes/libassert/config.yml index 6dd1f18fc901d..2580cb77dc154 100644 --- a/recipes/libassert/config.yml +++ b/recipes/libassert/config.yml @@ -1,5 +1,6 @@ versions: - # Newer versions at the top + "2.1.1": + folder: v2 "2.1.0": folder: v2 "2.0.2": diff --git a/recipes/libassert/v2/conandata.yml b/recipes/libassert/v2/conandata.yml index d82d9bdfc202f..7f7d8d108d21c 100644 --- a/recipes/libassert/v2/conandata.yml +++ b/recipes/libassert/v2/conandata.yml @@ -1,22 +1,19 @@ sources: - # Newer versions at the top + "2.1.1": + url: "https://github.com/jeremy-rifkin/libassert/archive/refs/tags/v2.1.1.tar.gz" + sha256: "2bdf27523f964f41668d266cfdbd7f5f58988af963d976577195969ed44359d1" "2.1.0": - url: - - "https://github.com/jeremy-rifkin/libassert/archive/refs/tags/v2.1.0.tar.gz" + url: "https://github.com/jeremy-rifkin/libassert/archive/refs/tags/v2.1.0.tar.gz" sha256: "e42405b49cde017c44c78aacac35c6e03564532838709031e73d10ab71f5363d" "2.0.2": - url: - - "https://github.com/jeremy-rifkin/libassert/archive/refs/tags/v2.0.2.tar.gz" + url: "https://github.com/jeremy-rifkin/libassert/archive/refs/tags/v2.0.2.tar.gz" sha256: "4a0b52e6523bdde0116231a67583131ea1a84bb574076fad939fc13fc7490443" "2.0.1": - url: - - "https://github.com/jeremy-rifkin/libassert/archive/refs/tags/v2.0.1.tar.gz" + url: "https://github.com/jeremy-rifkin/libassert/archive/refs/tags/v2.0.1.tar.gz" sha256: "405a44c14c5e40de5b81b01538ba12ef9d7c1f57e2c29f81b929e7e179847d4c" "2.0.0": - url: - - "https://github.com/jeremy-rifkin/libassert/archive/refs/tags/v2.0.0.tar.gz" + url: "https://github.com/jeremy-rifkin/libassert/archive/refs/tags/v2.0.0.tar.gz" sha256: "d4b2da2179a94637b34d18813a814531a1eceb0ddc6dd6db6098050dd638f4a1" - patches: "2.1.0": - patch_file: "patches/2.1.0/0001-msvc-ice.patch" diff --git a/recipes/libassert/v2/conanfile.py b/recipes/libassert/v2/conanfile.py index 090d2f2ae8a10..f9f5f93bdcbe8 100644 --- a/recipes/libassert/v2/conanfile.py +++ b/recipes/libassert/v2/conanfile.py @@ -1,8 +1,7 @@ from conan import ConanFile from conan.errors import ConanInvalidConfiguration from conan.tools.microsoft import check_min_vs, is_msvc_static_runtime, is_msvc -from conan.tools.apple import is_apple_os -from conan.tools.files import get, copy, rm, rmdir +from conan.tools.files import get, copy, rmdir from conan.tools.build import check_min_cppstd from conan.tools.scm import Version from conan.tools.cmake import CMake, CMakeToolchain, CMakeDeps, cmake_layout @@ -53,7 +52,7 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("cpptrace/0.6.0", transitive_headers=True, transitive_libs=True) + self.requires("cpptrace/0.7.1", transitive_headers=True, transitive_libs=True) def validate(self): if self.settings.compiler.cppstd: @@ -106,12 +105,7 @@ def package(self): keep_path=False ) - 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 = ["assert"] diff --git a/recipes/libassert/v2/test_package/CMakeLists.txt b/recipes/libassert/v2/test_package/CMakeLists.txt index af9ab923ee8f6..c539de918f22b 100644 --- a/recipes/libassert/v2/test_package/CMakeLists.txt +++ b/recipes/libassert/v2/test_package/CMakeLists.txt @@ -1,11 +1,8 @@ cmake_minimum_required(VERSION 3.15) - -project(test_package CXX) - +project(test_package LANGUAGES CXX) add_executable(${PROJECT_NAME} test_package.cpp) find_package(libassert REQUIRED CONFIG) target_link_libraries(${PROJECT_NAME} PRIVATE libassert::assert) - target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) From 5f106d5f62342ae41f7166d096f6d93bd2cf809a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Abril=20Rinc=C3=B3n=20Blanco?= Date: Wed, 25 Sep 2024 15:45:49 +0200 Subject: [PATCH 619/641] (#25401) aws-sdk-cpp: Fix s2n requirement * Fix s2n requirement * Conditional requirement in components --- recipes/aws-sdk-cpp/all/conanfile.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/recipes/aws-sdk-cpp/all/conanfile.py b/recipes/aws-sdk-cpp/all/conanfile.py index e2b145aac5ef3..7e075ddde0985 100644 --- a/recipes/aws-sdk-cpp/all/conanfile.py +++ b/recipes/aws-sdk-cpp/all/conanfile.py @@ -516,7 +516,8 @@ def requirements(self): self.requires("aws-c-sdkutils/0.1.15") # No mention of this in the code self.requires("aws-checksums/0.1.18") # missing aws-lc, but only needed as openssl replacement if USE_OPENSSL is OFF - self.requires("s2n/1.4.16") # No mention of this in the code, we might be overlinking + if self.settings.os in ["Linux", "FreeBSD", "Android"]: + self.requires("s2n/1.4.16") # No mention of this in the code, we might be overlinking if self.version == "1.9.234": self.requires("aws-crt-cpp/0.17.1a", transitive_headers=True) self.requires("aws-c-auth/0.6.4") @@ -530,7 +531,8 @@ def requirements(self): if self.options.get_safe("s3-crt"): self.requires("aws-c-s3/0.1.26") self.requires("aws-checksums/0.1.12") - self.requires("s2n/1.3.15") # No mention of this in the code, we might be overlinking + if self.settings.os in ["Linux", "FreeBSD", "Android"]: + self.requires("s2n/1.3.15") # No mention of this in the code, we might be overlinking if self.settings.os != "Windows": # Used transitively in core/utils/crypto/openssl/CryptoImpl.h public header self.requires("openssl/[>=1.1 <4]", transitive_headers=True) @@ -702,10 +704,12 @@ def package_info(self): "aws-c-io::aws-c-io", "aws-c-mqtt::aws-c-mqtt", "aws-checksums::aws-checksums", - "zlib::zlib", - "s2n::s2n" + "zlib::zlib" ] + if self.settings.os in ["Linux", "FreeBSD", "Android"]: + self.cpp_info.components["core"].requires.append("s2n::s2n") + if Version(self.version) >= "1.11.352": self.cpp_info.components["core"].requires.extend([ "aws-c-sdkutils::aws-c-sdkutils", From 13dfd3a5043f332e173143f17b23635b178b1556 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Wed, 25 Sep 2024 18:02:04 +0300 Subject: [PATCH 620/641] (#25411) libmagic: use version ranges MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * libmagic: use version ranges * CI, wake up! --------- Co-authored-by: Abril Rincón Blanco --- recipes/libmagic/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/libmagic/all/conanfile.py b/recipes/libmagic/all/conanfile.py index 6d0843dc3f3f3..6faae6cdf6502 100644 --- a/recipes/libmagic/all/conanfile.py +++ b/recipes/libmagic/all/conanfile.py @@ -44,9 +44,9 @@ def layout(self): def requirements(self): self.requires("bzip2/1.0.8") - self.requires("xz_utils/5.4.4") + self.requires("xz_utils/[>=5.4.5 <6]") self.requires("zlib/[>=1.2.11 <2]") - self.requires("zstd/1.5.5") + self.requires("zstd/[^1.5]") # TODO: Add lzlib recipe # self.requires("lzlib/1.13") From 1f92421b8e120127aebe1e36e62b8e8205a11ade Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Wed, 25 Sep 2024 18:44:09 +0300 Subject: [PATCH 621/641] (#25410) azure-storage-cpp: mark as deprecated --- recipes/azure-storage-cpp/all/conanfile.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/recipes/azure-storage-cpp/all/conanfile.py b/recipes/azure-storage-cpp/all/conanfile.py index abe044bfc3367..b86e79067f57c 100644 --- a/recipes/azure-storage-cpp/all/conanfile.py +++ b/recipes/azure-storage-cpp/all/conanfile.py @@ -31,6 +31,10 @@ class AzureStorageCppConan(ConanFile): "fPIC": True, } + # Use azure-sdk-for-cpp::azure-storage-blobs-cpp instead + # https://github.com/Azure/azure-sdk-for-cpp/blob/main/sdk/storage/MigrationGuide.md + deprecated = "azure-sdk-for-cpp" + @property def _minimum_cpp_standard(self): return 11 From 80e873ed7a12a9c9badf008893e6afef4d844614 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Abril=20Rinc=C3=B3n=20Blanco?= Date: Wed, 25 Sep 2024 17:52:34 +0200 Subject: [PATCH 622/641] (#25413) tixi3: Bump lixslt for libxml2 support --- recipes/tixi3/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/tixi3/all/conanfile.py b/recipes/tixi3/all/conanfile.py index 51cfcf9ef724f..d67da63a2bb15 100644 --- a/recipes/tixi3/all/conanfile.py +++ b/recipes/tixi3/all/conanfile.py @@ -34,7 +34,7 @@ def generate(self): def requirements(self): self.requires("libxml2/[>=2.12.5 <3]") - self.requires("libxslt/1.1.39") + self.requires("libxslt/1.1.42") self.requires("libcurl/[>=7.78.0 <9]") def layout(self): From a22e4465eab931f443c0ecd0d4762f33b6220365 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Abril=20Rinc=C3=B3n=20Blanco?= Date: Wed, 25 Sep 2024 18:20:31 +0200 Subject: [PATCH 623/641] (#25414) eudev: Bump lixslt for libxml2 support * Bump lixslt for libxml2 support * Discard changes to recipes/xmlsec/all/conanfile.py --- recipes/eudev/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/eudev/all/conanfile.py b/recipes/eudev/all/conanfile.py index c419d6928cfbe..597e9d9b84092 100644 --- a/recipes/eudev/all/conanfile.py +++ b/recipes/eudev/all/conanfile.py @@ -56,7 +56,7 @@ def layout(self): def requirements(self): self.requires("acl/2.3.1") self.requires("libcap/2.69") - self.requires("libxslt/1.1.39") + self.requires("libxslt/1.1.42") self.requires("linux-headers-generic/6.5.9") if self.options.with_kmod: From 778f1b02a3a8639ae7f8fa6effa582ffa2a2cde3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Abril=20Rinc=C3=B3n=20Blanco?= Date: Wed, 25 Sep 2024 18:31:41 +0200 Subject: [PATCH 624/641] (#25415) xmlsec: Avoid conflicts with the rest of libxslt * Avoid conflicts with the rest of libxslt * Bump pkgconf to a version range --- recipes/xmlsec/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/xmlsec/all/conanfile.py b/recipes/xmlsec/all/conanfile.py index e22e7d46a9e13..f6e3b2305fa3e 100644 --- a/recipes/xmlsec/all/conanfile.py +++ b/recipes/xmlsec/all/conanfile.py @@ -64,7 +64,7 @@ def requirements(self): if self.options.with_openssl: self.requires("openssl/[>=1.1 <4]", transitive_headers=True) if self.options.with_xslt: - self.requires("libxslt/1.1.39") + self.requires("libxslt/1.1.42") def validate(self): if self.options.with_nss: @@ -80,7 +80,7 @@ def build_requirements(self): if not is_msvc(self): self.tool_requires("libtool/2.4.7") if not self.conf.get("tools.gnu:pkg_config", check_type=str): - self.tool_requires("pkgconf/2.1.0") + self.tool_requires("pkgconf/[>=2.2 <3]") if self._settings_build.os == "Windows": self.win_bash = True if not self.conf.get("tools.microsoft.bash:path", check_type=str): From 0ef08b7b2f6aba47639a5dfeddfd19a4fdce0601 Mon Sep 17 00:00:00 2001 From: aniederl <82451+aniederl@users.noreply.github.com> Date: Wed, 25 Sep 2024 19:00:30 +0200 Subject: [PATCH 625/641] (#24449) libpq: add backported OpenSSL 3.2.x fix to libpq/15.5 * add OpenSSL 3.2.x fix backport to libpq 15.5 * rebase patch onto postgres tag REL_15_5 --------- Co-authored-by: Andreas Niederl --- recipes/libpq/all/conandata.yml | 3 + ...set-_app_data-instead-of-BIO_-get-se.patch | 193 ++++++++++++++++++ 2 files changed, 196 insertions(+) create mode 100644 recipes/libpq/all/patches/15.5/0001-Use-BIO_-get-set-_app_data-instead-of-BIO_-get-se.patch diff --git a/recipes/libpq/all/conandata.yml b/recipes/libpq/all/conandata.yml index bad003ca4bd76..e2fb75c61ff71 100644 --- a/recipes/libpq/all/conandata.yml +++ b/recipes/libpq/all/conandata.yml @@ -31,6 +31,9 @@ patches: - patch_file: "patches/15/001-mingw-build-static-libraries.patch" patch_description: "port MinGW: Enable building static libraries in MinGW." patch_type: "portability" + - patch_file: "patches/15.5/0001-Use-BIO_-get-set-_app_data-instead-of-BIO_-get-se.patch" + patch_description: "Fix libpq w/ openssl >=3.2.x" + patch_type: "backport" "15.4": - patch_file: "patches/15/001-mingw-build-static-libraries.patch" patch_description: "port MinGW: Enable building static libraries in MinGW." diff --git a/recipes/libpq/all/patches/15.5/0001-Use-BIO_-get-set-_app_data-instead-of-BIO_-get-se.patch b/recipes/libpq/all/patches/15.5/0001-Use-BIO_-get-set-_app_data-instead-of-BIO_-get-se.patch new file mode 100644 index 0000000000000..03514f3a2bc18 --- /dev/null +++ b/recipes/libpq/all/patches/15.5/0001-Use-BIO_-get-set-_app_data-instead-of-BIO_-get-se.patch @@ -0,0 +1,193 @@ +From 672103a67aaf0dae5be6c5adcc5ce19e5b6d7676 Mon Sep 17 00:00:00 2001 +From: Tristan Partin +Date: Mon, 27 Nov 2023 11:49:52 -0600 +Subject: [PATCH v1] Use BIO_{get,set}_app_data() instead of + BIO_{get,set}_data() + +Compiling Postgres against OpenSSL 3.2 exposed a regression: + +$ psql "postgresql://$DB?sslmode=require" +psql: error: connection to server at "redacted" (redacted), port 5432 failed: ERROR: Parameter 'user' is missing in startup packet. +double free or corruption (out) +Aborted (core dumped) + +Analyzing the backtrace, openssl was overwriting heap-allocated data in +our PGconn struct because it thought BIO::ptr was a struct bss_sock_st +*. OpenSSL then called a memset() on a member of that struct, and we +zeroed out data in our PGconn struct. + +BIO_get_data(3) says the following: + +> These functions are mainly useful when implementing a custom BIO. +> +> The BIO_set_data() function associates the custom data pointed to by ptr +> with the BIO a. This data can subsequently be retrieved via a call to +> BIO_get_data(). This can be used by custom BIOs for storing +> implementation specific information. + +If you take a look at my_BIO_s_socket(), we create a partially custom +BIO, but for the most part are defaulting to the methods defined by +BIO_s_socket(). We need to set application-specific data and not BIO +private data, so that the BIO implementation we rely on, can properly +assert that its private data is what it expects. + +Rebased against libpq15 + +Co-authored-by: Bo Andreson +--- + src/backend/libpq/be-secure-openssl.c | 11 +++-------- + src/include/pg_config.h.in | 3 --- + src/interfaces/libpq/fe-secure-openssl.c | 20 +++----------------- + src/tools/msvc/Solution.pm | 2 -- + 4 files changed, 6 insertions(+), 30 deletions(-) + +diff --git a/configure b/configure +index d83a402ea1..d55440cd6a 100755 +--- a/configure ++++ b/configure +@@ -13239,7 +13239,7 @@ done + # defines OPENSSL_VERSION_NUMBER to claim version 2.0.0, even though it + # doesn't have these OpenSSL 1.1.0 functions. So check for individual + # functions. +- for ac_func in OPENSSL_init_ssl BIO_get_data BIO_meth_new ASN1_STRING_get0_data HMAC_CTX_new HMAC_CTX_free ++ for ac_func in OPENSSL_init_ssl BIO_meth_new ASN1_STRING_get0_data HMAC_CTX_new HMAC_CTX_free + do : + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` + ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" +diff --git a/configure.ac b/configure.ac +index 570daced81..2bc752ca1a 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -1347,7 +1347,7 @@ if test "$with_ssl" = openssl ; then + # defines OPENSSL_VERSION_NUMBER to claim version 2.0.0, even though it + # doesn't have these OpenSSL 1.1.0 functions. So check for individual + # functions. +- AC_CHECK_FUNCS([OPENSSL_init_ssl BIO_get_data BIO_meth_new ASN1_STRING_get0_data HMAC_CTX_new HMAC_CTX_free]) ++ AC_CHECK_FUNCS([OPENSSL_init_ssl BIO_meth_new ASN1_STRING_get0_data HMAC_CTX_new HMAC_CTX_free]) + # OpenSSL versions before 1.1.0 required setting callback functions, for + # thread-safety. In 1.1.0, it's no longer required, and CRYPTO_lock() + # function was removed. +diff --git a/src/backend/libpq/be-secure-openssl.c b/src/backend/libpq/be-secure-openssl.c +index f5c5ed210e..aed8a75345 100644 +--- a/src/backend/libpq/be-secure-openssl.c ++++ b/src/backend/libpq/be-secure-openssl.c +@@ -839,11 +839,6 @@ be_tls_write(Port *port, void *ptr, size_t len, int *waitfor) + * to retry; do we need to adopt their logic for that? + */ + +-#ifndef HAVE_BIO_GET_DATA +-#define BIO_get_data(bio) (bio->ptr) +-#define BIO_set_data(bio, data) (bio->ptr = data) +-#endif +- + static BIO_METHOD *my_bio_methods = NULL; + + static int +@@ -853,7 +848,7 @@ my_sock_read(BIO *h, char *buf, int size) + + if (buf != NULL) + { +- res = secure_raw_read(((Port *) BIO_get_data(h)), buf, size); ++ res = secure_raw_read(((Port *) BIO_get_app_data(h)), buf, size); + BIO_clear_retry_flags(h); + if (res <= 0) + { +@@ -873,7 +868,7 @@ my_sock_write(BIO *h, const char *buf, int size) + { + int res = 0; + +- res = secure_raw_write(((Port *) BIO_get_data(h)), buf, size); ++ res = secure_raw_write(((Port *) BIO_get_app_data(h)), buf, size); + BIO_clear_retry_flags(h); + if (res <= 0) + { +@@ -949,7 +944,7 @@ my_SSL_set_fd(Port *port, int fd) + SSLerr(SSL_F_SSL_SET_FD, ERR_R_BUF_LIB); + goto err; + } +- BIO_set_data(bio, port); ++ BIO_set_app_data(bio, port); + + BIO_set_fd(bio, fd, BIO_NOCLOSE); + SSL_set_bio(port->ssl, bio, bio); +diff --git a/src/include/pg_config.h.in b/src/include/pg_config.h.in +index d09e9f9a1c..768e3d719c 100644 +--- a/src/include/pg_config.h.in ++++ b/src/include/pg_config.h.in +@@ -77,9 +77,6 @@ + /* Define to 1 if you have the `backtrace_symbols' function. */ + #undef HAVE_BACKTRACE_SYMBOLS + +-/* Define to 1 if you have the `BIO_get_data' function. */ +-#undef HAVE_BIO_GET_DATA +- + /* Define to 1 if you have the `BIO_meth_new' function. */ + #undef HAVE_BIO_METH_NEW + +diff --git a/src/interfaces/libpq/fe-secure-openssl.c b/src/interfaces/libpq/fe-secure-openssl.c +index af59ff49f7..8d68d023e9 100644 +--- a/src/interfaces/libpq/fe-secure-openssl.c ++++ b/src/interfaces/libpq/fe-secure-openssl.c +@@ -1800,11 +1800,6 @@ PQsslAttribute(PGconn *conn, const char *attribute_name) + * to retry; do we need to adopt their logic for that? + */ + +-#ifndef HAVE_BIO_GET_DATA +-#define BIO_get_data(bio) (bio->ptr) +-#define BIO_set_data(bio, data) (bio->ptr = data) +-#endif +- + static BIO_METHOD *my_bio_methods; + + static int +@@ -1812,7 +1807,7 @@ my_sock_read(BIO *h, char *buf, int size) + { + int res; + +- res = pqsecure_raw_read((PGconn *) BIO_get_data(h), buf, size); ++ res = pqsecure_raw_read((PGconn *) BIO_get_app_data(h), buf, size); + BIO_clear_retry_flags(h); + if (res < 0) + { +@@ -1842,7 +1837,7 @@ my_sock_write(BIO *h, const char *buf, int size) + { + int res; + +- res = pqsecure_raw_write((PGconn *) BIO_get_data(h), buf, size); ++ res = pqsecure_raw_write((PGconn *) BIO_get_app_data(h), buf, size); + BIO_clear_retry_flags(h); + if (res < 0) + { +@@ -1933,7 +1928,7 @@ my_SSL_set_fd(PGconn *conn, int fd) + SSLerr(SSL_F_SSL_SET_FD, ERR_R_BUF_LIB); + goto err; + } +- BIO_set_data(bio, conn); ++ BIO_set_app_data(bio, conn); + + SSL_set_bio(conn->ssl, bio, bio); + BIO_set_fd(bio, fd, BIO_NOCLOSE); +diff --git a/src/tools/msvc/Solution.pm b/src/tools/msvc/Solution.pm +index 790f03b05e..a53239fa28 100644 +--- a/src/tools/msvc/Solution.pm ++++ b/src/tools/msvc/Solution.pm +@@ -226,7 +226,6 @@ sub GenerateFiles + HAVE_ATOMICS => 1, + HAVE_ATOMIC_H => undef, + HAVE_BACKTRACE_SYMBOLS => undef, +- HAVE_BIO_GET_DATA => undef, + HAVE_BIO_METH_NEW => undef, + HAVE_CLOCK_GETTIME => undef, + HAVE_COMPUTED_GOTO => undef, +@@ -566,7 +565,6 @@ sub GenerateFiles + || ($digit1 >= '1' && $digit2 >= '1' && $digit3 >= '0')) + { + $define{HAVE_ASN1_STRING_GET0_DATA} = 1; +- $define{HAVE_BIO_GET_DATA} = 1; + $define{HAVE_BIO_METH_NEW} = 1; + $define{HAVE_HMAC_CTX_FREE} = 1; + $define{HAVE_HMAC_CTX_NEW} = 1; +-- +Tristan Partin +Neon (https://neon.tech) + From 53836abed802ff5b147418245c5910c744602e7b Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 26 Sep 2024 15:06:20 +0900 Subject: [PATCH 626/641] (#24946) box2d: add new version 3.0.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * box2d: add version 3.0.0 * downgrade cmake/3.21 * require cmake in test_package * check c17 support * fix validation * drop support msvc 193 in 3.0.0 * Update recipes/box2d/all/conanfile.py Co-authored-by: Uilian Ries * Version 3.x is pure-C Signed-off-by: Uilian Ries * Define dll define for shared Signed-off-by: Uilian Ries * Update recipes/box2d/all/conanfile.py --------- Signed-off-by: Uilian Ries Co-authored-by: Abril Rincón Blanco Co-authored-by: Uilian Ries --- recipes/box2d/all/conandata.yml | 10 +++ recipes/box2d/all/conanfile.py | 51 ++++++++++++- .../all/patches/3.0.0-0001-fix-cmake.patch | 17 +++++ .../all/patches/3.0.0-0002-use-cci.patch | 76 +++++++++++++++++++ recipes/box2d/all/test_package/CMakeLists.txt | 13 +++- recipes/box2d/all/test_package/conanfile.py | 5 +- .../box2d/all/test_package/test_package3.c | 13 ++++ recipes/box2d/config.yml | 2 + 8 files changed, 178 insertions(+), 9 deletions(-) create mode 100644 recipes/box2d/all/patches/3.0.0-0001-fix-cmake.patch create mode 100644 recipes/box2d/all/patches/3.0.0-0002-use-cci.patch create mode 100644 recipes/box2d/all/test_package/test_package3.c diff --git a/recipes/box2d/all/conandata.yml b/recipes/box2d/all/conandata.yml index 8a363f08c6689..28c5a38b19b94 100644 --- a/recipes/box2d/all/conandata.yml +++ b/recipes/box2d/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.0.0": + url: "https://github.com/erincatto/box2d/archive/refs/tags/v3.0.0.tar.gz" + sha256: "64ad759006cd2377c99367f51fb36942b57f0e9ad690ed41548dd620e6f6c8b1" "2.4.2": url: "https://github.com/erincatto/box2d/archive/refs/tags/v2.4.2.tar.gz" sha256: "85b9b104d256c985e6e244b4227d447897fac429071cc114e5cc819dae848852" @@ -9,6 +12,13 @@ sources: url: "https://github.com/erincatto/Box2D/archive/v2.4.0.zip" sha256: "6aebbc54c93e367c97e382a57ba12546731dcde51526964c2ab97dec2050f8b9" patches: + "3.0.0": + - patch_file: "patches/3.0.0-0001-fix-cmake.patch" + patch_description: "fix installer" + patch_type: "conan" + - patch_file: "patches/3.0.0-0002-use-cci.patch" + patch_description: "use cci package" + patch_type: "conan" "2.4.0": - patch_file: "patches/0001-install-and-allow-shared.patch" patch_description: "add install, allow shared build" diff --git a/recipes/box2d/all/conanfile.py b/recipes/box2d/all/conanfile.py index cdd4fd6ee5dc9..1f7923c5d4d0d 100644 --- a/recipes/box2d/all/conanfile.py +++ b/recipes/box2d/all/conanfile.py @@ -1,7 +1,9 @@ import os from conan import ConanFile +from conan.errors import ConanInvalidConfiguration from conan.tools.files import apply_conandata_patches, export_conandata_patches, get, rm, rmdir, copy -from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.microsoft import is_msvc from conan.tools.scm import Version required_conan_version = ">=1.53.0" @@ -25,6 +27,16 @@ class Box2dConan(ConanFile): "fPIC": True } + @property + def _compilers_minimum_version(self): + return { + "apple-clang": "10", + "clang": "7", + "gcc": "8", + "msvc": "193", + "Visual Studio": "17", + } + def export_sources(self): export_conandata_patches(self) @@ -35,19 +47,48 @@ def config_options(self): def configure(self): if self.options.shared: self.options.rm_safe("fPIC") + if Version(self.version) >= "3.0.0": + self.settings.rm_safe("compiler.cppstd") + self.settings.rm_safe("compiler.libcxx") def layout(self): cmake_layout(self, src_folder="src") + def requirements(self): + if Version(self.version) >= "3.0.0": + self.requires("simde/0.8.2") + + def validate(self): + if Version(self.version) < "3.0.0": + return + + 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 C17, which your compiler does not support." + ) + + def build_requirements(self): + if Version(self.version) >= "3.0.0": + self.tool_requires("cmake/[>=3.22 <4]") + def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): tc = CMakeToolchain(self) tc.cache_variables["CMAKE_POLICY_DEFAULT_CMP0077"] = "NEW" - tc.variables["BOX2D_BUILD_TESTBED"] = False - tc.variables["BOX2D_BUILD_UNIT_TESTS"] = False + if Version(self.version) < "3.0.0": + tc.variables["BOX2D_BUILD_TESTBED"] = False + tc.variables["BOX2D_BUILD_UNIT_TESTS"] = False + else: + tc.variables["BOX2D_SAMPLES"] = False + tc.variables["BOX2D_VALIDATE"] = False + tc.variables["BOX2D_UNIT_TESTS"] = False tc.generate() + if Version(self.version) >= "3.0.0": + deps = CMakeDeps(self) + deps.generate() def build(self): apply_conandata_patches(self) @@ -67,7 +108,9 @@ def package_info(self): self.cpp_info.names["cmake_find_package"] = "box2d" self.cpp_info.names["cmake_find_package_multi"] = "box2d" self.cpp_info.libs = ["box2d"] - if Version(self.version) >= "2.4.1" and self.options.shared: + if Version(self.version) >= "3.0.0" and is_msvc(self) and self.options.shared: + self.cpp_info.defines.append("BOX2D_DLL") + elif Version(self.version) >= "2.4.1" and self.options.shared: self.cpp_info.defines.append("B2_SHARED") if self.settings.os in ["Linux", "FreeBSD"]: self.cpp_info.system_libs.append("m") diff --git a/recipes/box2d/all/patches/3.0.0-0001-fix-cmake.patch b/recipes/box2d/all/patches/3.0.0-0001-fix-cmake.patch new file mode 100644 index 0000000000000..156dff0943ae2 --- /dev/null +++ b/recipes/box2d/all/patches/3.0.0-0001-fix-cmake.patch @@ -0,0 +1,17 @@ +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 5078d14..7ec17bc 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -180,4 +180,11 @@ endif() + source_group(TREE "${CMAKE_CURRENT_SOURCE_DIR}" PREFIX "src" FILES ${BOX2D_SOURCE_FILES}) + source_group(TREE "${CMAKE_CURRENT_SOURCE_DIR}/../include" PREFIX "include" FILES ${BOX2D_API_FILES}) + +-install(TARGETS box2d) ++include(GNUInstallDirs) ++ ++install(TARGETS box2d ++ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} ++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} ++) ++install(FILES ${BOX2D_API_FILES} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/box2d) diff --git a/recipes/box2d/all/patches/3.0.0-0002-use-cci.patch b/recipes/box2d/all/patches/3.0.0-0002-use-cci.patch new file mode 100644 index 0000000000000..b9d850f931bb8 --- /dev/null +++ b/recipes/box2d/all/patches/3.0.0-0002-use-cci.patch @@ -0,0 +1,76 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 8c1390e..d6590d7 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -53,7 +53,7 @@ set_property(GLOBAL PROPERTY USE_FOLDERS ON) + set(CMAKE_VERBOSE_MAKEFILE ON) + + # The Box2D library uses simde https://github.com/simd-everywhere/simde +-add_subdirectory(extern/simde) ++# add_subdirectory(extern/simde) + add_subdirectory(src) + + # This hides samples, test, and doxygen from apps that use box2d via FetchContent +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 5078d14..7ec17bc 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -78,7 +78,7 @@ add_library(box2d ${BOX2D_SOURCE_FILES} ${BOX2D_API_FILES}) + # turned this off to make Box2D easier to use without cmake + # include(GenerateExportHeader) + # generate_export_header(box2d) +- ++find_package(simde REQUIRED CONFIG) + target_include_directories(box2d + PUBLIC + $ +@@ -89,7 +89,7 @@ target_include_directories(box2d + ) + + # SIMDE is used to support SIMD math on multiple platforms +-target_link_libraries(box2d PRIVATE simde) ++target_link_libraries(box2d PRIVATE simde::simde) + + # Box2D uses C17 + set_target_properties(box2d PROPERTIES +diff --git a/src/contact_solver.c b/src/contact_solver.c +index b190501..c61e250 100644 +--- a/src/contact_solver.c ++++ b/src/contact_solver.c +@@ -9,8 +9,8 @@ + #include "core.h" + #include "solver_set.h" + #include "world.h" +-#include "x86/avx2.h" +-#include "x86/fma.h" ++#include "simde/x86/avx2.h" ++#include "simde/x86/fma.h" + + // Soft contact constraints with sub-stepping support + // http://mmacklin.com/smallsteps.pdf +diff --git a/src/contact_solver.h b/src/contact_solver.h +index e265e93..dcdc1fb 100644 +--- a/src/contact_solver.h ++++ b/src/contact_solver.h +@@ -4,7 +4,7 @@ + #pragma once + + #include "solver.h" +-#include "x86/avx.h" ++#include "simde/x86/avx.h" + + typedef struct b2ContactSim b2ContactSim; + +diff --git a/src/solver.c b/src/solver.c +index d83a471..a115417 100644 +--- a/src/solver.c ++++ b/src/solver.c +@@ -17,7 +17,7 @@ + #include "world.h" + + // for mm_pause +-#include "x86/sse2.h" ++#include "simde/x86/sse2.h" + + #include + #include diff --git a/recipes/box2d/all/test_package/CMakeLists.txt b/recipes/box2d/all/test_package/CMakeLists.txt index 985bafbcaa4c7..4648d77c658ec 100644 --- a/recipes/box2d/all/test_package/CMakeLists.txt +++ b/recipes/box2d/all/test_package/CMakeLists.txt @@ -1,8 +1,13 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package LANGUAGES CXX) +cmake_minimum_required(VERSION 3.21) +project(test_package LANGUAGES C CXX) find_package(box2d REQUIRED CONFIG) -add_executable(${PROJECT_NAME} test_package.cpp) +if(box2d_VERSION VERSION_LESS "3.0.0") + add_executable(${PROJECT_NAME} test_package.cpp) + target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) +else() + add_executable(${PROJECT_NAME} test_package3.c) + target_compile_features(${PROJECT_NAME} PRIVATE c_std_17) +endif() target_link_libraries(${PROJECT_NAME} PRIVATE box2d::box2d) -target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) diff --git a/recipes/box2d/all/test_package/conanfile.py b/recipes/box2d/all/test_package/conanfile.py index d1ce1a2cbc477..3526395bd33d5 100644 --- a/recipes/box2d/all/test_package/conanfile.py +++ b/recipes/box2d/all/test_package/conanfile.py @@ -2,7 +2,7 @@ from conan import ConanFile from conan.tools.build import can_run from conan.tools.cmake import CMake, cmake_layout - +from conan.tools.scm import Version class Box2DTestConan(ConanFile): settings = "os", "compiler", "build_type", "arch" @@ -15,6 +15,9 @@ def layout(self): def requirements(self): self.requires(self.tested_reference_str) + def build_requirements(self): + self.tool_requires("cmake/[>=3.21 <4]") + def build(self): cmake = CMake(self) cmake.configure() diff --git a/recipes/box2d/all/test_package/test_package3.c b/recipes/box2d/all/test_package/test_package3.c new file mode 100644 index 0000000000000..abad79d1a39be --- /dev/null +++ b/recipes/box2d/all/test_package/test_package3.c @@ -0,0 +1,13 @@ +#include "box2d/box2d.h" + +int main() { + b2WorldDef worldDef = b2DefaultWorldDef(); + + worldDef.gravity = (b2Vec2){0.0f, -10.0f}; + b2WorldId worldId = b2CreateWorld(&worldDef); + + b2BodyDef groundBodyDef = b2DefaultBodyDef(); + groundBodyDef.position = (b2Vec2){0.0f, -10.0f}; + + return 0; +} diff --git a/recipes/box2d/config.yml b/recipes/box2d/config.yml index d0f0027e07e5c..476a7f5aa4a7c 100644 --- a/recipes/box2d/config.yml +++ b/recipes/box2d/config.yml @@ -1,4 +1,6 @@ versions: + "3.0.0": + folder: "all" "2.4.2": folder: "all" "2.4.1": From 2584ccdd9ef4bb79a76e3cbc10963345862bc421 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Thu, 26 Sep 2024 10:43:16 +0300 Subject: [PATCH 627/641] (#21238) brunsli: allow shared brotli dependency * brunsli: allow shared brotli dependency * brunsli: add requires --- recipes/brunsli/all/conanfile.py | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/recipes/brunsli/all/conanfile.py b/recipes/brunsli/all/conanfile.py index d437851b72dc5..6d0345f3e64af 100644 --- a/recipes/brunsli/all/conanfile.py +++ b/recipes/brunsli/all/conanfile.py @@ -1,7 +1,6 @@ import os from conan import ConanFile -from conan.errors import ConanInvalidConfiguration from conan.tools.build import check_min_cppstd from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout from conan.tools.files import apply_conandata_patches, export_conandata_patches, get, copy, replace_in_file, save @@ -37,7 +36,6 @@ def config_options(self): def configure(self): if self.options.shared: self.options.rm_safe("fPIC") - self.options["brotli"].shared = False def layout(self): cmake_layout(self, src_folder="src") @@ -48,8 +46,6 @@ def requirements(self): def validate(self): if self.settings.compiler.cppstd: check_min_cppstd(self, 11) - if self.dependencies["brotli"].options.shared: - raise ConanInvalidConfiguration("brotli must be built as a static library") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) @@ -94,7 +90,9 @@ def package(self): def package_info(self): self.cpp_info.components["brunslidec-c"].libs = ["brunslidec-c"] + self.cpp_info.components["brunslidec-c"].requires = ["brotli::brotlidec"] self.cpp_info.components["brunslienc-c"].libs = ["brunslienc-c"] + self.cpp_info.components["brunslienc-c"].requires = ["brotli::brotlienc"] if not self.options.shared: self.cpp_info.components["brunslidec-c"].libs += ["brunslicommon-static", "brunslidec-static"] self.cpp_info.components["brunslienc-c"].libs += ["brunslicommon-static", "brunslienc-static"] From 0b3fdbe9f37211072aeffb79e67ee74c6f95336f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Abril=20Rinc=C3=B3n=20Blanco?= Date: Thu, 26 Sep 2024 09:55:29 +0200 Subject: [PATCH 628/641] Revert "(#21238) brunsli: allow shared brotli dependency" (#25425) This reverts commit 2584ccdd9ef4bb79a76e3cbc10963345862bc421. --- recipes/brunsli/all/conanfile.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/recipes/brunsli/all/conanfile.py b/recipes/brunsli/all/conanfile.py index 6d0345f3e64af..d437851b72dc5 100644 --- a/recipes/brunsli/all/conanfile.py +++ b/recipes/brunsli/all/conanfile.py @@ -1,6 +1,7 @@ import os from conan import ConanFile +from conan.errors import ConanInvalidConfiguration from conan.tools.build import check_min_cppstd from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout from conan.tools.files import apply_conandata_patches, export_conandata_patches, get, copy, replace_in_file, save @@ -36,6 +37,7 @@ def config_options(self): def configure(self): if self.options.shared: self.options.rm_safe("fPIC") + self.options["brotli"].shared = False def layout(self): cmake_layout(self, src_folder="src") @@ -46,6 +48,8 @@ def requirements(self): def validate(self): if self.settings.compiler.cppstd: check_min_cppstd(self, 11) + if self.dependencies["brotli"].options.shared: + raise ConanInvalidConfiguration("brotli must be built as a static library") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) @@ -90,9 +94,7 @@ def package(self): def package_info(self): self.cpp_info.components["brunslidec-c"].libs = ["brunslidec-c"] - self.cpp_info.components["brunslidec-c"].requires = ["brotli::brotlidec"] self.cpp_info.components["brunslienc-c"].libs = ["brunslienc-c"] - self.cpp_info.components["brunslienc-c"].requires = ["brotli::brotlienc"] if not self.options.shared: self.cpp_info.components["brunslidec-c"].libs += ["brunslicommon-static", "brunslidec-static"] self.cpp_info.components["brunslienc-c"].libs += ["brunslicommon-static", "brunslienc-static"] From 6078d4ee92c49a80ddbd0a886328d377cd898d75 Mon Sep 17 00:00:00 2001 From: Uilian Ries Date: Thu, 26 Sep 2024 10:04:33 +0200 Subject: [PATCH 629/641] (#25420) [quazip] Use version range for Qt Signed-off-by: Uilian Ries --- recipes/quazip/all/conandata.yml | 3 --- recipes/quazip/all/conanfile.py | 2 +- recipes/quazip/config.yml | 2 -- 3 files changed, 1 insertion(+), 6 deletions(-) diff --git a/recipes/quazip/all/conandata.yml b/recipes/quazip/all/conandata.yml index e1e86960ccb10..9ffb2b7d9ce95 100644 --- a/recipes/quazip/all/conandata.yml +++ b/recipes/quazip/all/conandata.yml @@ -8,9 +8,6 @@ sources: "1.2": url: "https://github.com/stachenov/quazip/archive/v1.2.tar.gz" sha256: "2dfb911d6b27545de0b98798d967c40430312377e6ade57096d6ec80c720cb61" - "1.1": - url: "https://github.com/stachenov/quazip/archive/v1.1.tar.gz" - sha256: "54edce9c11371762bd4f0003c2937b5d8806a2752dd9c0fd9085e90792612ad0" patches: "1.3": - patch_file: "patches/1.3-0001-use-cpp17-for-qt6.patch" diff --git a/recipes/quazip/all/conanfile.py b/recipes/quazip/all/conanfile.py index 6e40033d8025b..0d9d896af6cc1 100644 --- a/recipes/quazip/all/conanfile.py +++ b/recipes/quazip/all/conanfile.py @@ -48,7 +48,7 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("qt/5.15.9", transitive_headers=True, transitive_libs=True) + self.requires("qt/[~5.15]", transitive_headers=True, transitive_libs=True) self.requires("zlib/[>=1.2.11 <2]", transitive_headers=True) if Version(self.version) >= "1.4": self.requires("bzip2/1.0.8") diff --git a/recipes/quazip/config.yml b/recipes/quazip/config.yml index 889c86eb7e377..f55a2df2807c5 100644 --- a/recipes/quazip/config.yml +++ b/recipes/quazip/config.yml @@ -5,5 +5,3 @@ versions: folder: all "1.2": folder: all - "1.1": - folder: all From 76c9e4b20ea70305da08c85280de788fc91b121a Mon Sep 17 00:00:00 2001 From: Uilian Ries Date: Thu, 26 Sep 2024 10:13:07 +0200 Subject: [PATCH 630/641] (#25421) [qtxlsxwriter] Use version range for Qt Signed-off-by: Uilian Ries --- recipes/qtxlsxwriter/all/conanfile.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes/qtxlsxwriter/all/conanfile.py b/recipes/qtxlsxwriter/all/conanfile.py index 6acde10a92b2e..e8b849d77cbf6 100644 --- a/recipes/qtxlsxwriter/all/conanfile.py +++ b/recipes/qtxlsxwriter/all/conanfile.py @@ -7,7 +7,7 @@ from conan.tools.scm import Version import os -required_conan_version = ">=1.53.0" +required_conan_version = ">=1.63.0" class QtXlsxWriterConan(ConanFile): @@ -45,7 +45,7 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("qt/5.15.13", transitive_headers=True, transitive_libs=True) + self.requires("qt/[~5.15]", transitive_headers=True, transitive_libs=True) def validate(self): if not self.dependencies["qt"].options.gui: @@ -56,7 +56,7 @@ def validate(self): def build_requirements(self): if hasattr(self, "settings_build") and cross_building(self): - self.tool_requires("qt/5.15.7") + self.tool_requires("qt/") def source(self): get(self, **self.conan_data["sources"][self.version]["source"], From 639f873f0c5fc7a6ea9464b23b4c0d59fa5511fa Mon Sep 17 00:00:00 2001 From: Uilian Ries Date: Thu, 26 Sep 2024 10:22:13 +0200 Subject: [PATCH 631/641] (#25424) [qwt] Use version range for Qt Signed-off-by: Uilian Ries --- recipes/qwt/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/qwt/all/conanfile.py b/recipes/qwt/all/conanfile.py index 8cc76b47a4e49..631bed2233c8a 100644 --- a/recipes/qwt/all/conanfile.py +++ b/recipes/qwt/all/conanfile.py @@ -63,7 +63,7 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("qt/5.15.11", transitive_headers=True, transitive_libs=True) + self.requires("qt/[~5.15]", transitive_headers=True, transitive_libs=True) def validate(self): if hasattr(self, "settings_build") and cross_building(self): From 80371c3fb5d01267f0d331fabaa29ecfdd2687f9 Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 26 Sep 2024 19:51:59 +0900 Subject: [PATCH 632/641] (#25368) quill: add version 7.2.2 --- recipes/quill/all/conandata.yml | 3 +++ recipes/quill/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/quill/all/conandata.yml b/recipes/quill/all/conandata.yml index 7c3d0c8d20dc2..61d4c2c73faa8 100644 --- a/recipes/quill/all/conandata.yml +++ b/recipes/quill/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "7.2.2": + url: "https://github.com/odygrd/quill/releases/download/v7.2.2/quill-7.2.2.zip" + sha256: "3b908f498e1a04b5bf2098108461ff2fab9c3350fccae62c96e54c0f868c00be" "7.2.1": url: "https://github.com/odygrd/quill/releases/download/v7.2.1/quill-7.2.1.zip" sha256: "5ca27bbb8866489a9c2fb1da628d9ddfed423cbba1dd1d07c793d7a8237cfaab" diff --git a/recipes/quill/config.yml b/recipes/quill/config.yml index 1ad4d3f70172f..a7aed17b24eac 100644 --- a/recipes/quill/config.yml +++ b/recipes/quill/config.yml @@ -1,4 +1,6 @@ versions: + "7.2.2": + folder: "all" "7.2.1": folder: "all" "7.1.0": From 01358f0d6e143d725c7ec06d1f0ab579279164eb Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 26 Sep 2024 20:28:08 +0900 Subject: [PATCH 633/641] (#25375) duckdb: add version 1.1.1, remove older versions --- recipes/duckdb/all/conandata.yml | 60 ++-------- recipes/duckdb/all/conanfile.py | 74 +++++------- .../all/patches/0.5.1-0001-fix-cmake.patch | 82 ------------- .../all/patches/0.6.0-0001-fix-cmake.patch | 58 --------- .../patches/0.6.0-0002-include-stdlib.patch | 12 -- .../all/patches/0.7.0-0001-fix-cmake.patch | 61 ---------- .../all/patches/0.8.0-0001-fix-cmake.patch | 86 -------------- .../all/patches/0.8.1-0001-fix-cmake.patch | 87 -------------- .../all/patches/1.1.1-0001-fix-cmake.patch | 110 ++++++++++++++++++ .../all/patches/1.1.1-0002-msvc-bicobj.patch | 13 +++ recipes/duckdb/config.yml | 14 +-- 11 files changed, 163 insertions(+), 494 deletions(-) delete mode 100644 recipes/duckdb/all/patches/0.5.1-0001-fix-cmake.patch delete mode 100644 recipes/duckdb/all/patches/0.6.0-0001-fix-cmake.patch delete mode 100644 recipes/duckdb/all/patches/0.6.0-0002-include-stdlib.patch delete mode 100644 recipes/duckdb/all/patches/0.7.0-0001-fix-cmake.patch delete mode 100644 recipes/duckdb/all/patches/0.8.0-0001-fix-cmake.patch delete mode 100644 recipes/duckdb/all/patches/0.8.1-0001-fix-cmake.patch create mode 100644 recipes/duckdb/all/patches/1.1.1-0001-fix-cmake.patch create mode 100644 recipes/duckdb/all/patches/1.1.1-0002-msvc-bicobj.patch diff --git a/recipes/duckdb/all/conandata.yml b/recipes/duckdb/all/conandata.yml index cf9fce4151d56..7fef9df0ad187 100644 --- a/recipes/duckdb/all/conandata.yml +++ b/recipes/duckdb/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.1.1": + url: "https://github.com/duckdb/duckdb/archive/refs/tags/v1.1.1.tar.gz" + sha256: "a764cef80287ccfd8555884d8facbe962154e7c747043c0842cd07873b4d6752" "1.1.0": url: "https://github.com/duckdb/duckdb/archive/refs/tags/v1.1.0.tar.gz" sha256: "d9be2c6d3a5ebe2b3d33044fb2cb535bb0bd972a27ae38c4de5e1b4caa4bf68d" @@ -17,25 +20,14 @@ sources: "0.9.0": url: "https://github.com/duckdb/duckdb/archive/refs/tags/v0.9.0.tar.gz" sha256: "3dbf3326a831bf0797591572440e81a3d6d668f8e33a25ce04efae19afc3a23d" - "0.8.1": - url: "https://github.com/duckdb/duckdb/archive/refs/tags/v0.8.1.tar.gz" - sha256: "a0674f7e320dc7ebcf51990d7fc1c0e7f7b2c335c08f5953702b5285e6c30694" - "0.8.0": - url: "https://github.com/duckdb/duckdb/archive/refs/tags/v0.8.0.tar.gz" - sha256: "df3b8e0b72bce38914f0fb1cd02235d8b616df9209beb14beb06bfbcaaf2e97f" - "0.7.1": - url: "https://github.com/duckdb/duckdb/archive/refs/tags/v0.7.1.tar.gz" - sha256: "67f840f861e5ffbe137d65a8543642d016f900b89dd035492d562ad11acf0e1e" - "0.6.1": - url: "https://github.com/duckdb/duckdb/archive/refs/tags/v0.6.1.tar.gz" - sha256: "ea9bba89ae3e461f3fc9f83911b2f3b6c386c23463bcf7b1ed6bb4cc13e822a4" - "0.6.0": - url: "https://github.com/duckdb/duckdb/archive/refs/tags/v0.6.0.tar.gz" - sha256: "700b09114f8b99892a9d19ba21ca962ae65d1ea8085622418a2fa50ff915b244" - "0.5.1": - url: "https://github.com/duckdb/duckdb/archive/refs/tags/v0.5.1.tar.gz" - sha256: "3dab7ba0d0f8d024d3c73fd3d4fb8834203c31d7b0ddb1e8539ee266e11b0e9b" patches: + "1.1.1": + - patch_file: "patches/1.1.1-0001-fix-cmake.patch" + patch_description: "install static of shared library, add installation for odbc extention" + patch_type: "portability" + - patch_file: "patches/1.1.1-0002-msvc-bicobj.patch" + patch_description: "add /bigobj flag" + patch_type: "portability" "1.1.0": - patch_file: "patches/1.1.0-0001-fix-cmake.patch" patch_description: "install static of shared library, add installation for odbc extention" @@ -72,35 +64,3 @@ patches: - patch_file: "patches/0.9.0-0001-fix-cmake.patch" patch_description: "install static of shared library, add installation for odbc extention" patch_type: "portability" - "0.8.1": - - patch_file: "patches/0.8.1-0001-fix-cmake.patch" - patch_description: "install static of shared library, add installation for odbc extention" - patch_type: "portability" - "0.8.0": - - patch_file: "patches/0.8.0-0001-fix-cmake.patch" - patch_description: "install static of shared library, add installation for odbc extention" - patch_type: "portability" - "0.7.1": - - patch_file: "patches/0.7.0-0001-fix-cmake.patch" - patch_description: "install static of shared library, add installation for odbc extention" - patch_type: "portability" - "0.6.1": - - patch_file: "patches/0.6.0-0001-fix-cmake.patch" - patch_description: "install static of shared library, add installation for odbc extention" - patch_type: "portability" - - patch_file: "patches/0.6.0-0002-include-stdlib.patch" - patch_description: "include stdlib for abort function" - patch_type: "portability" - patch_source: "https://github.com/duckdb/duckdb/commit/50b0bd07a6c22d17c4453632fce3b3d3c872663e" - "0.6.0": - - patch_file: "patches/0.6.0-0001-fix-cmake.patch" - patch_description: "install static of shared library, add installation for odbc extention" - patch_type: "portability" - - patch_file: "patches/0.6.0-0002-include-stdlib.patch" - patch_description: "include stdlib for abort function" - patch_type: "portability" - patch_source: "https://github.com/duckdb/duckdb/commit/50b0bd07a6c22d17c4453632fce3b3d3c872663e" - "0.5.1": - - patch_file: "patches/0.5.1-0001-fix-cmake.patch" - patch_description: "install static of shared library, add installation for odbc extention" - patch_type: "portability" diff --git a/recipes/duckdb/all/conanfile.py b/recipes/duckdb/all/conanfile.py index 7f21bb189c4b0..cce9c23deb6ff 100644 --- a/recipes/duckdb/all/conanfile.py +++ b/recipes/duckdb/all/conanfile.py @@ -25,7 +25,6 @@ class DuckdbConan(ConanFile): "fPIC": [True, False], "with_autocomplete": [True, False], "with_icu": [True, False], - "with_parquet": [True, False], "with_tpch": [True, False], "with_tpcds": [True, False], "with_fts": [True, False], @@ -46,7 +45,6 @@ class DuckdbConan(ConanFile): "fPIC": True, "with_autocomplete": False, "with_icu": False, - "with_parquet": False, "with_tpch": False, "with_tpcds": False, "with_fts": False, @@ -74,8 +72,6 @@ def export_sources(self): def config_options(self): if self.settings.os == "Windows": del self.options.fPIC - if Version(self.version) >= "0.9.0": - del self.options.with_parquet if Version(self.version) >= "1.1.0": del self.options.with_odbc @@ -111,46 +107,33 @@ def generate(self): tc.variables["DUCKDB_PATCH_VERSION"] = Version(self.version).patch tc.variables["DUCKDB_DEV_ITERATION"] = 0 tc.variables["OVERRIDE_GIT_DESCRIBE"] = f"v{self.version}" - if "with_parquet" in self.options: - tc.variables["BUILD_PARQUET_EXTENSION"] = self.options.with_parquet - if Version(self.version) >= "0.9.0": - build_extensions = "" - if self.options.with_icu: - build_extensions += ";icu" - if self.options.with_autocomplete: - build_extensions += ";autocomplete" - if self.options.with_tpch: - build_extensions += ";tpch" - if self.options.with_tpcds: - build_extensions += ";tpcds" - if self.options.with_fts: - build_extensions += ";fts" - if self.options.with_visualizer: - build_extensions += ";visualizer" - if self.options.with_httpfs: - build_extensions += ";httpfs" - if self.options.with_json: - build_extensions += ";json" - if self.options.with_excel: - build_extensions += ";excel" - if self.options.with_inet: - build_extensions += ";inet" - if self.options.with_sqlsmith: - build_extensions += ";sqlsmith" - tc.variables["BUILD_EXTENSIONS"] = build_extensions - else: - tc.variables["BUILD_ICU_EXTENSION"] = self.options.with_icu - tc.variables["BUILD_TPCH_EXTENSION"] = self.options.with_tpch - tc.variables["BUILD_TPCDS_EXTENSION"] = self.options.with_tpcds - tc.variables["BUILD_FTS_EXTENSION"] = self.options.with_fts - tc.variables["BUILD_HTTPFS_EXTENSION"] = self.options.with_httpfs - tc.variables["BUILD_VISUALIZER_EXTENSION"] = self.options.with_visualizer - tc.variables["BUILD_JSON_EXTENSION"] = self.options.with_json - tc.variables["BUILD_EXCEL_EXTENSION"] = self.options.with_excel - tc.variables["BUILD_SQLSMITH_EXTENSION"] = self.options.with_sqlsmith - - if "self.options" in self.options: + build_extensions = "" + if self.options.with_icu: + build_extensions += ";icu" + if self.options.with_autocomplete: + build_extensions += ";autocomplete" + if self.options.with_tpch: + build_extensions += ";tpch" + if self.options.with_tpcds: + build_extensions += ";tpcds" + if self.options.with_fts: + build_extensions += ";fts" + if self.options.with_visualizer: + build_extensions += ";visualizer" + if self.options.with_httpfs: + build_extensions += ";httpfs" + if self.options.with_json: + build_extensions += ";json" + if self.options.with_excel: + build_extensions += ";excel" + if self.options.with_inet: + build_extensions += ";inet" + if self.options.with_sqlsmith: + build_extensions += ";sqlsmith" + tc.variables["BUILD_EXTENSIONS"] = build_extensions + + if "with_odbc" in self.options: tc.variables["BUILD_ODBC_DRIVER"] = self.options.with_odbc tc.variables["FORCE_QUERY_LOG"] = self.options.with_query_log tc.variables["BUILD_SHELL"] = self.options.with_shell @@ -214,8 +197,7 @@ def package_info(self): "duckdb_fastpforlib", "duckdb_mbedtls", ] - if Version(self.version) >= "0.6.0": - self.cpp_info.libs.append("duckdb_fsst") + self.cpp_info.libs.append("duckdb_fsst") if Version(self.version) >= "0.10.0": self.cpp_info.libs.append("duckdb_skiplistlib") if Version(self.version) >= "0.10.3": @@ -237,7 +219,7 @@ def package_info(self): self.cpp_info.libs.append("visualizer_extension") if self.options.with_httpfs: self.cpp_info.libs.append("httpfs_extension") - if (Version(self.version) >= "0.6.0" and self.settings.os == "Linux" and + if (self.settings.os == "Linux" and (Version(self.version) < "0.10.1" or self.settings.arch == "x86_64")): self.cpp_info.libs.append("jemalloc_extension") if self.options.with_json: diff --git a/recipes/duckdb/all/patches/0.5.1-0001-fix-cmake.patch b/recipes/duckdb/all/patches/0.5.1-0001-fix-cmake.patch deleted file mode 100644 index 4c586f0038760..0000000000000 --- a/recipes/duckdb/all/patches/0.5.1-0001-fix-cmake.patch +++ /dev/null @@ -1,82 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index cc43104..5b034d2 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -196,6 +196,8 @@ if(${CMAKE_SYSTEM_NAME} STREQUAL "SunOS") - set(SUN TRUE) - endif() - -+if(0) # conan patch -+ - execute_process( - COMMAND git log -1 --format=%h - WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} -@@ -236,6 +238,10 @@ else() - set(DUCKDB_VERSION "v${DUCKDB_MAJOR_VERSION}.${DUCKDB_MINOR_VERSION}.${DUCKDB_PATCH_VERSION}-dev${DUCKDB_DEV_ITERATION}") - endif() - -+else() # conan patch -+set(DUCKDB_VERSION "v${DUCKDB_MAJOR_VERSION}.${DUCKDB_MINOR_VERSION}.${DUCKDB_PATCH_VERSION}-dev${DUCKDB_DEV_ITERATION}") -+endif() # conan patch -+ - option(AMALGAMATION_BUILD - "Build from the amalgamation files, rather than from the normal sources." - FALSE) -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index 7e07a47..8027d90 100644 ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -166,9 +166,18 @@ if(BUILD_PYTHON - endif() - endif() - --install( -- TARGETS duckdb duckdb_static -- EXPORT "${DUCKDB_EXPORT_SET}" -- LIBRARY DESTINATION "${INSTALL_LIB_DIR}" -- ARCHIVE DESTINATION "${INSTALL_LIB_DIR}" -- RUNTIME DESTINATION "${INSTALL_BIN_DIR}") -+if(BUILD_SHARED_LIBS) -+ install( -+ TARGETS duckdb -+ EXPORT "${DUCKDB_EXPORT_SET}" -+ LIBRARY DESTINATION "${INSTALL_LIB_DIR}" -+ ARCHIVE DESTINATION "${INSTALL_LIB_DIR}" -+ RUNTIME DESTINATION "${INSTALL_BIN_DIR}") -+else() -+ install( -+ TARGETS duckdb_static -+ EXPORT "${DUCKDB_EXPORT_SET}" -+ LIBRARY DESTINATION "${INSTALL_LIB_DIR}" -+ ARCHIVE DESTINATION "${INSTALL_LIB_DIR}" -+ RUNTIME DESTINATION "${INSTALL_BIN_DIR}") -+endif() -diff --git a/tools/odbc/CMakeLists.txt b/tools/odbc/CMakeLists.txt -index 9d116b9..b46e5bd 100644 ---- a/tools/odbc/CMakeLists.txt -+++ b/tools/odbc/CMakeLists.txt -@@ -53,3 +53,11 @@ add_library( - set_target_properties(duckdb_odbc PROPERTIES DEFINE_SYMBOL "DUCKDB_ODBC_API") - - target_link_libraries(duckdb_odbc ${LINK_LIB_LIST} duckdb_static) -+ -+install( -+ TARGETS duckdb_odbc -+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} -+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} -+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} -+ PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} -+) -diff --git a/tools/sqlite3_api_wrapper/CMakeLists.txt b/tools/sqlite3_api_wrapper/CMakeLists.txt -index cef9622..ca7e1f1 100644 ---- a/tools/sqlite3_api_wrapper/CMakeLists.txt -+++ b/tools/sqlite3_api_wrapper/CMakeLists.txt -@@ -14,7 +14,7 @@ add_library(sqlite3_api_wrapper_static STATIC sqlite3_api_wrapper.cpp - target_link_libraries(sqlite3_api_wrapper_static duckdb_static duckdb_utf8proc) - link_threads(sqlite3_api_wrapper_static) - --if(NOT WIN32) -+if(BUILD_SHARED_LIBS AND NOT WIN32) - add_library(sqlite3_api_wrapper SHARED sqlite3_api_wrapper.cpp - ${ALL_OBJECT_FILES}) - target_link_libraries(sqlite3_api_wrapper duckdb ${DUCKDB_EXTRA_LINK_FLAGS}) diff --git a/recipes/duckdb/all/patches/0.6.0-0001-fix-cmake.patch b/recipes/duckdb/all/patches/0.6.0-0001-fix-cmake.patch deleted file mode 100644 index d43649a21a753..0000000000000 --- a/recipes/duckdb/all/patches/0.6.0-0001-fix-cmake.patch +++ /dev/null @@ -1,58 +0,0 @@ -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index b1bb843..4a4949c 100644 ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -167,9 +167,18 @@ if(BUILD_PYTHON - endif() - endif() - --install( -- TARGETS duckdb duckdb_static -- EXPORT "${DUCKDB_EXPORT_SET}" -- LIBRARY DESTINATION "${INSTALL_LIB_DIR}" -- ARCHIVE DESTINATION "${INSTALL_LIB_DIR}" -- RUNTIME DESTINATION "${INSTALL_BIN_DIR}") -+if(BUILD_SHARED_LIBS) -+ install( -+ TARGETS duckdb -+ EXPORT "${DUCKDB_EXPORT_SET}" -+ LIBRARY DESTINATION "${INSTALL_LIB_DIR}" -+ ARCHIVE DESTINATION "${INSTALL_LIB_DIR}" -+ RUNTIME DESTINATION "${INSTALL_BIN_DIR}") -+else() -+ install( -+ TARGETS duckdb_static -+ EXPORT "${DUCKDB_EXPORT_SET}" -+ LIBRARY DESTINATION "${INSTALL_LIB_DIR}" -+ ARCHIVE DESTINATION "${INSTALL_LIB_DIR}" -+ RUNTIME DESTINATION "${INSTALL_BIN_DIR}") -+endif() -diff --git a/tools/odbc/CMakeLists.txt b/tools/odbc/CMakeLists.txt -index 9d116b9..b46e5bd 100644 ---- a/tools/odbc/CMakeLists.txt -+++ b/tools/odbc/CMakeLists.txt -@@ -53,3 +53,11 @@ add_library( - set_target_properties(duckdb_odbc PROPERTIES DEFINE_SYMBOL "DUCKDB_ODBC_API") - - target_link_libraries(duckdb_odbc ${LINK_LIB_LIST} duckdb_static) -+ -+install( -+ TARGETS duckdb_odbc -+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} -+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} -+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} -+ PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} -+) -diff --git a/tools/sqlite3_api_wrapper/CMakeLists.txt b/tools/sqlite3_api_wrapper/CMakeLists.txt -index e785d4f..922746f 100644 ---- a/tools/sqlite3_api_wrapper/CMakeLists.txt -+++ b/tools/sqlite3_api_wrapper/CMakeLists.txt -@@ -17,7 +17,7 @@ add_library(sqlite3_api_wrapper_static STATIC ${SQLITE_API_WRAPPER_FILES}) - target_link_libraries(sqlite3_api_wrapper_static duckdb_static duckdb_utf8proc) - link_threads(sqlite3_api_wrapper_static) - --if(NOT WIN32) -+if(BUILD_SHARED_LIBS AND NOT WIN32) - add_library(sqlite3_api_wrapper SHARED ${SQLITE_API_WRAPPER_FILES}) - target_link_libraries(sqlite3_api_wrapper duckdb ${DUCKDB_EXTRA_LINK_FLAGS}) - link_threads(sqlite3_api_wrapper) diff --git a/recipes/duckdb/all/patches/0.6.0-0002-include-stdlib.patch b/recipes/duckdb/all/patches/0.6.0-0002-include-stdlib.patch deleted file mode 100644 index e9e04e59a49cc..0000000000000 --- a/recipes/duckdb/all/patches/0.6.0-0002-include-stdlib.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/extension/jemalloc/jemalloc/include/jemalloc/internal/jemalloc_preamble.h b/extension/jemalloc/jemalloc/include/jemalloc/internal/jemalloc_preamble.h -index 47455cb..cfd73bc 100644 ---- a/extension/jemalloc/jemalloc/include/jemalloc/internal/jemalloc_preamble.h -+++ b/extension/jemalloc/jemalloc/include/jemalloc/internal/jemalloc_preamble.h -@@ -4,6 +4,7 @@ - #include - #include - #include -+#include - - #include "jemalloc/internal/jemalloc_internal_defs.h" - #include "jemalloc/internal/jemalloc_internal_decls.h" diff --git a/recipes/duckdb/all/patches/0.7.0-0001-fix-cmake.patch b/recipes/duckdb/all/patches/0.7.0-0001-fix-cmake.patch deleted file mode 100644 index 0ba6b7e472f9a..0000000000000 --- a/recipes/duckdb/all/patches/0.7.0-0001-fix-cmake.patch +++ /dev/null @@ -1,61 +0,0 @@ -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index 99cd46c..3f3d039 100644 ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -182,9 +182,18 @@ if(BUILD_PYTHON - endif() - endif() - --install( -- TARGETS duckdb duckdb_static -- EXPORT "${DUCKDB_EXPORT_SET}" -- LIBRARY DESTINATION "${INSTALL_LIB_DIR}" -- ARCHIVE DESTINATION "${INSTALL_LIB_DIR}" -- RUNTIME DESTINATION "${INSTALL_BIN_DIR}") -+if(BUILD_SHARED_LIBS) -+ install( -+ TARGETS duckdb -+ EXPORT "${DUCKDB_EXPORT_SET}" -+ LIBRARY DESTINATION "${INSTALL_LIB_DIR}" -+ ARCHIVE DESTINATION "${INSTALL_LIB_DIR}" -+ RUNTIME DESTINATION "${INSTALL_BIN_DIR}") -+else() -+ install( -+ TARGETS duckdb_static -+ EXPORT "${DUCKDB_EXPORT_SET}" -+ LIBRARY DESTINATION "${INSTALL_LIB_DIR}" -+ ARCHIVE DESTINATION "${INSTALL_LIB_DIR}" -+ RUNTIME DESTINATION "${INSTALL_BIN_DIR}") -+endif() -diff --git a/tools/odbc/CMakeLists.txt b/tools/odbc/CMakeLists.txt -index 8f13cfe..6755894 100644 ---- a/tools/odbc/CMakeLists.txt -+++ b/tools/odbc/CMakeLists.txt -@@ -53,6 +53,14 @@ add_library( - set_target_properties(duckdb_odbc PROPERTIES DEFINE_SYMBOL "DUCKDB_ODBC_API") - target_link_libraries(duckdb_odbc ${LINK_LIB_LIST} duckdb_static) - -+install( -+ TARGETS duckdb_odbc -+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} -+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} -+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} -+ PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} -+) -+ - if(NOT WIN32 AND NOT CLANG_TIDY) - add_subdirectory(test) - endif() -diff --git a/tools/sqlite3_api_wrapper/CMakeLists.txt b/tools/sqlite3_api_wrapper/CMakeLists.txt -index e785d4f..922746f 100644 ---- a/tools/sqlite3_api_wrapper/CMakeLists.txt -+++ b/tools/sqlite3_api_wrapper/CMakeLists.txt -@@ -17,7 +17,7 @@ add_library(sqlite3_api_wrapper_static STATIC ${SQLITE_API_WRAPPER_FILES}) - target_link_libraries(sqlite3_api_wrapper_static duckdb_static duckdb_utf8proc) - link_threads(sqlite3_api_wrapper_static) - --if(NOT WIN32) -+if(BUILD_SHARED_LIBS AND NOT WIN32) - add_library(sqlite3_api_wrapper SHARED ${SQLITE_API_WRAPPER_FILES}) - target_link_libraries(sqlite3_api_wrapper duckdb ${DUCKDB_EXTRA_LINK_FLAGS}) - link_threads(sqlite3_api_wrapper) diff --git a/recipes/duckdb/all/patches/0.8.0-0001-fix-cmake.patch b/recipes/duckdb/all/patches/0.8.0-0001-fix-cmake.patch deleted file mode 100644 index 6daffba956a1a..0000000000000 --- a/recipes/duckdb/all/patches/0.8.0-0001-fix-cmake.patch +++ /dev/null @@ -1,86 +0,0 @@ -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index 0200c15..4a59ae6 100644 ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -75,23 +75,27 @@ else() - duckdb_fastpforlib - duckdb_mbedtls) - -+ if(BUILD_SHARED_LIBS) - add_library(duckdb SHARED ${ALL_OBJECT_FILES}) - target_link_libraries(duckdb ${DUCKDB_LINK_LIBS}) - link_threads(duckdb) - link_extension_libraries(duckdb) -- -+ else() - add_library(duckdb_static STATIC ${ALL_OBJECT_FILES}) - target_link_libraries(duckdb_static ${DUCKDB_LINK_LIBS}) - link_threads(duckdb_static) - link_extension_libraries(duckdb_static) -+ endif() - -+ if(BUILD_SHARED_LIBS) - target_include_directories( - duckdb PUBLIC $ - $) -- -+ else() - target_include_directories( - duckdb_static PUBLIC $ - $) -+ endif() - - install( - DIRECTORY "${PROJECT_SOURCE_DIR}/src/include/duckdb" -@@ -104,9 +108,18 @@ else() - - endif() - -+if(BUILD_SHARED_LIBS) - install( -- TARGETS duckdb duckdb_static -+ TARGETS duckdb - EXPORT "${DUCKDB_EXPORT_SET}" - LIBRARY DESTINATION "${INSTALL_LIB_DIR}" - ARCHIVE DESTINATION "${INSTALL_LIB_DIR}" - RUNTIME DESTINATION "${INSTALL_BIN_DIR}") -+else() -+install( -+ TARGETS duckdb_static -+ EXPORT "${DUCKDB_EXPORT_SET}" -+ LIBRARY DESTINATION "${INSTALL_LIB_DIR}" -+ ARCHIVE DESTINATION "${INSTALL_LIB_DIR}" -+ RUNTIME DESTINATION "${INSTALL_BIN_DIR}") -+endif() -diff --git a/tools/odbc/CMakeLists.txt b/tools/odbc/CMakeLists.txt -index 8f13cfe..6755894 100644 ---- a/tools/odbc/CMakeLists.txt -+++ b/tools/odbc/CMakeLists.txt -@@ -53,6 +53,14 @@ add_library( - set_target_properties(duckdb_odbc PROPERTIES DEFINE_SYMBOL "DUCKDB_ODBC_API") - target_link_libraries(duckdb_odbc ${LINK_LIB_LIST} duckdb_static) - -+install( -+ TARGETS duckdb_odbc -+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} -+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} -+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} -+ PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} -+) -+ - if(NOT WIN32 AND NOT CLANG_TIDY) - add_subdirectory(test) - endif() -diff --git a/tools/sqlite3_api_wrapper/CMakeLists.txt b/tools/sqlite3_api_wrapper/CMakeLists.txt -index d46c676..93a1875 100644 ---- a/tools/sqlite3_api_wrapper/CMakeLists.txt -+++ b/tools/sqlite3_api_wrapper/CMakeLists.txt -@@ -19,7 +19,7 @@ if(NOT AMALGAMATION_BUILD) - endif() - link_threads(sqlite3_api_wrapper_static) - --if(NOT WIN32) -+if(BUILD_SHARED_LIBS AND NOT WIN32) - add_library(sqlite3_api_wrapper SHARED ${SQLITE_API_WRAPPER_FILES}) - target_link_libraries(sqlite3_api_wrapper duckdb ${DUCKDB_EXTRA_LINK_FLAGS}) - link_threads(sqlite3_api_wrapper) diff --git a/recipes/duckdb/all/patches/0.8.1-0001-fix-cmake.patch b/recipes/duckdb/all/patches/0.8.1-0001-fix-cmake.patch deleted file mode 100644 index 5cd9417ef53c9..0000000000000 --- a/recipes/duckdb/all/patches/0.8.1-0001-fix-cmake.patch +++ /dev/null @@ -1,87 +0,0 @@ -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index 0200c15..008c20e 100644 ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -75,24 +75,26 @@ else() - duckdb_fastpforlib - duckdb_mbedtls) - -+ if(BUILD_SHARED_LIBS) - add_library(duckdb SHARED ${ALL_OBJECT_FILES}) - target_link_libraries(duckdb ${DUCKDB_LINK_LIBS}) - link_threads(duckdb) - link_extension_libraries(duckdb) -- -+ else() - add_library(duckdb_static STATIC ${ALL_OBJECT_FILES}) - target_link_libraries(duckdb_static ${DUCKDB_LINK_LIBS}) - link_threads(duckdb_static) - link_extension_libraries(duckdb_static) -- -+ endif() -+ if(BUILD_SHARED_LIBS) - target_include_directories( - duckdb PUBLIC $ - $) -- -+ else() - target_include_directories( - duckdb_static PUBLIC $ - $) -- -+ endif() - install( - DIRECTORY "${PROJECT_SOURCE_DIR}/src/include/duckdb" - DESTINATION "${INSTALL_INCLUDE_DIR}" -@@ -104,9 +106,18 @@ else() - - endif() - -+if(BUILD_SHARED_LIBS) - install( -- TARGETS duckdb duckdb_static -+ TARGETS duckdb - EXPORT "${DUCKDB_EXPORT_SET}" - LIBRARY DESTINATION "${INSTALL_LIB_DIR}" - ARCHIVE DESTINATION "${INSTALL_LIB_DIR}" - RUNTIME DESTINATION "${INSTALL_BIN_DIR}") -+else() -+install( -+ TARGETS duckdb_static -+ EXPORT "${DUCKDB_EXPORT_SET}" -+ LIBRARY DESTINATION "${INSTALL_LIB_DIR}" -+ ARCHIVE DESTINATION "${INSTALL_LIB_DIR}" -+ RUNTIME DESTINATION "${INSTALL_BIN_DIR}") -+endif() -diff --git a/tools/odbc/CMakeLists.txt b/tools/odbc/CMakeLists.txt -index 8f13cfe..6755894 100644 ---- a/tools/odbc/CMakeLists.txt -+++ b/tools/odbc/CMakeLists.txt -@@ -53,6 +53,14 @@ add_library( - set_target_properties(duckdb_odbc PROPERTIES DEFINE_SYMBOL "DUCKDB_ODBC_API") - target_link_libraries(duckdb_odbc ${LINK_LIB_LIST} duckdb_static) - -+install( -+ TARGETS duckdb_odbc -+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} -+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} -+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} -+ PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} -+) -+ - if(NOT WIN32 AND NOT CLANG_TIDY) - add_subdirectory(test) - endif() -diff --git a/tools/sqlite3_api_wrapper/CMakeLists.txt b/tools/sqlite3_api_wrapper/CMakeLists.txt -index 84ac539..f5597a4 100644 ---- a/tools/sqlite3_api_wrapper/CMakeLists.txt -+++ b/tools/sqlite3_api_wrapper/CMakeLists.txt -@@ -26,7 +26,7 @@ if(NOT AMALGAMATION_BUILD) - endif() - link_threads(sqlite3_api_wrapper_static) - --if(NOT WIN32) -+if(BUILD_SHARED_LIBS AND NOT WIN32) - add_library(sqlite3_api_wrapper SHARED ${SQLITE_API_WRAPPER_FILES}) - target_link_libraries(sqlite3_api_wrapper duckdb ${DUCKDB_EXTRA_LINK_FLAGS}) - link_threads(sqlite3_api_wrapper) diff --git a/recipes/duckdb/all/patches/1.1.1-0001-fix-cmake.patch b/recipes/duckdb/all/patches/1.1.1-0001-fix-cmake.patch new file mode 100644 index 0000000000000..426c745da3cdf --- /dev/null +++ b/recipes/duckdb/all/patches/1.1.1-0001-fix-cmake.patch @@ -0,0 +1,110 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 5c2503e..f7ab0e8 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -892,12 +892,12 @@ function(build_loadable_extension_directory NAME ABI_TYPE OUTPUT_DIRECTORY EXTEN + set(FOOTER_VERSION_VALUE ${CAPI_VERSION}) + endif() + +- add_custom_command( +- TARGET ${TARGET_NAME} +- POST_BUILD +- COMMAND +- ${CMAKE_COMMAND} -DABI_TYPE=${ABI_TYPE} -DEXTENSION=$${EXTENSION_POSTFIX} -DPLATFORM_FILE=${DuckDB_BINARY_DIR}/duckdb_platform_out -DVERSION_FIELD="${FOOTER_VERSION_VALUE}" -DEXTENSION_VERSION="${EXTENSION_VERSION}" -DNULL_FILE=${DUCKDB_MODULE_BASE_DIR}/scripts/null.txt -P ${DUCKDB_MODULE_BASE_DIR}/scripts/append_metadata.cmake +- ) ++ # add_custom_command( ++ # TARGET ${TARGET_NAME} ++ # POST_BUILD ++ # COMMAND ++ # ${CMAKE_COMMAND} -DABI_TYPE=${ABI_TYPE} -DEXTENSION=$${EXTENSION_POSTFIX} -DPLATFORM_FILE=${DuckDB_BINARY_DIR}/duckdb_platform_out -DVERSION_FIELD="${FOOTER_VERSION_VALUE}" -DEXTENSION_VERSION="${EXTENSION_VERSION}" -DNULL_FILE=${DUCKDB_MODULE_BASE_DIR}/scripts/null.txt -P ${DUCKDB_MODULE_BASE_DIR}/scripts/append_metadata.cmake ++ # ) + add_dependencies(${TARGET_NAME} duckdb_platform) + if (NOT EXTENSION_CONFIG_BUILD AND NOT ${EXTENSION_TESTS_ONLY} AND NOT CLANG_TIDY) + add_dependencies(duckdb_local_extension_repo ${TARGET_NAME}) +@@ -927,7 +927,7 @@ function(build_static_extension NAME PARAMETERS) + set(FILES "${ARGV}") + list(REMOVE_AT FILES 0) + add_library(${NAME}_extension STATIC ${FILES}) +- target_link_libraries(${NAME}_extension duckdb_static) ++ # target_link_libraries(${NAME}_extension duckdb_static) + endfunction() + + # Internal extension register function +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 3e757a4..957f0e4 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -109,7 +109,7 @@ else() + duckdb_skiplistlib + duckdb_mbedtls + duckdb_yyjson) +- ++ if(BUILD_SHARED_LIBS) + add_library(duckdb SHARED ${ALL_OBJECT_FILES}) + + if(WIN32 AND NOT MINGW) +@@ -135,16 +135,16 @@ else() + target_link_libraries(duckdb ${DUCKDB_LINK_LIBS}) + link_threads(duckdb) + link_extension_libraries(duckdb) +- ++ endif() + add_library(duckdb_static STATIC ${ALL_OBJECT_FILES}) + target_link_libraries(duckdb_static ${DUCKDB_LINK_LIBS}) + link_threads(duckdb_static) + link_extension_libraries(duckdb_static) +- ++ if(BUILD_SHARED_LIBS) + target_include_directories( + duckdb PUBLIC $ + $) +- ++ endif() + target_include_directories( + duckdb_static PUBLIC $ + $) +@@ -160,10 +160,18 @@ else() + DESTINATION "${INSTALL_INCLUDE_DIR}") + + endif() +- ++if(BUILD_SHARED_LIBS) + install( +- TARGETS duckdb duckdb_static ++ TARGETS duckdb + EXPORT "${DUCKDB_EXPORT_SET}" + LIBRARY DESTINATION "${INSTALL_LIB_DIR}" + ARCHIVE DESTINATION "${INSTALL_LIB_DIR}" + RUNTIME DESTINATION "${INSTALL_BIN_DIR}") ++else() ++install( ++ TARGETS duckdb_static ++ EXPORT "${DUCKDB_EXPORT_SET}" ++ LIBRARY DESTINATION "${INSTALL_LIB_DIR}" ++ ARCHIVE DESTINATION "${INSTALL_LIB_DIR}" ++ RUNTIME DESTINATION "${INSTALL_BIN_DIR}") ++endif() +diff --git a/tools/sqlite3_api_wrapper/CMakeLists.txt b/tools/sqlite3_api_wrapper/CMakeLists.txt +index e29c33e..9e387f9 100644 +--- a/tools/sqlite3_api_wrapper/CMakeLists.txt ++++ b/tools/sqlite3_api_wrapper/CMakeLists.txt +@@ -26,12 +26,12 @@ if(NOT AMALGAMATION_BUILD) + endif() + link_threads(sqlite3_api_wrapper_static) + +-if(NOT WIN32 AND NOT ZOS) ++if(BUILD_SHARED_LIBS AND NOT WIN32 AND NOT ZOS) + add_library(sqlite3_api_wrapper SHARED ${SQLITE_API_WRAPPER_FILES}) + target_link_libraries(sqlite3_api_wrapper duckdb ${DUCKDB_EXTRA_LINK_FLAGS}) + link_threads(sqlite3_api_wrapper) + endif() +- ++if(0) + include_directories(../../third_party/catch) + + include_directories(test/include) +@@ -43,3 +43,4 @@ if(WIN32 OR ZOS) + else() + target_link_libraries(test_sqlite3_api_wrapper sqlite3_api_wrapper) + endif() ++endif() diff --git a/recipes/duckdb/all/patches/1.1.1-0002-msvc-bicobj.patch b/recipes/duckdb/all/patches/1.1.1-0002-msvc-bicobj.patch new file mode 100644 index 0000000000000..b8385d1df35d3 --- /dev/null +++ b/recipes/duckdb/all/patches/1.1.1-0002-msvc-bicobj.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index f7ab0e8..a00353d 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -570,7 +570,7 @@ if(NOT MSVC) + endif() + else() + set(CMAKE_CXX_WINDOWS_FLAGS +- "/wd4244 /wd4267 /wd4200 /wd26451 /wd26495 /D_CRT_SECURE_NO_WARNINGS /utf-8") ++ "/wd4244 /wd4267 /wd4200 /wd26451 /wd26495 /D_CRT_SECURE_NO_WARNINGS /utf-8 /bigobj") + if(TREAT_WARNINGS_AS_ERRORS) + set(CMAKE_CXX_WINDOWS_FLAGS "${CMAKE_CXX_WINDOWS_FLAGS} /WX") + endif() diff --git a/recipes/duckdb/config.yml b/recipes/duckdb/config.yml index f79e88a559bee..24e004a55cb97 100644 --- a/recipes/duckdb/config.yml +++ b/recipes/duckdb/config.yml @@ -1,4 +1,6 @@ versions: + "1.1.1": + folder: "all" "1.1.0": folder: "all" "1.0.0": @@ -11,15 +13,3 @@ versions: folder: "all" "0.9.0": folder: "all" - "0.8.1": - folder: "all" - "0.8.0": - folder: "all" - "0.7.1": - folder: "all" - "0.6.1": - folder: "all" - "0.6.0": - folder: "all" - "0.5.1": - folder: "all" From 5cfa6c8c8373dc891ecfd26a5c7d59ff2f91e67d Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 26 Sep 2024 21:12:22 +0900 Subject: [PATCH 634/641] (#25417) plutovg: add version 0.0.6 --- recipes/plutovg/all/conandata.yml | 3 +++ recipes/plutovg/all/test_package/test_package.c | 16 ++-------------- recipes/plutovg/config.yml | 2 ++ 3 files changed, 7 insertions(+), 14 deletions(-) diff --git a/recipes/plutovg/all/conandata.yml b/recipes/plutovg/all/conandata.yml index fcd677e83a683..df735854ecc54 100644 --- a/recipes/plutovg/all/conandata.yml +++ b/recipes/plutovg/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.0.6": + url: "https://github.com/sammycage/plutovg/archive/refs/tags/v0.0.6.tar.gz" + sha256: "3be0e0d94ade3e739f60ac075c88c2e40d84a0ac05fc3ff8c7c97d0749e9a82b" "0.0.5": url: "https://github.com/sammycage/plutovg/archive/refs/tags/v0.0.5.tar.gz" sha256: "bcc4301f1591d8b4172b7ca086fb9a2b250727848f5f30af4c625f043512ce10" diff --git a/recipes/plutovg/all/test_package/test_package.c b/recipes/plutovg/all/test_package/test_package.c index 50be3a04fdea9..e73c320347491 100644 --- a/recipes/plutovg/all/test_package/test_package.c +++ b/recipes/plutovg/all/test_package/test_package.c @@ -1,26 +1,14 @@ #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_canvas_t* canvas = plutovg_canvas_create(surface); - 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/config.yml b/recipes/plutovg/config.yml index ff0ca6ee5ae38..a364712617f78 100644 --- a/recipes/plutovg/config.yml +++ b/recipes/plutovg/config.yml @@ -1,4 +1,6 @@ versions: + "0.0.6": + folder: all "0.0.5": folder: all "0.0.4": From b319d7ec34cfa1cc7e2840e8f53fd9a9bd665f30 Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 27 Sep 2024 00:13:59 +0900 Subject: [PATCH 635/641] (#25426) wolfssl: add version 5.7.2 * wolfssl: add version 5.7.2 * adding cmake/3.22 --------- Co-authored-by: Ernesto de Gracia Herranz --- recipes/wolfssl/all/conandata.yml | 3 +++ recipes/wolfssl/all/conanfile.py | 13 ++++++++++--- recipes/wolfssl/config.yml | 2 ++ 3 files changed, 15 insertions(+), 3 deletions(-) diff --git a/recipes/wolfssl/all/conandata.yml b/recipes/wolfssl/all/conandata.yml index df40064b3c0f9..ac2d8b39c2b06 100644 --- a/recipes/wolfssl/all/conandata.yml +++ b/recipes/wolfssl/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "5.7.2": + url: "https://github.com/wolfSSL/wolfssl/archive/v5.7.2-stable.tar.gz" + sha256: "0f2ed82e345b833242705bbc4b08a2a2037a33f7bf9c610efae6464f6b10e305" "5.7.0": url: "https://github.com/wolfSSL/wolfssl/archive/v5.7.0-stable.tar.gz" sha256: "2de93e8af588ee856fe67a6d7fce23fc1b226b74d710b0e3946bc8061f6aa18f" diff --git a/recipes/wolfssl/all/conanfile.py b/recipes/wolfssl/all/conanfile.py index af1ac29b52447..71b7470fcdfeb 100644 --- a/recipes/wolfssl/all/conanfile.py +++ b/recipes/wolfssl/all/conanfile.py @@ -14,13 +14,13 @@ class WolfSSLConan(ConanFile): name = "wolfssl" - license = "GPL-2.0-or-later" - url = "https://github.com/conan-io/conan-center-index" - homepage = "https://www.wolfssl.com/" description = ( "wolfSSL (formerly CyaSSL) is a small, fast, portable implementation " "of TLS/SSL for embedded devices to the cloud." ) + license = "GPL-2.0-or-later" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://www.wolfssl.com/" topics = ("wolfssl", "tls", "ssl", "iot", "fips", "secure", "cryptology", "secret") package_type = "library" settings = "os", "arch", "compiler", "build_type" @@ -42,6 +42,7 @@ class WolfSSLConan(ConanFile): "with_curl": [True, False], "with_quic": [True, False], "with_experimental": [True, False], + "with_rpk": [True, False], } default_options = { "shared": False, @@ -61,6 +62,7 @@ class WolfSSLConan(ConanFile): "with_curl": False, "with_quic": False, "with_experimental": False, + "with_rpk": False, } @property @@ -76,6 +78,8 @@ def config_options(self): del self.options.with_quic if Version(self.version) < "5.7.0": del self.options.with_experimental + if Version(self.version) < "5.7.2": + del self.options.with_rpk def configure(self): if self.options.shared: @@ -92,6 +96,7 @@ def validate(self): def build_requirements(self): self.tool_requires("libtool/2.4.7") + self.tool_requires("cmake/[>=3.22 <4]") if self._settings_build.os == "Windows": self.win_bash = True if not self.conf.get("tools.microsoft.bash:path", check_type=str): @@ -132,6 +137,8 @@ def generate(self): tc.configure_args.append("--enable-quic") if self.options.get_safe("with_experimental"): tc.configure_args.append("--enable-experimental") + if self.options.get_safe("with_rpk"): + tc.configure_args.append("--enable-rpk") if is_msvc(self): tc.extra_ldflags.append("-ladvapi32") if check_min_vs(self, "180", raise_invalid=False): diff --git a/recipes/wolfssl/config.yml b/recipes/wolfssl/config.yml index 336a121cbb73d..0734e5e20ba48 100644 --- a/recipes/wolfssl/config.yml +++ b/recipes/wolfssl/config.yml @@ -1,4 +1,6 @@ versions: + "5.7.2": + folder: all "5.7.0": folder: all "5.6.6": From 0553991edc607881027b4c2e693523cbca23defb Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 27 Sep 2024 00:52:26 +0900 Subject: [PATCH 636/641] (#25407) libuv: add version 1.49.0 Co-authored-by: Ernesto de Gracia Herranz --- recipes/libuv/all/conandata.yml | 7 ++ .../libuv/all/patches/1.49.0/fix-cmake.patch | 67 +++++++++++++++++++ recipes/libuv/config.yml | 2 + 3 files changed, 76 insertions(+) create mode 100644 recipes/libuv/all/patches/1.49.0/fix-cmake.patch diff --git a/recipes/libuv/all/conandata.yml b/recipes/libuv/all/conandata.yml index 578b3b599b79b..68511e927198c 100644 --- a/recipes/libuv/all/conandata.yml +++ b/recipes/libuv/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.49.0": + url: "https://github.com/libuv/libuv/archive/v1.49.0.tar.gz" + sha256: "a10656a0865e2cff7a1b523fa47d0f5a9c65be963157301f814d1cc5dbd4dc1d" "1.48.0": url: "https://github.com/libuv/libuv/archive/v1.48.0.tar.gz" sha256: "8c253adb0f800926a6cbd1c6576abae0bc8eb86a4f891049b72f9e5b7dc58f33" @@ -30,6 +33,10 @@ sources: url: "https://github.com/libuv/libuv/archive/v1.41.0.zip" sha256: "cb89a8b9f686c5ccf7ed09a9e0ece151a73ebebc17af3813159c335b02181794" patches: + "1.49.0": + - patch_file: "patches/1.49.0/fix-cmake.patch" + patch_description: "separate shared and static library build" + patch_type: "conan" "1.48.0": - patch_file: "patches/1.48.0/fix-cmake.patch" patch_description: "separate shared and static library build" diff --git a/recipes/libuv/all/patches/1.49.0/fix-cmake.patch b/recipes/libuv/all/patches/1.49.0/fix-cmake.patch new file mode 100644 index 0000000000000..6d9a35e21bcd5 --- /dev/null +++ b/recipes/libuv/all/patches/1.49.0/fix-cmake.patch @@ -0,0 +1,67 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 28c6df2..608d0f7 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -471,7 +471,7 @@ if(LIBUV_BUILD_SHARED) + endif() + target_link_libraries(uv ${uv_libraries}) + set_target_properties(uv PROPERTIES OUTPUT_NAME "uv") +-endif() ++else() + + add_library(uv_a STATIC ${uv_sources}) + target_compile_definitions(uv_a PRIVATE ${uv_defines}) +@@ -491,7 +491,7 @@ set_target_properties(uv_a PROPERTIES OUTPUT_NAME "uv") + if(WIN32) + set_target_properties(uv_a PROPERTIES PREFIX "lib") + endif() +- ++endif() + if(LIBUV_BUILD_TESTS) + # Small hack: use ${uv_test_sources} now to get the runner skeleton, + # before the actual tests are added. +@@ -759,18 +759,18 @@ set(UV_VERSION_MAJOR "${CMAKE_MATCH_1}") + set(includedir ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_INCLUDEDIR}) + set(libdir ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}) + set(prefix ${CMAKE_INSTALL_PREFIX}) +-configure_file(libuv-static.pc.in libuv-static.pc @ONLY) ++# configure_file(libuv-static.pc.in libuv-static.pc @ONLY) + + install(DIRECTORY include/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) + install(FILES LICENSE DESTINATION ${CMAKE_INSTALL_DOCDIR}) + install(FILES LICENSE-extra DESTINATION ${CMAKE_INSTALL_DOCDIR}) +-install(FILES ${PROJECT_BINARY_DIR}/libuv-static.pc +- DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig) +-install(TARGETS uv_a EXPORT libuvConfig +- ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) +-install(EXPORT libuvConfig +- DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/libuv +- NAMESPACE libuv::) ++# install(FILES ${PROJECT_BINARY_DIR}/libuv-static.pc ++# DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig) ++# install(TARGETS uv_a EXPORT libuvConfig ++# ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) ++# install(EXPORT libuvConfig ++# DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/libuv ++# NAMESPACE libuv::) + + if(LIBUV_BUILD_SHARED) + # The version in the filename is mirroring the behaviour of autotools. +@@ -784,8 +784,16 @@ if(LIBUV_BUILD_SHARED) + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) ++else() ++ configure_file(libuv-static.pc.in libuv-static.pc @ONLY) ++ install(FILES ${PROJECT_BINARY_DIR}/libuv-static.pc ++ DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig) ++ install(TARGETS uv_a EXPORT libuvConfig ++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) ++ install(EXPORT libuvConfig ++ DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/libuv ++ NAMESPACE libuv::) + endif() +- + if(MSVC) + set(CMAKE_DEBUG_POSTFIX d) + get_filename_component(CMAKE_C_COMPILER_DIR ${CMAKE_C_COMPILER} DIRECTORY) diff --git a/recipes/libuv/config.yml b/recipes/libuv/config.yml index 55c98b3fd5a25..4364d20d0c65d 100644 --- a/recipes/libuv/config.yml +++ b/recipes/libuv/config.yml @@ -1,4 +1,6 @@ versions: + "1.49.0": + folder: all "1.48.0": folder: all "1.47.0": From a005c200a530dd07c3d9f44f789f27d6b6c39c3f Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Fri, 27 Sep 2024 09:47:35 +0300 Subject: [PATCH 637/641] (#23383) libpcap: add support for dbus, libnl and rdma * libpcap: add support for dbus, libnl and rdma * libpcap: dbus:with_glib=True is not required * libpcap: update rdma-core * Add PkgConfigDeps Signed-off-by: Uilian Ries * Use official libnl pc files Signed-off-by: Uilian Ries --------- Signed-off-by: Uilian Ries Co-authored-by: Uilian Ries --- recipes/libpcap/all/conanfile.py | 48 ++++++++++++++++++++++---------- 1 file changed, 34 insertions(+), 14 deletions(-) diff --git a/recipes/libpcap/all/conanfile.py b/recipes/libpcap/all/conanfile.py index 10fbd7a3b7b60..1cbe6a152dae8 100644 --- a/recipes/libpcap/all/conanfile.py +++ b/recipes/libpcap/all/conanfile.py @@ -5,7 +5,7 @@ from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout from conan.tools.env import VirtualBuildEnv, VirtualRunEnv from conan.tools.files import chdir, copy, get, rm, rmdir -from conan.tools.gnu import Autotools, AutotoolsDeps, AutotoolsToolchain +from conan.tools.gnu import Autotools, AutotoolsDeps, AutotoolsToolchain, PkgConfigDeps from conan.tools.layout import basic_layout from conan.tools.microsoft import is_msvc, is_msvc_static_runtime from conan.tools.scm import Version @@ -28,21 +28,22 @@ class LibPcapConan(ConanFile): options = { "shared": [True, False], "fPIC": [True, False], + "enable_dbus": [True, False], + "enable_libnl": [True, False], "enable_libusb": [True, False], + "enable_rdma": [True, False], "with_snf": [True, False], } default_options = { "shared": False, "fPIC": True, + "enable_dbus": False, + "enable_libnl": False, "enable_libusb": False, + "enable_rdma": False, "with_snf": False, } - # TODO: Add dbus-glib when available - # TODO: Add libnl-genl when available - # TODO: Add libbluetooth when available - # TODO: Add libibverbs when available - @property def _settings_build(self): return getattr(self, "settings_build", self.settings) @@ -52,6 +53,8 @@ def config_options(self): del self.options.fPIC if self.settings.os != "Linux": del self.options.enable_libusb + del self.options.enable_libnl + del self.options.enable_rdma def configure(self): if self.options.shared: @@ -68,6 +71,13 @@ def layout(self): def requirements(self): if self.options.get_safe("enable_libusb"): self.requires("libusb/1.0.26") + if self.options.get_safe("enable_libnl"): + self.requires("libnl/3.8.0") + if self.options.get_safe("enable_rdma"): + self.requires("rdma-core/52.0") + if self.options.get_safe("enable_dbus"): + self.requires("dbus/1.15.8") + # TODO: Add libbluetooth when available def validate(self): if Version(self.version) < "1.10.0" and self.settings.os == "Macos" and self.options.shared: @@ -80,7 +90,7 @@ def validate(self): def build_requirements(self): if self._settings_build.os == "Windows": - self.tool_requires("winflexbison/2.5.24") + self.tool_requires("winflexbison/2.5.25") else: self.tool_requires("bison/3.8.2") self.tool_requires("flex/2.6.4") @@ -109,16 +119,16 @@ def generate(self): tc = AutotoolsToolchain(self) yes_no = lambda v: "yes" if v else "no" tc.configure_args.extend([ - f"--enable-usb={yes_no(self.options.get_safe('enable_libusb'))}", - "--disable-universal", - "--without-libnl", + "--disable-universal", # don't build universal binaries on macOS + "--enable-usb" if self.options.get_safe("enable_libusb") else "--disable-usb", + "--enable-dbus" if self.options.get_safe("enable_dbus") else "--disable-dbus", + "--enable-rdma" if self.options.get_safe("enable_rdma") else "--disable-rdma", + "--with-libnl" if self.options.get_safe("enable_libnl") else "--without-libnl", "--disable-bluetooth", - "--disable-packet-ring", - "--disable-dbus", - "--disable-rdma", f"--with-snf={yes_no(self.options.get_safe('with_snf'))}", ]) - + if Version(self.version) < "1.10": + tc.configure_args.append("--disable-packet-ring") if cross_building(self): target_os = "linux" if self.settings.os == "Linux" else "null" tc.configure_args.append(f"--with-pcap={target_os}") @@ -127,6 +137,8 @@ def generate(self): tc.generate() AutotoolsDeps(self).generate() + deps = PkgConfigDeps(self) + deps.generate() def build(self): if self.settings.os == "Windows": @@ -175,5 +187,13 @@ def package_info(self): self.cpp_info.libs = [f"pcap{suffix}"] if self.settings.os == "Windows": self.cpp_info.system_libs = ["ws2_32"] + if self.options.get_safe("enable_libusb"): + self.cpp_info.requires.append("libusb::libusb") + if self.options.get_safe("enable_libnl"): + self.cpp_info.requires.append("libnl::nl-genl") + if self.options.get_safe("enable_rdma"): + self.cpp_info.requires.append("rdma-core::libibverbs") + if self.options.get_safe("enable_dbus"): + self.cpp_info.requires.append("dbus::dbus") if self.options.get_safe("with_snf"): self.cpp_info.system_libs.append("snf") From b251c25e0a23a1ad004bec07018b352c8b5c9e98 Mon Sep 17 00:00:00 2001 From: choll Date: Fri, 27 Sep 2024 18:12:07 +0100 Subject: [PATCH 638/641] (#25429) xtr: bump to 2.1.2 --- recipes/xtr/all/conandata.yml | 3 +++ recipes/xtr/all/conanfile.py | 11 ++++++----- recipes/xtr/config.yml | 2 ++ 3 files changed, 11 insertions(+), 5 deletions(-) diff --git a/recipes/xtr/all/conandata.yml b/recipes/xtr/all/conandata.yml index 2ce24b56ad5da..36f7c0c7ec615 100644 --- a/recipes/xtr/all/conandata.yml +++ b/recipes/xtr/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.1.2": + url: "https://github.com/choll/xtr/archive/refs/tags/2.1.2.tar.gz" + sha256: "81ff3511e877db68882d01be9e521d317c8222838b0793e48cfd631f405bb3e8" "2.1.1": url: "https://github.com/choll/xtr/archive/refs/tags/2.1.1.tar.gz" sha256: "dbd8d1fbb5308329fe21bbe704206e2e69a5d49696959d43a2504ea1bec00140" diff --git a/recipes/xtr/all/conanfile.py b/recipes/xtr/all/conanfile.py index 267bd2a3780a0..d298982bf4d46 100644 --- a/recipes/xtr/all/conanfile.py +++ b/recipes/xtr/all/conanfile.py @@ -133,11 +133,12 @@ def _patch_sources(self): "find_package(liburing REQUIRED NO_DEFAULT_PATH PATHS ${CMAKE_PREFIX_PATH})" if self.options.get_safe("enable_io_uring") else "") - # Non-single header installation is broken as of 2.1.0 - # https://github.com/choll/xtr/pull/4 - replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), - " PUBLIC_HEADER DESTINATION include)", - ")\ninstall(DIRECTORY ${CMAKE_SOURCE_DIR}/include/ DESTINATION include)") + if Version(self.version) < "2.1.2": + # Non-single header installation is broken until 2.1.2 + # https://github.com/choll/xtr/pull/4 + replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), + " PUBLIC_HEADER DESTINATION include)", + ")\ninstall(DIRECTORY ${CMAKE_SOURCE_DIR}/include/ DESTINATION include)") def build(self): self._patch_sources() diff --git a/recipes/xtr/config.yml b/recipes/xtr/config.yml index 06db99424bd4b..6712968772b74 100644 --- a/recipes/xtr/config.yml +++ b/recipes/xtr/config.yml @@ -1,4 +1,6 @@ versions: + "2.1.2": + folder: all "2.1.1": folder: all "2.1.0": From 52a72ee07b665757008fd2900e88e1203f40d8ce Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 28 Sep 2024 02:31:30 +0900 Subject: [PATCH 639/641] (#25430) octo-logger-cpp: add version 2.0.2 --- 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 47b30faf7d121..53870c1a77092 100644 --- a/recipes/octo-logger-cpp/all/conandata.yml +++ b/recipes/octo-logger-cpp/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.0.2": + url: "https://github.com/ofiriluz/octo-logger-cpp/archive/v2.0.2.tar.gz" + sha256: "6aa8ee80a7f7b84df55fa215f22cdf66cbeece8cc60b2097828795194a1e6a40" "2.0.0": url: "https://github.com/ofiriluz/octo-logger-cpp/archive/v2.0.0.tar.gz" sha256: "2edad6d1cba27019f1f26e562d9d8ff8395fc9ada1e8fb0c226c603ec5e0ed15" diff --git a/recipes/octo-logger-cpp/config.yml b/recipes/octo-logger-cpp/config.yml index d8ff67e582f8b..b32cb8eed1983 100644 --- a/recipes/octo-logger-cpp/config.yml +++ b/recipes/octo-logger-cpp/config.yml @@ -1,4 +1,6 @@ versions: + "2.0.2": + folder: "all" "2.0.0": folder: "all" "1.12.0": From ace54b7bdb2a14c46cdcf332298171e9e507df9a Mon Sep 17 00:00:00 2001 From: Bryce Cahill Date: Sat, 28 Sep 2024 19:43:17 +1200 Subject: [PATCH 640/641] (#19726) PCRE2: Explicitly specify cmake c standard see: https://github.com/PCRE2Project/pcre2/pull/193 --- recipes/pcre2/all/conandata.yml | 9 ++++ .../all/patches/0002-fix-cmake-c-std.patch | 52 +++++++++++++++++++ 2 files changed, 61 insertions(+) create mode 100644 recipes/pcre2/all/patches/0002-fix-cmake-c-std.patch diff --git a/recipes/pcre2/all/conandata.yml b/recipes/pcre2/all/conandata.yml index e8c76deba6361..a7d2c38f2c564 100644 --- a/recipes/pcre2/all/conandata.yml +++ b/recipes/pcre2/all/conandata.yml @@ -40,11 +40,20 @@ sources: - "https://sourceforge.net/projects/pcre/files/pcre2/10.32/pcre2-10.32.tar.bz2" sha256: "f29e89cc5de813f45786580101aaee3984a65818631d4ddbda7b32f699b87c2e" patches: + "10.42": + - patch_file: "patches/0002-fix-cmake-c-std.patch" + patch_description: "make the C99 requirement explicit" + patch_type: "conan" + patch_source: "https://github.com/PCRE2Project/pcre2/pull/193" "10.40": - patch_file: "patches/0001-fix-cmake-1.39.patch" patch_description: "correct the order of cmake_minimum_required() and project()" patch_type: "conan" patch_source: "https://github.com/PCRE2Project/pcre2/pull/142" + - patch_file: "patches/0002-fix-cmake-c-std.patch" + patch_description: "make the C99 requirement explicit" + patch_type: "conan" + patch_source: "https://github.com/PCRE2Project/pcre2/pull/193" "10.39": - patch_file: "patches/0001-fix-cmake-1.39.patch" patch_description: "correct the order of cmake_minimum_required() and project()" diff --git a/recipes/pcre2/all/patches/0002-fix-cmake-c-std.patch b/recipes/pcre2/all/patches/0002-fix-cmake-c-std.patch new file mode 100644 index 0000000000000..e75faef54f312 --- /dev/null +++ b/recipes/pcre2/all/patches/0002-fix-cmake-c-std.patch @@ -0,0 +1,52 @@ +From 12b0e40ee4556318e5a0da3155f28bdfd7c5bc35 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Carlo=20Marcelo=20Arenas=20Bel=C3=B3n?= +Date: Sun, 15 Jan 2023 14:38:44 -0800 +Subject: [PATCH] build: make the C99 requirement explicit + +Recent code uses C99 syntax (as reported in #163, and therefore it +will fail to build unless C99 (or higher) support is required by the +compiler (gcc >= 5 does it by default). + +For those unfortunate to need an older compiler that does require a +flag to enable that, make sure that both autoconf and cmake make it +explicit. + +While testing the change with the ancient autoconf version listed as +a prerequisite, noticed that the LT_INIT syntax introduced with 91485e5 +(Update configure.ac for latest version of autoconf., 2021-02-02), was +not supported, so update the autoconf minimum as well. +--- + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index cec7dfb4..a8147575 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -107,1 +107,3 @@ + PROJECT(PCRE2 C) ++set(CMAKE_C_STANDARD 99) ++set(CMAKE_C_STANDARD_REQUIRED TRUE) + + # Set policy CMP0026 to avoid warnings for the use of LOCATION in + # GET_TARGET_PROPERTY. This should no longer be required. +diff --git a/configure.ac b/configure.ac +index ce5bda3c..67b2fdce 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -22,7 +22,7 @@ m4_define(libpcre2_posix_version, [3:4:0]) + # NOTE: The CMakeLists.txt file searches for the above variables in the first + # 50 lines of this file. Please update that if the variables above are moved. + +-AC_PREREQ([2.60]) ++AC_PREREQ([2.62]) + AC_INIT([PCRE2],pcre2_major.pcre2_minor[]pcre2_prerelease,[],[pcre2]) + AC_CONFIG_SRCDIR([src/pcre2.h.in]) + AM_INIT_AUTOMAKE([dist-bzip2 dist-zip]) +@@ -42,7 +42,7 @@ AC_CONFIG_MACRO_DIR([m4]) + + remember_set_CFLAGS="$CFLAGS" + +-AC_PROG_CC ++m4_version_prereq(2.70, [AC_PROG_CC], [AC_PROG_CC_C99]) + AM_PROG_CC_C_O + AC_USE_SYSTEM_EXTENSIONS + From 56bea59d8eedf2920d401ed351e7a8fe55ebbb53 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Abril=20Rinc=C3=B3n=20Blanco?= Date: Mon, 30 Sep 2024 10:42:51 +0200 Subject: [PATCH 641/641] (#25442) daw_json: Bring daw_json and daw_regex in line with their respective daw_headers * Bring daw_json and daw_regex in line with their respective daw_headers * Add comment --- recipes/daw_json_link/all/conandata.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/recipes/daw_json_link/all/conandata.yml b/recipes/daw_json_link/all/conandata.yml index 35b1b14775dc9..e887ba5398a90 100644 --- a/recipes/daw_json_link/all/conandata.yml +++ b/recipes/daw_json_link/all/conandata.yml @@ -26,8 +26,9 @@ sources: "3.15.0": url: "https://github.com/beached/daw_json_link/archive/refs/tags/v3.15.0.tar.gz" sha256: "6f72c69944e33f56823d941b09c8d17ece44b224e802ae0a3416c32f2bdbec40" +# When updating this, ensure that the versions are consistent across the rest of the daw libraries daw_headers_mapping: - "3.24.1": "2.106.0" + "3.24.1": "2.110.0" "3.23.2": "2.101.0" "3.23.0": "2.97.0" "3.20.1": "2.97.0"